説明

ヘッドのサーボ制御システム及びヘッドのサーボ制御方法

【課題】複数のアダプティブ・ピーク・フィルタを有するヘッドのサーボ制御システムにおいて、他の処理への影響を小さくしつつ各アダプティブ・ピーク・フィルタの外部振動への適応化を効果的に行う。
【解決手段】本実施形態のHDDは、そのサーボ制御システム内に複数のアダプティブ・ピーク・フィルタ234a、234bを有している。HDDは、外乱によるヘッド振動のピーク周波数と振幅を推定し、ヘッド振動を抑圧するように複数のアダプティブ・ピーク・フィルタを適応化する。HDDは、複数のアダプティブ・ピーク・フィルタから一部を選択し、その一部のアダプティブ・ピーク・フィルタについて適応化のための処理を行う。これにより、サーボ・サンプリング間におけるラン・タイムを低減して他の処理への影響を避けると共に、各アダプティブ・ピーク・フィルタを外部振動に対して適切に適応させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ヘッドのサーボ制御システム及びヘッドのサーボ制御方法に関し、特に、複数のアダプティブ・ピーク・フィルタの適応化に関する。
【背景技術】
【0002】
ディスク・ドライブとして、光ディスク、光磁気ディスク、あるいはフレキシブル磁気ディスクなどの様々な態様のディスクを使用する装置が知られているが、その中で、ハードディスク・ドライブ(HDD)は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。さらに、コンピュータにとどまらず、動画像記録再生装置、カーナビゲーション・システム、携帯電話、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、HDDの用途は、その優れた特性により益々拡大している。
【0003】
HDDで使用される磁気ディスクは、同心円状に形成された複数のデータ・トラックと、円周方向に離散的に配置された複数のサーボ・セクタとを有している。ユーザ・データは、データ・セクタを単位として記録されており、各サーボ・セクタの間にデータ・セクタが記録されている。揺動するアクチュエータが回転する磁気ディスク上においてヘッド・スライダを移動する。ヘッド・スライダヘッド素子部が、サーボ・セクタが示す位置データに従って所望のデータ・セクタにアクセスすることによって、データ・セクタへのデータ書き込み及びデータ・セクタからのデータ読み出しを行うことができる。
【0004】
サーボ・セクタは予めHDDの製造工程において磁気ディスクに記録される。典型的には、HDDに磁気ディスクが実装された後に、HDDのヘッド及びアクチュエータを機械的もしくはそのVCMを電気的に制御することによって、磁気ディスク上にサーボ・セクタを記録する。磁気ディスクの偏心のため、あるいは、外部振動などの要因によって、サーボ・セクタの書き込みにおいて、あるいはサーボ・セクタが記録された後に、記録されたサーボ・データにおいて理想的な環状トラックからの偏差が発生する。このため、ヘッド素子部がサーボ・セクタから読み出すサーボ・データには、RRO(Repeatable Run-Out)と呼ばれる成分が存在する。
【0005】
RROはサーボ制御に対する外乱として働き、それが大きい場合にはフィードバックによるサーボ制御系がRROに追従することができず、ヘッドのターゲット位置からのずれが許容範囲を超える場合がる。このため、サーボ制御系にピーク・フィルタを挿入し、RRO成分を抑制する技術が一般に知られている。ピーク・フィルタはRRO周波数においてピークを有し、ピーク・フィルタに入力された位置誤差信号(PES)はヘッドのサーボ制御信号(ボイス・コイル・モータの制御信号)に加えられる。
【0006】
RROのように周波数が一定(回転周波数のN倍、N=1、2、3・・・の低い周波数)の外乱による位置誤差は、外乱周波数が予想できるため、ピーク周波数が一定のピーク・フィルタにより効果的に抑制することができる。しかし、HDDの使用環境により、様々な外乱原因が存在する。そのため、HDDの外部から加えられる振動による外乱周波数を予め予想することは一般的には困難である。また、その周波数は時間と共に変化することもある。このような外部振動による外乱の対策の一つとして、ピーク周波数可変のピーク・フィルタを使用する技術が特許文献1に開示されている。この技術は、ピーク・フィルタの出力信号の位相と位置誤差信号の位相とを比較してピーク・フィルタのピーク周波数を変化させ、そのピーク周波数を外乱の周波数に漸近させることで、ヘッドの位置制御系に作用する外乱を抑制する。
【0007】
さらに、ピーク周波数の異なる複数の外乱に対応するため、ピーク周波数可変の複数のピーク・フィルタを実装することが特許文献2に開示されている。この技術も、ピーク・フィルタの出力信号(または内部変数)の位相と位置誤差信号の位相の比較結果に応じて各ピーク・フィルタの周波数を変化させることで、外乱に対するピーク・フィルタ周波数の適応化を行う。
【特許文献1】特開2003−109335号公報
【特許文献2】特開2006−139855号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
上記特許文献に記載されているように、外部振動による共振周波数(ピーク周波数)を推定し、その振動を抑圧するのに適したピーク・フィルタを得ることにより、HDDシステム毎に異なる外部振動による共振を効果的に抑圧することができる。また、複数のピーク・ピーク・フィルタをサーボ・システムに組み込むことで、複数の共振周波数が存在する場合に対応し、正確なヘッド・ポジショニングを実現することができる。
【0009】
しかし、外部振動による共振周波数を推定するための計算量は小さくはない。上記技術において、HDDは位置誤差信号をサーボ・サンプリングのタイミング(サーボ・サンプリング周期)で取得し、その位置誤差振動から外部振動による共振周波数を推定する。さらに、HDDは推定した共振周波数に応じてピーク・フィルタのピーク周波数を変化させる。図15は、サーボ・サンプリング(サーボ・データの読み出し)間におけるMPUの処理を模式的に示している。
【0010】
HDDが一つのピーク・フィルタのみを有している場合、MPUは、読み出したサーボ・データから得られる位置誤差信号により通常のサーボ制御のための演算(SVR)を行い、さらに、ピーク・フィルタの周波数適応化のための演算(APF)を行う。通常のサーボ制御のための演算は、例えば、位置誤差信号によるPID制御のための演算である。MPUは演算結果をハードウェアであるサーボ・アシスト回路とピーク・フィルタにセットし、ハードウェアが、入力された位置誤差信号に従ってアクチュエータを制御する。
【0011】
MPUは、ピーク・フィルタのピーク周波数の算出を含むサーボ制御のための演算の他に、リード/ライト処理やホスト・インターフェースのための演算処理をサーボ・サンプリング周期内で行わなければならない。そのため、ピーク・フィルタのピーク周波数の算出のためにMPU残されている時間は限られている。従って、複数のピーク・フィルタを実装したHDDにおいて、この限られた時間を使用して全てのピーク・フィルタの適応化を適切に行い、外乱によるヘッド振動を効果的に抑圧する技術が望まれる。
【課題を解決するための手段】
【0012】
本発明の一態様は、ヘッドがサーボ・サンプリング周期で読み出したディスク上のサーボ・データとターゲット位置との間の位置誤差信号により前記ヘッドの位置決めを行うサーボ制御システムである。このサーボ制御システムは、複数のアダプティブ・ピーク・フィルタと、推定部と、選択部と、設定部とを有する。前記複数のアダプティブ・ピーク・フィルタは、それぞれが前記位置誤差信号のフィルタリングを行い並列接続され、そのフィルタ係数を適応的に変える。前記推定部は、前記ヘッドが読み出したサーボ・データを使用して外乱によるヘッド振動を推定する。前記選択部は、設定された各タイミングで、前記複数のアダプティブ・ピーク・フィルタの一部を選択する。前記設定部は、前記選択部に選択された前記一部のアダプティブ・ピーク・フィルタの係数設定を前記推定部による推定に応じて更新する。これにより、複数のアダプティブ・ピーク・フィルタを有するヘッドのサーボ制御システムにおいて、他の処理への影響を小さくしつつ各アダプティブ・ピーク・フィルタの外部振動への適応化を効果的に行うことができる。
【0013】
前記選択部は、前記ヘッドのシーク毎に前記複数のアダプティブ・ピーク・フィルタの一部を選択する。前記設定部は、前記シーク毎に前記一部のアダプティブ・ピーク・フィルタの係数設定を更新する。サーボ制御に元来含まれるシークを基準とすることで、有効な選択を効率的に行うことができる。
【0014】
前記選択部は、前記設定部が前記一部のアダプティブ・ピーク・フィルタの係数設定を更新する毎に、次の選択を行う。更新毎に選択すること、より適切な選択を行うことができる。前記推定部は、フォロイングにおいて取得された複数のサーボ・データを使用して前記ヘッド振動を推定し、前記設定部は、シーク毎に前記一部のアダプティブ・ピーク・フィルタの係数設定を更新する。これにより、効率的な処理とすることができる。
【0015】
前記選択部は、前記複数のアダプティブ・ピーク・フィルタの全てのアダプティブ・フィルタを選択するように、一つずつアダプティブ・ピーク・フィルタを順次選択する。これにより、シンプルな制御とすることができる。前記選択部は、設定更新における更新量が閾値以上である場合に、同一のアダプティブ・ピーク・フィルタを再選択する。これにより、より迅速に振動を抑圧できる。
【0016】
前記設定部は、前記選択されたアダプティブ・ピーク・フィルタのピーク周波数とゲインを決定する係数の設定を更新する。これにより、外部振動抑圧効果を高めることができる。前記複数のアダプティブ・ピーク・フィルタのそれぞれの特性は、ピーク周波数が同一出る場合に同一である。これにより、フィルタ間の干渉を低減することができる。
【0017】
前記複数のアダプティブ・ピーク・フィルタの一つのアダプティブ・ピーク・フィルタに着目して、その半値幅内に他のアダプティブ・ピーク・フィルタが存在する場合、二つのアダプティブ・ピーク・フィルタの位相差は90度以内である。これにより、フィルタ間の干渉を低減することができる。前記選択部は、エラー回復処理において、通常処理よりも多くのアダプティブ・ピーク・フィルタを選択する。これにより、より早いエラー回復を図ることができる。
【0018】
本発明の他の態様は、ヘッドがサーボ・サンプリング周期で読み出したディスク上のサーボ・データとターゲット位置との間の位置誤差信号により前記ヘッドの位置決めを行うサーボ制御方法である。この方法は、前記ヘッドが読み出したサーボ・データを使用して外乱によるヘッド振動を推定する。それぞれが前記位置誤差信号のフィルタリングを行い並列接続された複数のアダプティブ・ピーク・フィルタからその一部を選択する。前記選択された一部のアダプティブ・ピーク・フィルタの係数設定を前記推定部による推定に応じて更新する。前記推定と前記選択と前記更新とを繰り返す。これにより、複数のアダプティブ・ピーク・フィルタを有するヘッドのサーボ制御システムにおいて、他の処理への影響を小さくしつつ各アダプティブ・ピーク・フィルタの外部振動への適応化を効果的に行うことができる。
【発明の効果】
【0019】
本発明によれば、複数のアダプティブ・ピーク・フィルタを有するヘッドのサーボ制御システムにおいて、他の処理への影響を小さくしつつ各アダプティブ・ピーク・フィルタの外部振動への適応化を効果的に行うことができる。
【発明を実施するための最良の形態】
【0020】
以下に、本発明を適用した実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。以下においては、ディスク・ドライブの一例であるハードディスク・ドライブ(HDD)において、本発明の実施形態を説明する。
【0021】
本実施形態のHDDは、そのサーボ制御システム内に複数のアダプティブ・ピーク・フィルタを有している。アダプティブ・ピーク・フィルタは、ヘッドのサーボ制御において、外乱による振動を抑圧する働きをする。好ましい態様において、ピーク・フィルタの周波数及びゲインが可変である。HDDは、外乱によるヘッド振動のピーク周波数と振幅を推定し、ヘッド振動を抑圧するように複数のアダプティブ・ピーク・フィルタを適応化する。複数のピーク・フィルタを有することで、外乱によるヘッド振動が複数のピーク周波数を有している場合でも、その振動を効果的に抑圧し、正確なヘッド位置制御を行うことができる。
【0022】
本形態のHDDは、複数のアダプティブ・ピーク・フィルタから一部を選択し、その一部のアダプティブ・ピーク・フィルタについて適応化のための処理を行う。このように、一部のアダプティブ・ピーク・フィルタについて処理を行うことで、サーボ・サンプリング間におけるラン・タイムを低減して他の処理への影響を避けると共に、各アダプティブ・ピーク・フィルタを外部振動に対して適切に適応させることができる。本形態のアダプティブ・ピーク・フィルタの適応化処理について詳細に説明する前に、本形態のHDDの全体構成について説明を行う。
【0023】
図1は、HDDの全体構成を模式的に示すブロック図である。HDD1は、エンクロージャ10内に、データを記憶するディスクである磁気ディスク11を有している。スピンドル・モータ(SPM)14は、磁気ディスク11を所定の角速度で回転する。磁気ディスク11の各記録面に対応して、磁気ディスク11にアクセスするヘッド・スライダ12が設けられている。アクセスは、リード及びライトの上位の概念である。
【0024】
各ヘッド・スライダ12は、磁気ディスク上を飛行するスライダと、スライダに固定され磁気信号と電気信号との間の変換を行うヘッド素子部とを備えている。各ヘッド・スライダ12はアクチュエータ16の先端部に固定されている。アクチュエータ16はボイス・コイル・モータ(VCM)15に連結され、回動軸を中心に回動することによって、ヘッド・スライダ12を回転する磁気ディスク11上においてその半径方向に移動する。
【0025】
エンクロージャ10の外側に固定された回路基板20上には、回路素子が実装されている。モータ・ドライバ・ユニット22は、HDC/MPU23からの制御データに従って、SPM14及びVCM15を駆動する。RAM24は、リード・データ及びライト・データを一時的に格納するバッファとして機能する。エンクロージャ10内のアーム電子回路(AE)13は、複数のヘッド・スライダ12の中から磁気ディスク11へのアクセスを行うヘッド・スライダ12を選択し、その再生信号を増幅してリード・ライト・チャネル(RWチャネル)21に送る。また、RWチャネル21からの記録信号を選択したヘッド・スライダ12に送る。なお、本発明は一つのヘッド・スライダ12のみを有するHDDに適用することができる。
【0026】
RWチャネル21は、リード処理において、AE13から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データとを含む。デコード処理されたリード・ユーザ・データ及びサーボ・データは、HDC/MPU23に供給される。また、RWチャネル21は、ライト処理において、HDC/MPU23から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してAE13に供給する。
【0027】
コントローラであるHDC/MPU23は、リード/ライト処理制御、コマンド実行順序の管理、サーボ信号を使用したヘッド・スライダ12のポジショニング制御(サーボ制御)、ホスト51との間のインターフェース制御、ディフェクト管理、エラーが発生した場合のエラー対応処理など、データ処理に関する必要な処理及びHDD1の全体制御を実行する。
【0028】
以下において、本形態のヘッドのサーボ制御について詳細に説明する。HDC/MPU23は、磁気ディスク11の記録面上に書き込まれているサーボ・データによりヘッドの位置決め制御を行う。図2は、記録面全体のデータ構成を模式的に示している。磁気ディスク11の記録面には、磁気ディスク11の中心から半径方向に放射状に延び、所定の角度毎に離間して形成された複数のサーボ領域111と、隣り合う2つのサーボ領域111の間にデータ領域112が形成されている。各サーボ領域111には、ヘッド・スライダ12の位置決め制御を行うためのサーボ・データが記録される。各データ領域112には、ユーザ・データが記録される。
【0029】
磁気ディスク11の記録面には、半径方向に所定幅を有し、同心円状に形成された複数のデータ・トラックが形成される。ユーザ・データは、データ・トラックに沿って記録される。一つのデータ・トラックは、ユーザ・データの記録単位であるデータ・セクタを有し、典型的には、複数のデータ・セクタから構成されている。典型的には、各複数データ・トラックは、磁気ディスク11の半径方向の位置に従って、複数のゾーン113a〜113cにグループ化されている。1つのデータ・トラックに含まれるデータ・セクタの数は、ゾーンのそれぞれに設定される。
【0030】
同様に、磁気ディスク11は、半径方向に所定幅を有し、同心円状に形成された複数のサーボ・トラックを備えている。各サーボ・トラックは、データ領域112で分離された複数のサーボ・データから構成されている。サーボ・データは、サーボ・トラック番号と、サーボ・トラック内におけるサーボ・セクタ番号、そして細かい位置制御をするためのバースト・パターンを備えている。バースト・パターンは、例えば、半径位置の異なる4つのバースト・パターンA、B、C、Dからなっている。各バースト・パターンの再生信号の振幅によって、サーボ・トラック内の位置を決定することができる。サーボ・トラック内の位置は、位置誤差信号(PES)で表すことができる。PESは、バースト・パターンA、B、C、Dの振幅値から算出され、例えば、1サーボ・トラックが半径方向に256PES値に分割される。
【0031】
HDC/MPU23は、ホスト51からリード/ライトのコマンドを取得すると、シークを開始する。HDC/MPU23は、現在の半径位置からそのコマンドが示すアドレスを示すデータ・トラックにヘッド・スライダ12を移動する。HDC/MPU23は、コマンドの指定アドレスをサーボ・アドレスに変換して、ターゲットの半径位置を特定する。シークが終了すると、HDC/MPU23は、ヘッド・スライダ12をターゲット・データ・トラック上に維持する(フォロイング)。
【0032】
シーク及びフォロイングにおいて、HDC/MPU23は記録面から読み出してサーボ・データを使用して、アクチュエータ16(VCM15)を制御する。シーク制御は、一般に、サーボ・データを使用した速度制御と位置制御とによりアクチュエータ16(VCM15)を制御する。フォロイング制御において、HDC/MPU23は、ヘッド・スライダ12の現在半径位置(サーボ・アドレス)とターゲットの半径位置(サーボ・アドレス)と所定範囲内にあるように位置決め制御を行う。ヘッド・スライダ12がターゲット半径位置から所定範囲内にあることは、データの読み出し/書き込みの条件の一つである。
【0033】
サーボ領域111は、記録面上において、円周方向に略等間隔で離間して形成されている。従って、フォロイングにおいて、ヘッド・スライダ12は一定の周期(サーボ・サンプリング周期)でサーボ・データを読み出し、HDC/MPU23は、そのサーボ・データが示す現在のサーボ・アドレスとターゲットのサーボ・アドレスとの位置誤差を示す位置誤差信号に応じてVCM電流を制御する。
【0034】
本形態の特徴的な点として、本形態のHDC/MPU23は、フォロイングにおいて複数のアダプティブ・ピーク・フィルタを使用する。これにより、複数のピーク周波数を有する外乱によるヘッド振動を効果的に抑制することができる。図3は、本形態のHDD1におけるサーボ制御システムをモデル化したブロック図である。それぞれのブロックは、伝達関数を示している。
【0035】
図3における制御対象31はHDC/MPU23のサーボ制御対象であり、モータ・ドライバ・ユニット22、VCM15、アクチュエータ16そしてヘッド・スライダ12を含む。制御対象31に対する操作量は、HDC/MPU23からモータ・ドライバ・ユニット22への制御データであって、VCM電流値を表す。制御対象31からのフィードバックは、ヘッド・スライダ12が読み出したサーボ・データによる現在ヘッド半径位置を示す信号である。
【0036】
HDC/MPU23内のサーボ制御システムは、主サーボ制御部231、ノッチ・フィルタ232、複数のアダプティブ・ピーク・フィルタ234a、234b、そして固定ピーク・フィルタ233を有している。図3は、二つのアダプティブ・ピーク・フィルタを有するシステムが例示している。典型的には、これら機能要素はHDC/MPU23内のハードウェアで実現されるが、一部機能をMPUによる演算により実現してもよい。本実施形態においては、ピーク・フィルタ233、234a、234b及びノッチ・フィルタ232はハードウェアで構成されており、遅滞ない処理を実現する。
【0037】
主サーボ制御部231は、位置誤差信号に応じてVCM電流値(を示す制御データ)を算出する。主サーボ制御部231による制御は基本的にPID制御であり、制御の安定性を保ちながらヘッド・スライダ12(アクチュエータ16)の大きな振動に対応することが難しい。そのため、HDC/MPU23は、主サーボ制御部231に直列に配置されたノッチ・フィルタ232と、並列に接続されたピーク・フィルタ233、234a、234bとを有している。
【0038】
ノッチ・フィルタ232は、主に、アクチュエータ16の共振を抑制する働きをする。主サーボ制御部231からの信号からアクチュエータ16の共振周波数に対応する成分を小さくすることで、アクチュエータ16の共振周波数における大きな振動を抑えることができる。HDC/MPU23は、一もしくは複数のノッチ・フィルタを有する。図3においては、一つのノッチ・フィルタ232を例示した。また、設計上不要であれば、ノッチ・フィルタ232を省略してもよい。
【0039】
ピーク・フィルタ233、234a、234bは、外乱によるヘッド・スライダ12(アクチュエータ16)振動を抑圧する働きをする。ここでの外乱は、ディスク偏心によるRROを含む。固定ピーク・フィルタ233は、このようにピーク周波数が予め分かっており、その周波数が一定の振動を抑制する働きをする。固定ピーク・フィルタ233の特性は固定であり、ピーク周波数、ゲイン及びフィルタ波形は常に一定である。固定ピーク・フィルタの実装数は、HDD1の設計により適切な値が選択される。
【0040】
これに対して、アダプティブ・ピーク・フィルタ234a、234bは、外部振動による周波数が不定の振動を抑圧する働きを有している。アダプティブ・ピーク・フィルタの実装数は、HDD1の設計に従って適切な数が選択される。ここでは、二つのアダプティブ・ピーク・フィルタ234a、234bが実装されている構成を具体的に説明する。
【0041】
制御対象31に含まれるヘッド・スライダ12が読み出したサーボ・データから、HDC/MPU23はヘッド・スライダ12の現在半径位置を示すデータ(信号)を生成する。HDC/MPU23は、ホスト51からのコマンドが指定するターゲット半径位置を示すデータを持っている。HDC/MPU23は、ターゲット半径位置と現在半径位置との差異である位置誤差信号(データ)を算出する。
【0042】
主サーボ制御部231は、位置誤差信号に対して所定の演算処理を行い、ヘッド・スライダ12をターゲット半径位置に近づける(位置誤差を抑制する)ためのVCM電流値を算出する。位置誤差信号は、主サーボ制御部231と並列に接続されている複数のピーク・フィルタ233、234a、234bにも入力される。ピーク・フィルタ233、234a、234bのそれぞれは、そのピーク周波数において最大ゲインを有しそのゲインがピーク周波数から離れるに従って大きく減少するフィルタ波形を有している。このため、位置誤差信号における特定周波数成分がフィルタ出力となる。
【0043】
ピーク・フィルタ233、234a、234bからの出力は、主サーボ制御部231からの出力に加えられ、さらに、その加え合わされた値(信号)がノッチ・フィルタ232に与えられる。固定ピーク・フィルタ233は、HDD1の内部機構に起因する振動を抑圧する。そのため、外乱によるヘッド振動の残りの主な原因は外部振動によるものである。アダプティブ・ピーク・フィルタ234a、234bはその外乱(主に外部振動)に対して適応化されており、外部から加えられる振動に起因するヘッド振動を効果的に抑圧することができる。
【0044】
本形態のHDC/MPU23は複数(図3の例において二つ)のアダプティブ・ピーク・フィルタを有しており、適切にこれらのアダプティブ・ピーク・フィルタの適応化を行うことが重要である。複数のアダプティブ・ピーク・フィルタの全体的な適応化処理について説明する前に、個々のアダプティブ・ピーク・フィルタの適応化方法について説明する。
【0045】
アダプティブ・ピーク・フィルタ234a、234bについて、数式を用いて説明する。好ましい態様において、アダプティブ・ピーク・フィルタ234a、234bは同じフィルタ特性を有しており、同じ可変係数を有する数式で表すことができる。好ましい例のアダプティブ・ピーク・フィルタ234a、234bのz変換における出力Pkoutは、(数式1)及び(数式2)で表すことができる。
Pkout(n)=2OSHCNT×[(P×z+Q×z+R)/z]×U(n) (数式1)
Pkout(n)=2OSHCNT×[P×U(n)+Q×U(n−1)+R×U(n−2)]
(数式2)
【0046】
U(n)はアダプティブ・ピーク・フィルタ234a、234bの内部変数(を含む時系列のデータ)であり、数式3)及び(数式4)で表すことができる。
U(n)=[z/(z−E×z−F)]×PES(n) (数式3)
U(n)=PES(n)+E×U(n−1)+F×U(n−2) (数式4)
PESは位置誤差信号である。E、F、P、Q、R、OSHCNTは、それぞれフィルタの係数である。nはサンプリングの順番を示している。周知のように、1/zは遅延演算に対応する。
【0047】
内部変数は,フィルタ出力を計算する際に、入力(PES(n))以外に必要な変数であり、上記式におけるU(n−1)、U(n−2)は内部変数である。U(n)は、U(n−1)、U(n−2)とPES(n)とから計算できるが、U(n−1)、U(n−2)を含む時系列データであり、本明細書において内部変数に含める。なお、内部変数はフィルタの実装方法に依存して定義される。
【0048】
フィルタ係数Eは、アダプティブ・ピーク・フィルタ234a、234bのピーク周波数を決定する。フィルタ係数Eは、(数式5)で表すことができる。
E=A×cos(2π×f×Ts) (数式5)
はアダプティブ・ピーク・フィルタ234a、234bのピーク周波数、Tはサンプリング周期であり、サーボ・サンプリング周期に相当する。HDC/MPU23は、フィルタ係数Eを変化させることでピーク周波数を変化させることができる。
【0049】
フィルタ係数の一つであるOSHCNTは、アダプティブ・ピーク・フィルタ234a、234bの出力段のビット・シフト量である。このシフト量OSHCNTは、アダプティブ・ピーク・フィルタ234a、234bのゲイン(ピーク・ゲイン)を決定する。HDC/MPU23は、ビット・シフト量を変化させることでアダプティブ・ピーク・フィルタ234a、234bのゲインを変化させることができる。
【0050】
なお、F、P、Q、Rによってアダプティブ・ピーク・フィルタ234a、234bの位相を調整することができ、アダプティブ・ピーク・フィルタ234a、234bを含むフィードバック制御系の安定性を確保するように設定する。本形態においてフィルタ係数は低周波数域で固定であるが、設計によっては、これらを可変値としてアダプティブ・ピーク・フィルタ234a、234bの適応化に利用してもよい。
【0051】
このように、ピーク周波数係数Eとゲイン係数(ビット・シフト量)OSHCNTを変化させることで、アダプティブ・ピーク・フィルタ234a、234bの周波数とゲインを調整し、外部振動によるヘッド振動(アクチュエータ振動)に適応させることができる。図4は、アダプティブ・ピーク・フィルタ234a、234bと、それらの適応化のための演算、設定更新処理を行う設定更新部235と、設定更新のアダプティブ・ピーク・フィルタを選択する選択部236示すブロック図である。
【0052】
選択部236は、所定のタイミングで、アダプティブ・ピーク・フィルタ234a、234bの一方を選択する。設定更新部235は、選択部236によって選択されたアダプティブ・ピーク・フィルタについて適応化のための処理を行う。典型的には、ファームウェアに従った処理を行うMPUが、選択部236及び設定更新部235として機能する。
【0053】
好ましい態様において、アダプティブ・ピーク・フィルタ234a、234bは、基準以上の外部振動が存在する場合のみ、機能していることが好ましい。そのため、HDC/MPU23は、現在及び過去の連続する複数の位置誤差信号の二乗の移動平均を計算し位置誤差信号の分散値(シグマ)の二乗値を算出し、その値が閾値を超える場合に、アダプティブ・ピーク・フィルタ234a、234bをイネーブルにする。
【0054】
HDC/MPU23は、アダプティブ・ピーク・フィルタ234a、234bが機能しているときは、その内部変数から外部振動の有無を判定することができる。設定更新部235は、アダプティブ・ピーク・フィルタ234a、234bが機能している間のみ、それらの設定更新を行う。設定更新の有無に係らず、イネーブルされた二つのアダプティブ・ピーク・フィルタ234a、234bは、常に、アクティブである。
【0055】
この処理の流れを、図5のフローチャートを参照して説明する。HDC/PMU23は、基準を越える外部振動が存在するか判定する(S11)。存在しない場合(S11におけるN)、全てのアダプティブ・ピーク・フィルタ234a、234bはディセーブル(S12)される。外部振動が存在する場合(S11におけるY)、アダプティブ・ピーク・フィルタ234a、234bをイネーブルされる(S13)。
【0056】
選択部236は、所定のタイミングでアダプティブ・ピーク・フィルタ234a、234bの一方を選択する(S14)。設定更新部235は、選択されたアダプティブ・ピーク・フィルタの設定更新(適応化)を行う(S15)。選択部236と設定更新部235とは、一部のアダプティブ・ピーク・フィルタの選択とその設定更新処理を繰り返す。
【0057】
設定更新部235は、位置誤差信号と選択されたアダプティブ・ピーク・フィルタの内部変数を使用して、選択されたアダプティブ・ピーク・フィルタのフィルタ係数を更新(適応化)する。これにより、振動センサなどの回路素子に頼ることなく、外部振動を推定し、その外部振動を抑圧するようにアダプティブ・ピーク・フィルタを調整することができる。図6は、設定更新部235の構成を模式的に示すブロック図である。
【0058】
設定更新部235は、アダプティブ・ピーク・フィルタ234a、234bの周波数設定(係数E)を更新する周波数設定更新部351と、ゲイン設定(係数OSHCNT)を更新するゲイン設定更新部352とを有している。さらに、周波数設定更新部351は、周波数推定部511と周波数設定部512とを有している。また、ゲイン設定更新部352は、強度推定部521とゲイン設定部522とを有している。周波数推定部511と強度推定部521とが、外部振動の推定を行う機能部を構成していると見ることもできる。また、周波数設定部512とゲイン設定部522とが、フィルタ係数の設定を行う機能部を構成していると見ることもできる。
【0059】
本形態の設定更新部235は、サーボ・データにより得られる位置誤差信号とアダプティブ・ピーク・フィルタ234a、234bの内部変数Uとからヘッド振動(外部振動)を推定し、その振動に対してアダプティブ・ピーク・フィルタ234a、234bを適応させる。好ましい態様において、設定更新部235は、フォロイングの所定期間内に、サーボ・サンプリングにおいて得られるデータを取得しフィルタ設定更新のための情報を蓄積する。
【0060】
設定更新部235は、その情報に従って所定のタイミングでアダプティブ・ピーク・フィルタ234a、234bの係数の更新(フィルタの適応)を行う。図7に示すように、フィルタ係数の更新を行う好ましいタイミングはシーク開始のタイミングである。これにより、設定更新部235の演算負荷を低減することができる。以下においては、この好ましい更新方法について説明する。
【0061】
アダプティブ・ピーク・フィルタ234aのフィルタリング特性を、サーボ・サンプリング毎に更新せずにシーク制御の開始に伴って設定することで、制御系を時不変系として扱うことができることから、フィルタリング特性の更新幅の制約が緩和され、従来と比して更新幅を大きくすることができる。また、更新幅を大きくしても、シーク制御中に(すなわち、次のフォロイング制御が開始されるまでの間に)、アダプティブ・ピーク・フィルタ234a、234bの過渡応答を収束させることができる。このため、位置誤差信号に含まれる外乱を抑制するまでの時間を短縮することができる。
【0062】
また、シーク制御の開始に伴ってアダプティブ・ピーク・フィルタ234a、234bにフィルタリング特性を設定する手法は、外部振動に起因する外乱(特に、回転振動に起因する外乱(いわゆるRV外乱))に対して好適である。すなわち、外部振動に起因する外乱によって磁気ヘッド4の位置決めが阻害される場合、リトライによって磁気ヘッド4の位置決めが成功できるため、次のシーク制御が行われ、それが繰り返されているうちに、この外乱を抑制するようにアダプティブ・ピーク・フィルタ234aのフィルタリング特性を設定することができる。
【0063】
特に、位置決め精度の劣化による性能劣化が表面化するデータの書き込みまたは読み出し要求が多い状況では、シーク制御が頻繁に実行され。そのため、アダプティブ・ピーク・フィルタ234a、234bのフィルタリング特性の更新回数を必要十分に確保することができ、アダプティブ・ピーク・フィルタ234a、234bのフィルタリング特性を速やかに適切に設定することができる。
【0064】
以下に、アダプティブ・ピーク・フィルタ234aの適応化について詳細に説明する。アダプティブ・ピーク・フィルタ234bの適応化も同様である。最初に、アダプティブ・ピーク・フィルタ234aの周波数の調整(周波数の適応化)について説明する。周波数推定部511は、位置誤差信号PESおよびアダプティブ・ピーク・フィルタ234aの内部変数Uに基づいて、位置誤差信号PESに含まれる外乱の周波数を推定する。具体的には、周波数推定部511は、位置誤差信号PESの位相と内部変数Uの位相とに基づいて、位置誤差信号PESに含まれる外乱のピーク周波数とアダプティブ・ピーク・フィルタ234aのピーク周波数との大小関係を判定する。
【0065】
U(n)は、振幅R、周波数fでR×sin(2π×n×f×Ts+Ω)と表すことができる。外乱のピーク周波数fとアダプティブ・ピーク・フィルタ234aのピーク周波数fとの大小関係は、下の(数式6)により判定することができる。
PES(n−1)×U(n)
=2[cos(2π×f×Ts)−cos(2π×f×Ts)]
×Rsin(2π×n×f×Ts+Ω) (数式6)
【0066】
(数式6)は、各サーボ・サンプリングにおける、外乱のピーク周波数とアダプティブ・ピーク・フィルタ234aのピーク周波数の大小関係を示す。この式は、振動している周波数fとアダプティブ・ピーク・フィルタ234aのピーク周波数f0の大小関係に応じて符号が変わる特性を有している。周波数推定部511は、この測定を利用して周波数fを推定する。
【0067】
周波数推定部511は、サーボ・サンプリング毎に位置誤差信号PESおよび内部変数Uを取得する。周波数推定部511は、フォロイング制御の間、位置誤差信号PESおよび内部変数Uを取得する毎に(数式6)の演算を行い、その演算結果である周波数の大小関係の結果を蓄積する。周波数推定部511は、次のシーク制御が開始される前に、大小関係の蓄積結果Sを周波数設定部512に渡す。大小関係の蓄積結果Sは、下の(数式7)で表すことができる。
S=ΣPES(n−1)×U(n)
=[cos(2π×f×Ts)−cos(2π×f×Ts)]×R
×Σ[1−cos(2(2π×f×n×Ts+Ω))] (数式7)
【0068】
(数式7)における総和Σは、シーク完了後のフォロイング制御の間(の所定の期間)に行われ、次のシーク制御が開始される前に終了し、大小関係の蓄積結果Sが確定する。周波数推定部511は、蓄積結果Sの符号(+、−)によって、フォロイング制御の間に位置誤差信号PESに含まれる外乱(外乱によるヘッド振動)のピーク周波数と、ピーク・フィルタ234aのピーク周波数との大小関係を判断する。
【0069】
次に、周波数設定部512は、周波数推定部511から得た大小関係の蓄積結果Sに基づいて、アダプティブ・ピーク・フィルタ234aのピーク周波数の更新幅を決定し、アダプティブ・ピーク・フィルタ234aのピーク周波数fを決定した更新幅だけ更新する。これにより、アダプティブ・ピーク・フィルタ234aのピーク周波数fを、外乱の周波数fに近づけることができる。一回の更新が一回の適応化処理であり、一般に、複数回の適応化処理によりピーク周波数fが外部振動周波数fに収束する。
【0070】
本実施形態では、周波数設定部512は、アダプティブ・ピーク・フィルタ234aのピーク周波数を表すパラメータEの更新量dEを決定して、アダプティブ・ピーク・フィルタ234aの内部変数Uに含まれるパラメータEを更新する(上記数式1および数式2を参照)。また、HDC/MPU23内のメモリあるいはRAM24には、過去のフォロイング制御ごとに得られた大小関係の蓄積結果Sが格納されている。周波数設定部44は、周波数推定部511からの蓄積結果Sと過去の蓄積結果Sとから更新量dEを決定する。
【0071】
図8に、更新量dEの決定例を示す。更新量dEは、蓄積結果Sの符号が過去から連続する回数Nに応じて決定される。蓄積結果Sが連続する場合は、アダプティブ・ピーク・フィルタ234aのピーク周波数fと外乱の周波数fとが離れているということであるので、連続する数が大きくなるに従って更新量dEを大きくする。
【0072】
更新量dEは、例えば、回数Nの値とすることができる。周波数推定部511が算出した蓄積結果Sによって、過去の蓄積結果Sから符号が連続する回数がNとなる場合、更新量dEをNとする。また、連続する回数Nが更新量dEの設定されている上限値を超える場合は、更新量dEをその上限値とする。蓄積結果Sが0の場合は更新量dEを0とする。
【0073】
以上のように、ピーク周波数fを表すパラメータEの更新量dEを、大小関係の蓄積結果Sの符号が連続する回数Nに応じて大きくすることで、アダプティブ・ピーク・フィルタ234aのピーク周波数fと外乱の周波数fとが離れている場合であっても、外乱を抑制するまでの時間を短縮することができる。なお、上述したように本実施形態ではフィルタリング特性の更新幅の制約が緩和されるので、このように決定される更新量dEであっても許容される。
【0074】
次に、アダプティブ・ピーク・フィルタ234aのゲインの調整(ゲインの適応化)について説明する。強度推定部521は、アダプティブ・ピーク・フィルタ234aの内部変数Uに基づいて、位置誤差信号PESに含まれる外乱の強度を推定する。位置誤差信号PESの中で、アダプティブ・ピーク・フィルタ234aによって抑制される周波数成分の強度を評価するために、アダプティブ・ピーク・フィルタ234aの内部変数Uを用いている。例えば、アダプティブ・ピーク・フィルタ234aのピーク周波数が外乱の周波数に収束するにつれて、ピーク・フィルタのPESからUまでのゲインが上昇する。
【0075】
このため、内部変数Uは大きくなり、位置誤差信号PESは逆に小さくなる。内部変数Uは、位置誤差信号PESに含まれるピーク周波数の外乱成分の強度とピーク・フィルタの位置誤差信号PESから内部変数Uまでのゲイン(ピーク周波数)との積に比例する。そのため、ピーク周波数が外乱の周波数に収束した後では、内部変数Uとピーク・フィルタの位置誤差信号PESから内部変数Uまでのゲインから外乱の強度を推定することができる。強度推定部521は、外部振動の強度を推定することで、外部振動の有無も推定することができる。
【0076】
具体的には、強度推定部521は、まず、内部変数Uにピーク周波数に応じた補正値G(E)を乗じたU・G(E)を算出することで、外乱の強度を推定することができる。内部変数Uは、サーボ・サンプリング毎に取得する。強度推定部521は、フォロイング制御の間(の所定期間)、内部変数Uを取得する毎にU・G(E)を求める。この期間は、アダプティブ・ピーク・フィルタ234aのピーク周波数設定のための期間と同じである。
【0077】
さらに、強度推定部521は、U・G(E)を2乗して(U・G(E))を算出する。さらに、次のシーク制御が開始される前に、フォロイング制御の間にサーボ・サンプリング毎に得られる(U・G(E))の中から最大値Tを求める。最大値Tは、(数式8)で表される。
T=max((U×g(E))) (数式8)
【0078】
強度推定部521は、ローバスフィルタにより最大値Tをフィルタリングし、これにより得られる値を外乱の強度を表す強度評価値Wとして、ゲイン設定部522に渡す。ローパスフィルタによるフィルタリングは、下の(数式9)で表される。
W=[(1−c)/(z−c)]×T
=[(1−c)/(z−c)]×max((U×g(E))) (数式9)
【0079】
ここで、アダプティブ・ピーク・フィルタ234aの入力から内部変数Uまでの周波数特性におけるピーク・ゲインがピーク周波数に依存して一定ではない。内部変数Uに補正値G(E)を乗じることで、外乱強度を推定するための基準が変化するのを防ぐことができる。内部変数Uに補正値G(E)を乗じることで、補正後のピーク・ゲインがピーク周波数に依らず略一定となるようにして、外乱強度の推定をピーク周波数に依らず画一的に行えるようする。補正値G(E)は、ピーク周波数が採りうる範囲に亘って、各ピーク・ゲインと、所定の基準値との差分に応じた値を有するように設定される。
【0080】
補正値G(E)は、ピーク周波数が採りうる範囲のうち低周波数域において、ピーク・ゲインが他の周波数域よりも若干大きくなるように設定されている。低周波数域の方がサーボ系の安定性が高いため、これにより、より高いゲインを設定できるようにする。また、U・G(E)を累乗することで、ピーク周波数域と他の周波数域との差を大きくして他の周波数域の影響を低減する。
【0081】
最大値Tを使用することにより、RV外乱などの間欠的な外乱がフォロイング制御の期間中に間欠的に作用する場合であっても、外乱の強度を評価することができる。また、平均値の算出のように計算量の多い除算を含む計算を行っていないので、制御による計算負荷が軽減される。また、ローパスフィルタにより、RV外乱などの間欠的な外乱が作用する場合に、最大値Tがフォロイング制御ごとに大きく変動することを防ぐことができる。
【0082】
次に、ゲイン設定部522は、強度推定部521からの強度評価値Wに基づいて、アダプティブ・ピーク・フィルタ234aのピーク・ゲインのレベルを決定するとともに、そのピーク・ゲインを決定したレベルに更新する。これにより、アダプティブ・ピーク・フィルタ234aのピーク・ゲインを、外乱(によるヘッド振動)が抑制されるレベルに近づけることができる。
【0083】
ゲイン設定部522は、ゲインを調整するためのビット・シフト量OSHCNTの値を変更することによって、アダプティブ・ピーク・フィルタ234aのゲインを調整して、ピーク・ゲインのレベルを更新する((数式3)および(数式4)を参照)。また、RAM24には、図9に示すようなゲイン設定テーブルが格納されている。なお、このようなゲイン設定テーブルに限らず、ピーク・ゲインのレベルを決定するための式をプログラムに組込んでもよい。
【0084】
ゲイン設定テーブルは、ピーク・ゲインのレベルを増加させる場合の強度評価値Wの閾値(増加用閾値)と、ピーク・ゲインのレベルを減少させる場合の強度評価値Wの閾値(減少用閾値)とが設定されている。各レベルにおいて、増加用閾値に対して、減少用閾値が低く設定されている。好ましい例において、ゲイン設定部522は、強度評価値Wが現在のビット・シフト量OSHCNTの値に係る増加用閾値よりも大きい場合に、ビット・シフト量OSHCNTの値を増加させてゲインを2倍にする。減少用閾値よりも小さい場合には、ビット・シフト量OSHCNTの値を減少させてゲインを1/2倍にする。
【0085】
アダプティブ・ピーク・フィルタ234aのピーク・ゲインを増加させて、外乱が抑制される程度が高まると、これが誤差信号PESに影響し、アダプティブ・ピーク・フィルタ234aの内部変数Uが減少する。そこで、内部変数Uの減少分を考慮して増加用閾値に対して減少用閾値が低く設定することで、アダプティブ・ピーク・フィルタ234aのピーク・ゲインが振動的に変化するのを抑制できる。
【0086】
上記例において、ビット・シフト量OSHCNTの値を変化させることで、アダプティブ・ピーク・フィルタ234aのゲインを2倍または1/2倍と、不連続に変化させている。上述したように本実施形態ではフィルタリング特性の更新幅の制約が緩和されるので、このような不連続なゲインの変更が許容される。また、ビット・シフト量OSHCNTの値を変化させているため、計算量が少なく計算負荷が軽減される。
【0087】
このように、個々のアダプティブ・ピーク・フィルタは、その内部変数Uと位置誤差信号PESとから外乱への適応化を行うことができる。本形態のサーボ・システムは、複数のアダプティブ・ピーク・フィルタ(図3、4の例において二つ)を有している。上述の好ましい態様において、一つのアダプティブ・ピーク・フィルタの適応化は、サーボ・サンプリングにおける適応化のための演算処理と、シーク毎(好ましくは、シーク開始直前のタイミング)のフィルタ係数の更新処理とを有している。
【0088】
適応化のための演算時間が短く、サーボ・サンプリング周期が十分に長い場合、サーボ・サンプリングの間に全てのアダプティブ・ピーク・フィルタについて適応化のための演算を行ってもよい。しかし、インターフェースや読み出し/書き込みなどの他の処理のための演算時間を確保するため、適応化に使用することができる時間は限られている。一方、アダプティブ・ピーク・フィルタの機能は外部振動によるヘッド振動の抑圧であり、適応化に多少時間が掛かり、パフォーマンスの改善が遅れても、ハード・エラーに直接につながるものではない。
【0089】
そこで、図5のフローチャートを参照して説明したように、本形態において、HDC/MPU23は、複数アダプティブ・ピーク・フィルタの内の一部のアダプティブ・ピーク・フィルタを選択し、それらについてのみ適応化の処理を行う。図3、4の例においては、選択部236が、二つのアダプティブ・ピーク・フィルタの一方を選択する。3つ以上のアダプティブ・ピーク・フィルタが実装されている場合、その内の一部である一つもしくは複数アダプティブ・ピーク・フィルタを選択する。選択数は、設計により好ましい値を設定する。例えば、シンプルかつ効果的な方法は、予め設定されている順序で全てのアダプティブ・ピーク・フィルタを選択するように、異なるアダプティブ・ピーク・フィルタを一つずつ順次選択する。
【0090】
以下においては、設定更新を行うアダプティブ・ピーク・フィルタの選択方法について、詳細に説明する。上述のように、好ましい態様において、アダプティブ・ピーク・フィルタの設定更新はシーク毎に行われる。従って、アダプティブ・ピーク・フィルタの選択も、それに合わせることが好ましい。選択部236は、直前に選択したアダプティブ・ピーク・フィルタの設定更新が終了すると、次に適応化を行うアダプティブ・ピーク・フィルタの選択を行う。
【0091】
フィルタ係数の更新をシーク開始タイミングと異なるタイミングで行うこともできる。例えば、所定の実時間が経過した後に、蓄積した情報に従ってフィルタ係数の更新を行ってもよい。このように、情報を蓄積してから設定更新を行う場合には、選択のタイミングをフィルタ係数更新のタイミングに合わせることが好ましい。情報蓄積に時間をかけており、さらに、選択したアダプティブ・ピーク・フィルタの設定更新を行った後には、迅速に外部振動を抑圧するために適切なアダプティブ・ピーク・フィルタの選択を行うことが好ましいからである。
【0092】
情報蓄積を行うことなく各サーボ・サンプリング・タイミングで設定更新を行うことができる場合、設定更新と選択のタイミングが異なっていてもよい。例えば、アダプティブ・ピーク・フィルタの選択をシーク毎に行い、設定更新はサーボ・サンプリングで行う。これにより、サーボ・サンプリング間における限られた時間での処理を低減し、他の処理への影響を避けることができる。
【0093】
適応させるアダプティブ・ピーク・フィルタの選択においては、選択のタイミングの他、どのアダプティブ・ピーク・フィルタを選択するかが重要である。以下において、二つの異なる選択方法を説明する。一つの方法は、各選択タイミングにおいて、予め設定されている順序で、アダプティブ・ピーク・フィルタを選択する。もう一つの方法は、推定した外部振動周波数(アダプティブ・ピーク・フィルタ・ピーク周波数の変更量に対応)に応じて、次に適応化処理を行うアダプティブ・ピーク・フィルタを選択する。
【0094】
まず、各アダプティブ・ピーク・フィルタを順次選択する方法を、上記二つのピーク・フィルタを有するシステムの例において説明する。また、この例において、設定更新は、上述のように、シーク毎に行われる。二つのアダプティブ・ピーク・フィルタ234a、234bを有する場合、選択部236は、コマンドを受けてシークを開始する直前のタイミングで一方のアダプティブ・ピーク・フィルタ234aを選択し、設定更新部235はフォロイングにおけるサーボ・サンプリングにおいて、このアダプティブ・ピーク・フィルタ234aの適応のための演算を行う。次のシークの開始(直前)において、設定更新部235は、アダプティブ・ピーク・フィルタ234aのフィルタ係数を更新する。
【0095】
設定更新後、選択部236は、このシーク開始のタイミングで、適応化を行うアダプティブ・ピーク・フィルタとしてアダプティブ・ピーク・フィルタ234bを選択する。設定更新部235は、フォロイングにおけるサーボ・サンプリングにおいて、このアダプティブ・ピーク・フィルタ234bの適応化のための演算を行い、次のシーク開始のタイミングでそのフィルタ係数を更新する。
【0096】
設定更新部235と選択部236はこれらの処理を繰り返し、二つのアダプティブ・ピーク・フィルタ234a、234bの適応化を行う。このように、順次異なるアダプティブ・ピーク・フィルタを選択する処理はシンプルであり、設計が容易である。なお、複数のアダプティブ・ピーク・フィルタを選択する場合、前回の選択から外れたアダプティブ・ピーク・フィルタを含むように、順次、一部のアダプティブ・ピーク・フィルタを選択する。
【0097】
図10(a)は一つのアダプティブ・ピーク・フィルタ(例えば234a)が外部振動に適応されるときのピーク周波数P1の変化を模式的に示し、図10(b)は、二つのアダプティブ・ピーク・フィルタ234a、234bが外部振動に適応されるときのピーク周波数P1、P2の変化を模式的に示している。二つのアダプティブ・ピーク・フィルタ234a、234bは、シーク毎に交互に適応(フィルタ係数更新)される。図10(a)、(b)において、Y軸はシーク回数(時間)であり、横軸はピーク周波数である。本例において、アダプティブ・ピーク・フィルタのピーク周波数が近づく外部振動の共振モード(ピーク周波数)T1は一つである。
【0098】
図10(a)に示すように、一つのアダプティブ・ピーク・フィルタのみを適応化する場合、そのピーク周波数P1はシーク毎に、徐々に外部振動の周波数に近づいていく。一回のフィルタ更新における更新量は安定化のための限定されているため、ピーク周波数P1が外部振動周波数T1に収束するためには、相応回数のフィルタ更新(シーク)を要する。
【0099】
一方、二つのアダプティブ・ピーク・フィルタを交互に外部振動に適応させる(フィルタ係数更新する)場合、図10(b)に示すように、ピーク周波数P1、P2は、交互に、徐々に外部振動共振モードT1に近づき、収束する。各アダプティブ・ピーク・フィルタの一回のフィルタ更新における更新量が制限されていることは、一つのアダプティブ・ピーク・フィルタのみを適応させる場合と同様である。
【0100】
図10(a)、(b)を比較して理解されるように、外部振動に適応させるアダプティブ・ピーク・フィルタをシーク毎に切り替えることで、サーボ・サンプリング間での演算処理量を、一つのみのアダプティブ・ピーク・フィルタの適応化と同じ処理量とすることができる。ここで、二つのグラフのピーク周波数P1の収束時間に着目する。二つのアダプティブ・ピーク・フィルタを交互に適応させる場合(図10(b))、ピーク周波数P1を外部振動のピーク周波数T1に収束させるためには、一つのみのアダプティブ・ピーク・フィルタを収束させる(図10(a))ための時間(シーク回数)の2倍に近い時間を必要とする。
【0101】
二つのアダプティブ・ピーク・フィルタが収束した場合のピーク・ゲインは、一つのアダプティブ・ピーク・フィルタが収束した場合のピーク・ゲインの2倍(6dB)である。これに対して、一つのアダプティブ・ピーク・フィルタのピーク・ゲインは数十dBの変化を示す。そのため、外部振動を迅速に抑制するためには、一つのアダプティブ・ピーク・フィルタをできるだけ速く外部振動のピーク周波数に収束させることが重要である。
【0102】
そこで、好ましい態様において、推定周波数の変化量(フィルタ係数Eの変化量)に応じて、次に適応化(設定変更)を行うアダプティブ・ピーク・フィルタを選択する。推定周波数の変化量が大きい場合には同一のアダプティブ・ピーク・フィルタを選択し、推定周波数の変化量が小さい場合には異なるアダプティブ・ピーク・フィルタを選択する。
【0103】
上記二つのアダプティブ・ピーク・フィルタ234a、234bを有する例において、選択部236は、一つのアダプティブ・ピーク・フィルタのフィルタ係数の更新を行い、そのピーク周波数変更量が閾値以上の場合に同一のアダプティブ・ピーク・フィルタを次の適応化の対象として選択する。ピーク周波数変更量が閾値より小さい場合には、異なるもう一方のアダプティブ・ピーク・フィルタを次の適応化の対象として選択する。
【0104】
図11(a)は一つのアダプティブ・ピーク・フィルタ(例えば234a)を適応化するときのピーク周波数の変化を模式的に示している。図11(a)は、図10(a)と同様である。図11(b)は、上述のように、二つのアダプティブ・ピーク・フィルタ234a、234bから、現在のピーク周波数と推定周波数との差異に応じて外部振動に適応させるアダプティブ・ピーク・フィルタを選択するときのピーク周波数P1、P2の変化を模式的に示している。
【0105】
推定周波数(フィルタ係数E)の変化量と比較する閾値を適切な値とすることで、一方のアダプティブ・ピーク・フィルタが外部振動のピーク周波数に近づいて振動を大きく低減した後に、次のアダプティブ・ピーク・フィルタの適応化処理を開始するようにすることができる。閾値の値により、適応化処理を行うアダプティブ・ピーク・フィルタの切り替えタイミングを調整することができ、HDD1の設計においては、その設計に適した閾値を選択する。
【0106】
図11(b)において、ピーク周波数P1が先に外部振動T1に収束し、その後、ピーク周波数P2が外部振動T1に収束する。双方のピーク周波数P1、P2が収束する時間は、図10(b)に示す例と同様であるが、一方のピーク周波数P1が収束するために時間は、
図10(b)の例の略半分であり、図10(a)、11(a)に示す例と同様である。このように、一つのアダプティブ・ピーク・フィルタのピーク周波数が迅速に外部振動に近づいていき、その外部振動を迅速に抑圧することができる。
【0107】
図10(a)、(b)、図11(a)、(b)は、外部振動のピーク周波数(共振モード)が一つである例について説明しているが、次に、二つの外部振動のピーク周波数が存在する場合における、アダプティブ・ピーク・フィルタのピーク周波数変化について説明する。図12(a)、(b)は、二つのアダプティブ・ピーク・フィルタのピーク周波数P1、P2が、二つの共振モードT1、T2を有する外部振動に適応される様子を模式的に示している。
【0108】
図12(a)は、二つのアダプティブ・ピーク・フィルタを交互に選択する処理におけるピーク周波数P1、P2の変化を模式的に示し、図12(b)は、推定周波数に応じてアダプティブ・ピーク・フィルタを選択する処理におけるピーク周波数P1、P2の変化を模式的に示している。
【0109】
図12(a)、(b)において、フィルタ・ピーク周波数P1の初期値は、外部振動ピーク周波数T2よりも外部振動ピーク周波数T1に近い。一方、フィルタ・ピーク周波数P2の初期値は、外部振動ピーク周波数T1よりも外部振動ピーク周波数T2に近い。フィルタ・ピーク周波数P1は、外部振動ピーク周波数T1に漸近して収束する。一方、フィルタ・ピーク周波数P2は外部振動ピーク周波数T2に漸近して収束する。
【0110】
フィルタ・ピーク周波数P2初期値は外部振動ピーク周波数T2に近く、一回の適応化処理で外部振動ピーク周波数T2に収束している。一方、フィルタ・ピーク周波数P1が外部振動ピーク周波数T1に収束するまでには、複数回のシークを要している。図12(a)においては、外部振動ピーク周波数T1に収束した後もフィルタ・ピーク周波数P2が選択されている。そのため、いまだ収束していないフィルタ・ピーク周波数P1を収束させるための時間を増加させている。図12(b)においては、収束していないアダプティブ・ピーク・フィルタが優先的に選択される。そのため、交互に選択する処理と比較して、より早くフィルタ・ピーク周波数P1を外部振動ピーク周波数T1に収束させることができる。
【0111】
複数のアダプティブ・ピーク・フィルタを実装する場合、それぞれのアダプティブ・ピーク・フィルタの特性のみならず、異なるアダプティブ・ピーク・フィルタ間の関係が重要である。どのような外部振動にも対応するためには、全てのアダプティブ・ピーク・フィルタの周波数変動範囲は同一であることが好ましい。また、全てのアダプティブ・ピーク・フィルタは同一の特性(ゲインを含む)を有していることが好ましい。一つのアダプティブ・ピーク・フィルタのフィルタ特性(フィルタ係数)は、そのピーク周波数によって変化する。しかし、同一のピーク周波数を有するアダプティブ・フィルタは、同一のフィルタ係数を有する。
【0112】
アダプティブ・フィルタは、サーボ・システムの安定性を確保するために、ピーク周波数の変化に応じて位相特性が大きく変化する特性を有している。各ピーク・フィルタのピーク周波数は外部振動によって変化し、複数のアダプティブ・フィルタのピーク周波数が近い値となることがある。このような場合にも、複数のアダプティブ・フィルタが、互いに強く干渉しないことが重要である。そのため、図13に例示すように、アダプティブ・フィルタのフィルタ係数は、ピーク周波数の変化に対して連続的かつ緩やかに変化することが好ましい。具体的には、一つのAPFに着目して、その半値幅内に他のAPFが存在する場合、二つのAPFの位相差は90度以内である。
【0113】
アダプティブ・ピーク・フィルタの特性が同一である場合、それらの内部変数が同じになると、同時に外乱推定及び設定更新されるアダプティブ・ピーク・フィルタは、同一の変化を示す。例えば、全アダプティブ・ピーク・フィルタが一つの外部振動周波数に収束している場合、新たに複数の外部振動ピークが発生しても、複数アダプティブ・ピーク・フィルタは別々のピークに収束することはできず、全アダプティブ・ピーク・フィルタが同一のピーク周波数を有する。
【0114】
上述のように、本形態のサーボ・システムは、複数のアダプティブ・ピーク・フィルタの内の一部を選択して設定更新(適応化処理)を行う。設定更新のための選択の有無に係らず、各アダプティブ・ピーク・フィルタはアクティブである。従って、一部のアダプティブ・ピーク・フィルタの特性が変化すると、ヘッド振動が変化する。各アダプティブ・ピーク・フィルタは、振動エネルギーのより大きな振動に収束しようとするので、異なるアダプティブ・ピーク・フィルタが、別々の外部振動ピークに収束することができる。
【0115】
通常処理においては、サーボ制御以外の処理のための時間を確保するため、アダプティブ・ピーク・フィルタの適応化に使用できる時間は限られている。また、マージンも確保する必要がある。しかし、リード/ライトにおけるエラーに対応するエラー回復処理においては、データの読み出し/書き込みを省略するなどして、サーボ・サンプリング間において適応化のためにより多くの時間を確保することができる。あるいは、早急のエラー回復のためには、より少ないマージンで許容されることがある。
【0116】
好ましい態様において、エラー回復処理においては、適応化のために選択するアダプティブ・ピーク・フィルタの数を、通常処理における数よりも多くする。上記例のように二つのアダプティブ・ピーク・フィルタが実装されている場合、図14に模式的に示すように、通常処理において一つのアダプティブ・ピーク・フィルタを選択し、エラー回復処理においては、2つのアダプティブ・ピーク・フィルタを選択する。図14において、SRVは主サーボ制御のための演算処理であり、APF1は一方のアダプティブ・ピーク・フィルタの適応化のための演算、APF2は他方のアダプティブ・ピーク・フィルタの適応化のための演算である。
【0117】
あるいは、3つのアダプティブ・ピーク・フィルタが実装されており、通常処理において1つのアダプティブ・ピーク・フィルタを選択する場合、エラー回復処理において、2つあるいは3つのアダプティブ・ピーク・フィルタを選択する。このように、より多くのアダプティブ・ピーク・フィルタを選択することで、各アダプティブ・ピーク・フィルタを迅速に収束させて、ヘッド位置決め精度を改善し、エラー回復を図ることができる。好ましくは、全てのアダプティブ・ピーク・フィルタが収束した後は、選択するアダプティブ・ピーク・フィルタの数を通常処理の数に戻す。これにより、サーボ・サンプリング間における他の処理への影響を低減する。
【0118】
HDC/MPU23は、エラー回復処理の実行を制御する。具体的には、HDC/MPU23は、RAM24上のエラー回復テーブルに従ってエラー回復処理を行う。エラー回復テーブルは、複数のエラー回復ステップを有しており、HDC/MPU23は、優先度の高いエラー回復ステップから、順次実行していく。このエラー回復処理において、例えば、HDC/MPU23は、全てのエラー回復ステップにおいて、通常処理よりも多くのアダプティブ・ピーク・フィルタを選択して適応化の処理を行う。あるいは、HDC/MPU23は、特定のエラー回復ステップにおいて通常処理よりも多くのアダプティブ・ピーク・フィルタを選択して適応化の処理を行い、他のエラー回復処理ステップにおいては通常処理と同じ数のアダプティブ・ピーク・フィルタを選択する。
【0119】
以上、本発明を好ましい実施形態を例として説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、適応化処理のために選択されるアダプティブ・ピーク・フィルタの数は、設計によって、一つでも複数でもよい。
【0120】
アダプティブ・ピーク・フィルタは、ピーク周波数とゲインの双方が可変であり、それらを外部振動に適応させることができることが好ましい。しかし、本発明は、一方のみ可変の複数アダプティブ・ピーク・フィルタ、あるいはピーク周波数とゲイン以外の特性(例えば半値幅)が可変な複数アダプティブ・ピーク・フィルタが実装されたサーボ・システムに適用することができる。
【0121】
外部振動の推定は、フィルタの内部関数と位置誤差信号を使用して行うことが好ましいが、外乱のオブザーを有するシステムのように、フィルタの内部変数を使用することなくサーボ・データから外乱(外部振動)を推定する他の推定方法を採用するサーボ・システムに本発明を適用してもよい。また、アダプティブ・ピーク・フィルタの特性に応じて、推定する外部振動の特性は適切なものが選択される。
【図面の簡単な説明】
【0122】
【図1】本実施形態におけるHDDの全体構成を模式的に示すブロック図である。
【図2】本実施形態における記録面全体のデータ構成を模式的に示している。
【図3】本実施形態のHDDにおけるサーボ制御システムをモデル化したブロック図である。
【図4】本実施形態において、アダプティブ・ピーク・フィルタ、それらの適応化のための演算と設定更新処理を行う設定更新部、設定更新のアダプティブ・ピーク・フィルタを選択する選択部を示すブロック図である。
【図5】本実施形態において、アダプティブ・ピーク・フィルタの適応化の処理の流れを示すフローチャートである。
【図6】本実施形態の設定更新部の構成を模式的に示すブロック図である。
【図7】本実施形態において、外部振動推定のための情報蓄積とアダプティブ・ピーク・フィルタの係数設定更新のタイミングを模式的に示す図である。
【図8】本実施形態において、アダプティブ・ピーク・フィルタのピーク周波数を表す変数Eの更新量dEの決定例を示す図である。
【図9】本実施形態のゲイン設定テーブルの一例を示す図である。
【図10】本実施形態において、適応化におけるアダプティブ・ピーク・フィルタのピーク周波数の変化を模式的に示す図である。
【図11】本実施形態において、適応化におけるアダプティブ・ピーク・フィルタのピーク周波数の変化を模式的に示す図である。
【図12】本実施形態において、適応化におけるアダプティブ・ピーク・フィルタのピーク周波数の変化を模式的に示す図である。
【図13】本実施形態のアダプティブ・ピーク・フィルタのフィルタ係数の例を示すグラフである。
【図14】本実施形態において、通常処理とエラー回復処理とにおいて適応化のために選択されるアダプティブ・ピーク・フィルタを示している。
【図15】従来の技術におけるアダプティブ・ピーク・フィルタの適応化処理を模式的に示す図である。
【符号の説明】
【0123】
1 ハードディスク・ドライブ、10 エンクロージャ、11 磁気ディスク
12 ヘッド・スライダ、16 アクチュエータ、20 回路基板
21 リード・ライト・チャネル、23 モータ・ドライバ・ユニット、31 制御対象
44 周波数設定部、51 ホスト、111 サーボ領域、112 データ領域
113a〜113c ゾーン、231 主サーボ制御部、232 ノッチ・フィルタ
233 固定ピーク・フィルタ、234a、234b アダプティブ・ピーク・フィルタ
235 設定更新部、236 選択部、351 周波数設定更新部
352 ゲイン設定更新部、511 周波数推定部、512 周波数設定部
521 強度推定部、522 ゲイン設定部

【特許請求の範囲】
【請求項1】
ヘッドがサーボ・サンプリング周期で読み出したディスク上のサーボ・データとターゲット位置との間の位置誤差信号により前記ヘッドの位置決めを行うサーボ制御システムであって、
それぞれが前記位置誤差信号のフィルタリングを行い並列接続され、フィルタ係数を適応的に変える複数のアダプティブ・ピーク・フィルタと、
前記ヘッドが読み出したサーボ・データを使用して外乱によるヘッド振動を推定する推定部と、
設定された各タイミングで、前記複数のアダプティブ・ピーク・フィルタの一部を選択する選択部と、
前記選択部に選択された前記一部のアダプティブ・ピーク・フィルタの係数設定を前記推定部による推定に応じて更新する設定部と、
を有するサーボ制御システム。
【請求項2】
前記選択部は、前記ヘッドのシーク毎に前記複数のアダプティブ・ピーク・フィルタの一部を選択する、
請求項1に記載のサーボ制御システム。
【請求項3】
前記設定部は、前記シーク毎に前記一部のアダプティブ・ピーク・フィルタの係数設定を更新する、
請求項2に記載のサーボ制御システム。
【請求項4】
前記選択部は、前記設定部が前記一部のアダプティブ・ピーク・フィルタの係数設定を更新する毎に、次の選択を行う、
請求項1に記載のサーボ制御システム。
【請求項5】
前記推定部は、フォロイングにおいて取得された複数のサーボ・データを使用して前記ヘッド振動を推定し、
前記設定部は、シーク毎に前記一部のアダプティブ・ピーク・フィルタの係数設定を更新する、
請求項4に記載のサーボ制御システム。
【請求項6】
前記選択部は、前記複数のアダプティブ・ピーク・フィルタの全てのアダプティブ・フィルタを選択するように、一つずつアダプティブ・ピーク・フィルタを順次選択する、
請求項1に記載のサーボ制御システム。
【請求項7】
前記選択部は、設定更新における更新量が閾値以上である場合に、同一のアダプティブ・ピーク・フィルタを再選択する、
請求項1に記載のサーボ制御システム。
【請求項8】
前記設定部は、前記選択されたアダプティブ・ピーク・フィルタのピーク周波数とゲインを決定する係数の設定を更新する、
請求項1に記載のサーボ制御システム。
【請求項9】
前記複数のアダプティブ・ピーク・フィルタのそれぞれの特性は、ピーク周波数が同一出る場合に同一である、
請求項1に記載のサーボ制御システム。
【請求項10】
前記複数のアダプティブ・ピーク・フィルタの一つのアダプティブ・ピーク・フィルタに着目して、その半値幅内に他のアダプティブ・ピーク・フィルタが存在する場合、二つのアダプティブ・ピーク・フィルタの位相差は90度以内である、
請求項1に記載のサーボ制御システム。
【請求項11】
前記選択部は、エラー回復処理において、通常処理よりも多くのアダプティブ・ピーク・フィルタを選択する、
請求項1に記載のサーボ制御システム。
【請求項12】
ヘッドがサーボ・サンプリング周期で読み出したディスク上のサーボ・データとターゲット位置との間の位置誤差信号により前記ヘッドの位置決めを行うサーボ制御方法であって、
前記ヘッドが読み出したサーボ・データを使用して外乱によるヘッド振動を推定し、
それぞれが前記位置誤差信号のフィルタリングを行い並列接続された複数のアダプティブ・ピーク・フィルタからその一部を選択し、
前記選択された前記一部のアダプティブ・ピーク・フィルタの係数設定を前記推定部による推定に応じて更新し、
前記推定と前記選択と前記更新とを繰り返す、
サーボ制御方法。
【請求項13】
前記ヘッドのシーク毎に前記複数のアダプティブ・ピーク・フィルタの一部を選択する、
請求項12に記載のサーボ制御方法。
【請求項14】
前記シーク毎に前記一部のアダプティブ・ピーク・フィルタの係数設定を更新する、
請求項13に記載のサーボ制御方法。
【請求項15】
前記一部のアダプティブ・ピーク・フィルタの係数設定を更新する毎に、次の選択を行う、
請求項12に記載のサーボ制御方法。
【請求項16】
フォロイングにおいて取得された複数のサーボ・データを使用して前記ヘッド振動を推定し、
シーク毎に前記一部のアダプティブ・ピーク・フィルタの係数設定を更新する、
請求項15に記載のサーボ制御方法。
【請求項17】
設定更新における更新量が閾値以上である場合に、同一のアダプティブ・ピーク・フィルタを再選択する、
請求項12に記載のサーボ制御方法。
【請求項18】
前記選択されたアダプティブ・ピーク・フィルタのピーク周波数とゲインを決定する係数の設定を更新する、
請求項12に記載のサーボ制御方法。
【請求項19】
前記複数のアダプティブ・ピーク・フィルタのそれぞれの特性は、ピーク周波数が同一出る場合に同一である、
請求項12に記載のサーボ制御方法。
【請求項20】
エラー回復処理において、通常処理よりも多くのアダプティブ・ピーク・フィルタを選択する、
請求項12に記載のサーボ制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate