(57)【要約】【課題】パフォーマンスの低下を抑えつつエラー回復を図る。【解決手段】本発明の一実施形態において、ＨＤＣ／ＭＰＵ２３は、ＥＲＰにおいてＲＲＯの測定を行い、その測定値からＲＲＯ補正値を算出するとによって、ＲＲＯを起因とするリード・エラーあるいはライト・エラーの回復を図る。ＨＤＣ／ＭＰＵ２３は、リード素子３２が読み出した各サーボ・セクタ１１５の位置データとターゲットとの間の誤差を使用して、そのターゲット位置におけるＲＲＯ及び各サーボ・セクタ１１５に対応したＲＲＯ補正値を算出する。ＨＤＣ／ＭＰＵ２３は、このＲＲＯ補正値を使用したサーボ制御によるフォローイングを行いながら、エラーを起こしたターゲット・セクタのリードあるいはライトを試みる。【選択図】図４
2008198252.tif 000002
【特許請求の範囲】
【請求項１】
回転するディスクに対するデータのリード処理あるいはライト処理の少なくとも一方を行うディスク・ドライブ装置において、通常リード処理あるいは通常ライト処理の少なくとも一方の処理におけるエラーに対応してエラー回復処理を開始し、
前記エラー回復処理において、前記ディスク上に記録されているサーボ・データを読み出してフォローイングし、その読み出したサーボ・データからサーボ補正値を算出し、
前記ディスク上に記録されているサーボ・データと前記算出したサーボ補正値とを使用してフォローイングを行い、前記エラーが起きた処理のリトライを行う、方法。
【請求項２】
前記エラー回復処理は、予め設定されている複数のエラー回復処理ステップを順次実行し、
前記サーボ補正値の算出に使用するサーボ・データを取得する前記フォローイングを、前記サーボ補正値の算出と異なる他のエラー回復処理ステップにおいて実行する、
請求項１に記載の方法。
【請求項３】
前記通常リード処理あるいは前記通常ライト処理の少なくとも一方は、前記ディスクに記録されているサーボ補正データを使用したフォローイングを行う、
請求項１に記載の方法。
【請求項４】
算出した前記サーボ補正値を、前記ディスクと異なる媒体に格納し、
前記格納したサーボ補正値を前記媒体から読み出して、そのサーボ補正値を使用してフォローイングを行う、
請求項３記載の方法。
【請求項５】
検出した外部振動に基づいて前記算出したサーボ補正値を前記通常リードあるいは通常ライト処理の少なくとも一方において使用するか否かを決定する、
請求項３記載の方法。
【請求項６】
回転するディスクに対するデータのリード処理あるいはライト処理の少なくとも一方を行うディスク・ドライブ装置であって、
回転するディスク上のサーボ・データを読み出すリード素子と、
前記ディスクに対するデータの通常リード処理あるいは通常ライト処理の少なくとも一方の処理におけるエラーに対応してエラー回復処理を開始するコントローラと、を有し、
前記コントローラは、前記エラー回復処理において、フォローイングにおいて前記リード素子が読み出したサーボ・データからサーボ補正値を算出し、前記ディスク上に記録されているサーボ・データと前記算出したサーボ補正値とを使用してフォローイングを行い、前記エラーが起きた処理のリトライを行う、
ディスク・ドライブ装置。
【請求項７】
前記コントローラは、前記エラー回復処理において予め設定されている複数のエラー回復処理ステップを順次実行し、前記サーボ補正係数の算出に使用するサーボ・データを取得する前記フォローイングを、前記サーボ補正係数の算出と異なる他のエラー回復処理ステップにおいて実行する、
請求項６に記載のディスク・ドライブ装置。
【請求項８】
前記コントローラは、前記通常リード処理あるいは前記通常ライト処理の少なくとも一方において、前記ディスクに記録されているサーボ補正データを使用したフォローイングを行う、
請求項６に記載のディスク・ドライブ装置。
【請求項９】
前記コントローラは、算出した前記サーボ補正値を前記ディスクと異なる媒体に格納し、前記格納したサーボ補正値を前記媒体から読み出して前記サーボ補正値を使用してフォローイングを行う、
請求項８記載のディスク・ドライブ装置。
【請求項１０】
前記コントローラは、検出した外部振動に基づいて前記算出したサーボ補正値を前記通常リードあるいは通常ライト処理の少なくとも一方において使用するか否かを決定する、
請求項８記載の方法。
【請求項１１】
前記コントローラは、検出した外部振動に基づいて前記算出したサーボ補正値を前記ディスクに記録するか否かを決定する、
請求項８記載のディスク・ドライブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディスク・ドライブ装置及びそのエラー回復処理に関し、特に、ディスク上に記録されている位置データを使用したサーボ制御の補正に関する。
【背景技術】
【０００２】
ディスク・ドライブ装置として、光ディスク、光磁気ディスク、あるいはフレキシブル磁気ディスクなどの様々な態様のディスクを使用する装置が知られているが、その中で、ハードディスク・ドライブ（ＨＤＤ）は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。さらに、コンピュータにとどまらず、動画像記録再生装置、カーナビゲーション・システム、携帯電話、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、ＨＤＤの用途は、その優れた特性により益々拡大している。
【０００３】
ＨＤＤで使用される磁気ディスクは、同心円状に形成された複数のデータ・トラックと、円周方向に離散的に配置された複数のサーボ・セクタとを有している。ユーザ・データは、データ・セクタを単位として記録されており、各サーボ・セクタの間にデータ・セクタが記録されている。揺動するアクチュエータが回転する磁気ディスク上においてヘッド・スライダを移動する。ヘッド・スライダヘッド素子部が、サーボ・セクタが示す位置データに従って所望のデータ・セクタにアクセスすることによって、データ・セクタへのデータ書き込み及びデータ・セクタからのデータ読み出しを行うことができる。
【０００４】
サーボ・セクタは予めＨＤＤの製造工程において磁気ディスクに記録される。典型的には、ＨＤＤに磁気ディスクが実装された後に、ＨＤＤのヘッド及びアクチュエータを機械的もしくはそのＶＣＭを電気的に制御することによって、磁気ディスク上にサーボ・セクタを記録する。磁気ディスクの偏心のため、あるいは、外部振動などの要因によって、サーボ・セクタの書き込みにおいて、あるいはサーボ・セクタが記録された後に、記録されたサーボ・データにおいて理想的な環状トラックからの偏差が発生する。このため、ヘッド素子部がサーボ・セクタから読み出すサーボ・データには、ＲＲＯ（Repeatable Run-Out）と呼ばれる成分が存在する。
【０００５】
ＲＲＯが小さい場合には問題がないが、ＲＲＯが大きくなると、読み出したサーボ・セクタに従ってヘッド・ポジショニングを行っても、ターゲット位置に正確にヘッドを位置決めすることが難しくなる。一方、ＲＲＯを補正するデータを全サーボ・セクタについて磁気ディスク以外のメモリ内に保持しておくことはメモリ容量の点から問題がある。
【０００６】
このため、ＲＲＯを補正するデータを予め磁気ディスクに記録しておくことで、ＲＲＯを低減することが提案されている（例えば特許文献１を参照）。ヘッド素子部は、通常の位置データ（サーボ・データ）の他にＲＲＯ補正データを読み出す。ＨＤＤは、ヘッド素子部が読み出した位置データがターゲットに近づくようにアクチュエータを制御するが、このとき、ヘッド素子部が読み出したＲＲＯ補正データによって補正した上で、アクチュエータのサーボ制御を行う。典型的には、ＲＲＯ補正データは、各サーボ・セクタ内の位置データの後ろに続いて記録されている。
【特許文献１】特表２００３−５３１４５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
磁気ディスク上に記録されているＲＲＯ補正データを使用することによって、サーボ・ライトを含む製造工程において存在しているＲＲＯを、必要なレベルまで抑制することができる。しかし、ＨＤＤの実際の使用時間の経過と共に、読み出されるサーボ・データに新たなＲＲＯが発生することがある。あるいは、何らかの外部振動が存在する場合など、特定の使用環境化において読み出されるサーボ・データに一時的なＲＲＯが発生することがある。
【０００８】
これらのＲＲＯが大きくなると、ＨＤＤは適切なサーボ制御を行うことができず、正常なリード／ライトを行うことができない、あるいは、エラーが頻発しパフォーマンスが低下することが考えられる。これは、狭トラック・ピッチ化が進んだＨＤＤにおいて、特に問題となる。一方、実際の使用環境における新たなＲＲＯの発生は予想することは困難であり、この新たなＲＲＯを常に補償するようにＨＤＤを制御することは、かえってＨＤＤのパフォーマンスの低下を招くことになる。
【課題を解決するための手段】
【０００９】
本発明の一態様は、回転するディスクに対するデータのリード処理あるいはライト処理の少なくとも一方を行うディスク・ドライブ装置において、通常リード処理あるいは通常ライト処理の少なくとも一方の処理におけるエラーに対応してエラー回復処理を開始する。前記エラー回復処理において、前記ディスク上に記録されているサーボ・データを読み出してフォローイングし、その読み出したサーボ・データからサーボ補正値を算出する。前記ディスク上に記録されているサーボ・データと前記算出したサーボ補正値とを使用してフォローイングを行い、前記エラーが起きた処理のリトライを行う。エラー回復処理においてサーボ補正値の算出及びそれを使用したサーボ制御を行うことで、パフォーマンスの低下を抑え、エラー回復を図ることができる。
【００１０】
前記エラー回復処理は、予め設定されている複数のエラー回復処理ステップを順次実行し、前記サーボ補正値の算出に使用するサーボ・データを取得する前記フォローイングを、前記サーボ補正値の算出と異なる他のエラー回復処理ステップにおいて実行することが好ましい。これによって、処理時間を短縮することができる。
【００１１】
好ましくは、前記通常リード処理あるいは前記通常ライト処理の少なくとも一方は、前記ディスクに記録されているサーボ補正データを使用したフォローイングを行う。これによって、通常処理においてエラー発生を抑制することができる。さらに好ましい一例において、算出した前記サーボ補正値を、前記ディスクと異なる媒体に格納し、前記格納したサーボ補正値を前記媒体から読み出して、そのサーボ補正値を使用してフォローイングを行う。ディスクに記録することなくサーボ補正値を使用してフォローイングすることできる。好ましい一例において、検出した外部振動に基づいて前記算出したサーボ補正値を前記通常リードあるいは通常ライト処理の少なくとも一方において使用するか否かを決定する。これによって使用環境において一時的に必要となるサーボ補正のデータを通常処理において使用することによるエラーの発生を避けることができる。
【００１２】
本発明の他の態様は、回転するディスクに対するデータのリード処理あるいはライト処理の少なくとも一方を行うディスク・ドライブ装置である。ディスク・ドライブ装置は、回転するディスク上のサーボ・データを読み出すリード素子と、前記ディスクに対するデータの通常リード処理あるいは通常ライト処理の少なくとも一方の処理におけるエラーに対応してエラー回復処理を開始するコントローラを有する。前記コントローラは、前記エラー回復処理において、フォローイングにおいて前記リード素子が読み出したサーボ・データからサーボ補正値を算出し、前記ディスク上に記録されているサーボ・データと前記算出したサーボ補正値とを使用してフォローイングを行い、前記エラーが起きた処理のリトライを行う。エラー回復処理においてサーボ補正値の算出及びそれを使用したサーボ制御を行うことで、パフォーマンスの低下を抑え、エラー回復を図ることができる。好ましい一例において、前記コントローラは、検出した外部振動に基づいて前記算出したサーボ補正値を前記ディスクに記録するか否かを決定する。これによって使用環境において一時的に必要となるサーボ補正のデータを通常処理において使用することによるエラーの発生を避けることができる。
【発明の効果】
【００１３】
本発明によれば、ディスク・ドライブ装置において新たに算出したサーボ補正値によるエラー回復を図ることができる。
【発明を実施するための最良の形態】
【００１４】
以下に、本発明を適用可能な実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。以下においては、ディスク・ドライブ装置の一例であるハードディスク・ドライブ（ＨＤＤ）を例として、本発明の実施形態を説明する。本実施形態の特徴の一つは、エラー回復処理（Error Recovery Procedure：ＥＲＰ）におけるＲＲＯ（Repeatable Run-Out）補正処理である。
【００１５】
まず、ＨＤＤの全体構成を説明する。図１は、本実施の形態に係るＨＤＤ１の全体構成を模式的に示すブロック図である。ＨＤＤ１は、エンクロージャ１０内に、データを記憶するディスクの一例である磁気ディスク１１、磁気ディスクにアクセスするヘッド・スライダ１２、アーム電子回路（ＡＥ：Arm Electronics）１３、スピンドル・モータ（ＳＰＭ）１４、ボイス・コイル・モータ（ＶＣＭ）１５、そしてアクチュエータ１６を有している。ＨＤＤ１は、エンクロージャ１０の外側に固定された回路基板２０上に、リード・ライト・チャネル（ＲＷチャネル）２１、モータ・ドライバ・ユニット２２、ハードディスク・コントローラ（ＨＤＣ）とＭＰＵの集積回路（以下、ＨＤＣ／ＭＰＵ）２３及びＲＡＭ２４などの各回路を有する。
【００１６】
ＳＰＭ１４にそこに固定されている磁気ディスク１１を、所定の角速度で回転する。ＨＤＣ／ＭＰＵ２３からの制御データに従って、モータ・ドライバ・ユニット２２がＳＰＭ１４を駆動する。ヘッド・スライダ１２は、磁気ディスク上を浮上するスライダと、スライダに固定され磁気信号と電気信号との間の変換を行うヘッド素子部とを備えている。ヘッドの一例であるヘッド素子部は、磁気ディスク１１上のデータを読み出すリード素子と磁気ディスク１１にデータを書き込むライト素子とを有している。
【００１７】
各ヘッド・スライダ１２はアクチュエータ１６の先端部に固定されている。アクチュエータ１６はＶＣＭ１５に連結され、回動軸を中心に回動することによって、ヘッド・スライダ１２を回転する磁気ディスク１１上においてその半径方向に移動する。モータ・ドライバ・ユニット２２は、ＨＤＣ／ＭＰＵ２３からの制御データ（本実施形態においてＤＡＣＯＵＴと呼ぶ）に従ってＶＣＭ１５を駆動する。
【００１８】
ＡＥ１３は、複数のヘッド・スライダ１２の中から磁気ディスク１１へのアクセスを行うヘッド・スライダ１２を選択し、選択されたヘッド・スライダ１２により再生される再生信号を増幅し、ＲＷチャネル２１に送る。また、ＲＷチャネル２１からの記録信号を選択されたヘッド・スライダ１２に送る。ＲＷチャネル２１は、リード処理において、ＡＥ１３から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータ（サーボ・データ及びユーザ・データ）を抽出し、デコード処理を行う。デコード処理されたデータは、ＨＤＣ／ＭＰＵ２３に供給される。また、ＲＷチャネル２１は、ライト処理において、ＨＤＣ／ＭＰＵ２３から供給されたライト・データをコード変調し、更にコード変調されたデータをライト信号に変換してＡＥ１３に供給する。
【００１９】
ＨＤＣ／ＭＰＵ２３において、ＭＰＵはＲＡＭ２４にロードされたファームウェアに従って動作する。ＨＤＣ／ＭＰＵ２３は、リード／ライト処理制御、コマンド実行順序の管理、サーボ信号を使用したヘッド素子部１２のポジショニング制御（サーボ制御）、ホスト５１との間のインターフェース制御、ディフェクト管理、エラーが発生した場合のエラー回復処理など、データ処理に関する必要な処理及びＨＤＤ１の全体制御を実行する。特に、本形態のＨＤＣ／ＭＰＵ２３は、通常ライト処理において磁気ディスク１１に記録されているＲＲＯ補正データを使用したＲＲＯ補正によるサーボ制御を行い、また、エラー回復処理においてＲＲＯの算出を行い、算出したＲＲＯ補正係数を使用したＲＲＯ補正によるサーボ制御を行う。
【００２０】
図２（ａ）〜（ｃ）は、磁気ディスク１１上の記録データを模式的に示している。図２（ａ）に示すように、磁気ディスク１１の記録面には、磁気ディスク１１の中心から半径方向に放射状に延び、所定の角度毎に円周方向において離間して形成された複数のサーボ領域１１１と、隣り合う２つのサーボ領域１１１の間にデータ領域１１２が形成されている。サーボ領域１１１とデータ領域１１２は、所定の角度で交互に設けられている。各サーボ領域１１１には、ヘッド・スライダ１２の位置決め制御を行うためのサーボ・データが記録される。
【００２１】
各データ領域１１２には、ユーザ・データが記録される。ユーザ・データとサーボ・データとは、それぞれ、同心円状のデータ・トラック及びサーボ・トラック毎に記録されている。なお、データ・トラックは、磁気ディスク１１１の半径方向の位置に従って、複数のゾーンにグループ化されている。記録周波数は、ゾーンのそれぞれに設定される。図２（ａ）においては、３つのゾーン１１３ａ〜１１３ｃが例示されている。図２（ａ）において、磁気ディスク１１は反時計回りに回転する。
【００２２】
図２（ｂ）は磁気ディスク１１の記録面の部分拡大図であり、図２（ｃ）は、サーボ・セクタ１１６のデータ・フォーマットを示している。図２（ｂ）、（ｃ）の右から左に向かう方向が、磁気ディスク１１の回転方向である。図２（ｂ）において、サーボ領域１１１ａ、１１１ｂが例示されている。サーボ領域間には複数のデータ・セクタが記録されている。データ・セクタの種類は二つあり、サーボ領域１１１間に全データが記録されている通常のデータ・セクタ１１４ａと、サーボ領域１１１に分断されたスプリット・セクタ１１４ｂである。同一半径位置において円周方向に配列された複数のデータ・セクタ１１４が、一つのデータ・トラックを構成する。
【００２３】
サーボ領域１１１は、半径方向に配列した複数のサーボ・セクタ１１５から構成されている。また、同一半径位置において円周方向に離散的に配列された複数のサーボ・セクタ１１５が、一つのサーボ・トラックを構成する。データ・トラックのトラック・センタとサーボ・トラックのトラック・センタとは一致することもあり、また、図２（ｂ）に示すように一致しないこともある。
【００２４】
図２（ｃ）に示すように、本形態のサーボ・セクタ１１５は、ライト処理のサーボ制御においてＲＲＯ補正を行うためのＲＲＯ補正データを有している。具体的には、サーボ・セクタ１１５は、位置データを有する通常のサーボ・データである位置フィールド１１６と、ＲＲＯ補正を行うデータを有するＲＲＯ補正フィールド１１７を有している。通常の位置フィールド１１６は、先頭から、プリアンブル（PREAMBLE）、サーボ・アドレス・マーク（SAM）、サーボ・アドレス（SERVO ADDRESS）、そしてバースト・パターン（BURST）を有している。
【００２５】
ＳＡＭは、サーボ・アドレス等の実際の情報が始まることを示す。サーボ・アドレスは、典型的には、グレイ・コードからなるサーボ・トラックＩＤとセクタＩＤとを有している。また、バースト・パターンは、トラックＩＤで示されるサーボ・トラックの更に精密な位置を示す信号である。バースト・パターンは、典型的には、サーボ・トラックごとに周回上に位置を少し違えたところに千鳥状に書かれたＡ、Ｂ、Ｃ、Ｄの4つの振幅信号を備える。リード素子が読み出したサーボ・アドレスとバース・パターンとによってリード素子位置（ヘッド位置）を特定することができる。
【００２６】
ＲＲＯ補正を行うデータを有するＲＲＯ補正フィールド１１７は、プリアンブル（PREAMBLE）、タイミング・マーク（MARK）、ＲＲＯ補正データ（RRO）、そしてチェック・サム（CHECK SUM）を有している。タイミング・マークは、その後のＲＲＯ補正データ等の実際の情報が始まることを示す。ＲＲＯ補正データは、位置フィールド１１６の位置情報に対して補正処理を行う値を示す。
【００２７】
典型的には、各サーボ・セクタ１１５が、通常のサーボ・データ（位置データ）と対応するＲＲＯ補正データを有しており、またＲＲＯ補正データが、そのサーボ・セクタにおいて位置データ（サーボ・アドレス及びバースト・パターン）のすぐ後に記録される。しかし、ＲＲＯ補正データを位置データを含むサーボ・セクタとは離間した位置に、あるいは、あるサーボ・セクタ（の位置データ）に対応するＲＲＯ補正データが他のサーボ・セクタに含まれているようにしてもよい。
【００２８】
本形態のＨＤＣ／ＭＰＵ２３は、通常ライト処理において磁気ディスク１１上に記録されているＲＲＯ補正データによるＲＲＯ補正を伴うサーボ制御を行う。従って、図３（ａ）に示すように、各サーボ・セクタ１１５におけるＲＲＯ補正フィールド１１７の半径方向中心は、ライト処理におけるリード素子３２のターゲット位置と略一致している。ＨＤＣ／ＭＰＵ２３は、リード素子３２が読み出した位置データ（サーボ・アドレス及バースト・パターン）１１６ａとＲＲＯ補正データ１１７ａとを使用して、ヘッド・ポジショニング制御を行い、ライト素子３１がターゲットのセクタ１１４ｃにデータを書き込む。
【００２９】
ＨＤＣ／ＭＰＵ２３は、ターゲット値とリード素子３２が読み出した位置データとの誤差に応じてアクチュエータ１６を制御するが、このとき、対応するＲＲＯ補正データの値を使用して位置誤差もしくは誤差に応じたＶＣＭ制御データ（ＤＡＣＯＵＴ）を補正した上で、アクチュエータ１６（ヘッド・スライダ１２）の位置制御を行う。
【００３０】
一方、通常リード処理において使用するためのＲＲＯ補正データは磁気ディスク１１上に記録されていない。図３（ｂ）に示すターゲット・セクタ１１４ｄの通常リード処理において、ＨＤＣ／ＭＰＵ２３は、リード素子３２が読み出した位置データを使用してサーボ制御を行う。このため、隣接トラックのデータを誤って上書きしてしまうようなクリティカルなエラーの発生を抑制するとともに、磁気ディスク１１の記録容量の減少を抑えることができる。
【００３１】
次に、本形態の特徴であるＥＲＰにおけるサーボ制御について説明する。本形態のＨＤＣ／ＭＰＵ２３は、ＥＲＰにおいてＲＲＯ及びＲＲＯ補正値の算出を行う。ＨＤＣ／ＭＰＵ２３は、リード素子３２が読み出した位置情報とターゲット位置との誤差から、ヘッド・ポジショニング制御を行う。しかし、リード処理においてもリード素子３２が読み出す位置情報にはＲＲＯ成分が存在する。従って、ＨＤＣ／ＭＰＵ２３が正確にヘッド素子部を位置決めすることができずに、エラーが起きることが考えられる。
【００３２】
あるいは、ＨＤＤの実際の使用時間の経過と共に、読み出されるサーボ・データに新たなＲＲＯが発生することがある。あるいは、何らかの外部振動が存在する場合など、特定の使用環境化において読み出されるサーボ・データに一時的なＲＲＯが発生することがある。ＥＲＰにおいてＲＲＯの測定を行い、その測定値からＲＲＯ補正値を算出するとによって、上記の各ＲＲＯを起因とするリード・エラーあるいはライト・エラーの回復を図ることができる。
【００３３】
図４は、本形態のＥＲＰに関連する各機能要素を模式的に示すブロック図である。通常リード処理あるいは通常ライト処理においてエラーが発生すると、ＨＤＣ／ＭＰＵ２３はＥＲＰ開始する。ＨＤＣ／ＭＰＵ２３は、ＥＲＰテーブル２４１に従ってＥＲＰを実行する。ＥＲＰテーブル２４１は、ＲＡＭ２４に格納されている。典型的には、リード処理及びライト処理のそれぞれに対してＥＲＰテーブルが存在する。ＥＲＰテーブル２４１は、複数ステップ、例えば２５６ステップのＥＲＰステップが登録されており、ＨＤＣ／ＭＰＵ２３は各ＥＲＰステップを順次実行する。各ＥＲＰステップは、何らかの処理を行いターゲット・セクタのリードあるいはライトをリトライする。
【００３４】
リード処理の典型的なＥＲＰステップは、ＲＷチャネル２１のパラメータの変更や、リード素子３２が読み出す位置データのターゲットの変更、あるいは、エラーが起きた通常リード処理と同一の条件でリードの試みを繰り返す処理などである。ライト処理の典型的なＥＲＰステップは、エラーが起きた通常ライト処理と同一の条件でライトの試みを繰り返す処理、あるいはＲＷチャネル２１のパラメータの変更などである。
【００３５】
ＨＤＣ／ＭＰＵ２３は、ＲＷチャネル２１のレジスタに値（PARAMETERS）をセットすることで、フィルタ係数などを調整することができる。また、ＨＤＣ／ＭＰＵ２３は、モータ・ドライバ・ユニット２２にＶＣＭ電流値を示す制御信号（DACOUT）を送ることで、アクチュエータ１６、つまりヘッド・スライダ１２の位置を調整する。
【００３６】
本例のリードＥＲＰ及びライトＥＲＰのそれぞれは、ＥＲＰ内において新たに算出されたＲＲＯ補正値を使用したＲＲＯ補正を行う。ＲＲＯ補正値を算出するためには、半径方向のターゲット位置におけるＲＲＯを測定することが必要となる。ＨＤＣ／ＭＰＵ２３は、リード素子３２をターゲット位置においてフォローイングさせる。ＨＤＣ／ＭＰＵ２３は、リード素子３２が読み出した各サーボ・セクタ１１５の位置データとターゲットとの間の誤差を使用して、そのターゲット位置におけるＲＲＯ及び各サーボ・セクタ１１５に対応したＲＲＯ補正値を算出する。ＲＲＯ及びＲＲＯ補正値の算出については、例えば特開２００４−３４２２９８号公報にあるように広く知られた技術であり、詳細な説明を省略する。
【００３７】
ＲＲＯ補正値を算出すると、その後、ＨＤＣ／ＭＰＵ２３は、その新たに算出したＲＲＯ補正値によるＲＲＯ補正を伴うサーボ制御を行い、リード素子３２をターゲット位置にフォローイングさせる。ＨＤＣ／ＭＰＵ２３は、このＲＲＯ補正値を使用したサーボ制御によるフォローイングを行いながら、エラーを起こしたターゲット・セクタのリードあるいはライトを試みる。
【００３８】
ＨＤＣ／ＭＰＵ２３は、ライトＥＲＰにおいて、磁気ディスク１１上のＲＲＯ補正データを使用したフォローイング、あるいは使用しないフォローイングにおいてＲＲＯ測定する。磁気ディスク１１上の記録ＲＲＯ補正データを使用する場合は、ＨＤＣ／ＭＰＵ２３は、新たなＲＲＯ補正値の算出においてもそれを組み込んだ演算を行う。通常リード用のＲＲＯ補正データは磁気ディスク１１に記録されていないので、リードＥＲＰにおいては、ターゲット位置への通常サーボ制御を行いＲＲＯ測定する。
【００３９】
ライトあるいはリードのエラーが発生した場合、できるだけ短い時間でのエラー回復を行うことが要求される。上記ＲＲＯの測定及びＲＲＯ補正値の算出に必要な時間（データ量）は、ＨＤＣ／ＭＰＵ２３の性能や使用するアルゴリズムによって変化するが、典型的には、磁気ディスク１１の数回転が必要とされる。ＲＲＯの測定及びＲＲＯ補正係数の算出のためのみにこの時間費やすことは、エラー回復にかかる時間の増加となる。従って、ＥＲＰにおける他の処理と並行してＲＲＯの測定及びＲＲＯ補正係数の算出を行うことが好ましい。
【００４０】
ＥＲＰは、上述のように複数のＥＲＰステップを有している。従って、他のＥＲＰステップにおけるフォローイング中にＲＲＯの測定及びＲＲＯ補正係数の算出を行うことで、それらに要する時間を短縮することができる。例えば、通常のリードあるいはライト処理と同様の条件でリトライを行うＥＲＰステップにおいて、あるいは、ＲＷチャネル２１のパラメータを変更してリトライを行うＥＲＰステップにおいて、リード素子３２は磁気ディスク１１上をフォローイングして少なくとも１周する。
【００４１】
ＨＤＣ／ＭＰＵ２３は、このフォローイングをＲＲＯの測定及びＲＲＯ補正値の計算のために使用する。また、一つのＥＲＰステップにおいてＲＲＯの測定及びＲＲＯ補正値の計算が終了しない場合には、ＨＤＣ／ＭＰＵ２３は、複数のＥＲＰステップにわたってＲＲＯの測定及びＲＲＯ補正値の計算を行うことで、測定及び計算時間の短縮を図ることができる。なお、測定の一部を他のＥＲＰステップにおいて並行して行い、残りの処理をＲＲＯ補正制御を目的としたＥＲＰステップにおいて行ってもよい。なお、ＲＲＯは半径位置によって異なる。従って、ＥＲＰにおけるＲＲＯの測定は、ターゲットとしているセクタに対応したターゲット位置において行うことが好ましい。
【００４２】
例えば、通常のリード／ライト処理と同様のリトライを行うＥＲＰステップにおいてＲＲＯの測定の一部の処理を行う。このＥＲＰステップにおいては、ターゲット・セクタのリード／ライトを試みる。次のＥＲＰステップにおいて、ＲＲＯの測定及びＲＲＯ補正値の計算の残りの処理を行う。この処理の間に、ターゲット・セクタのリード／ライトのリトライは行わない。新たなＲＲＯ補正値が算出されると、ＨＤＣ／ＭＰＵ２３はその補正値を使用してフォローイングを行い、ターゲット・セクタのリード／ライトを試みる。これによってエラー回復できない場合、ＨＤＣ／ＭＰＵ２３は次のＥＲＰステップに移る。
【００４３】
ＨＤＣ／ＭＰＵ２３は、ＥＲＰにおいて新たに特定したＲＲＯ補正値を、そのＥＲＰにおいてのみ使用する他、あるいは、次のＥＲＰにおいて使用することができる。あるいは、ライトＥＲＰにおいて算出したＲＲＯ補正値を、磁気ディスク１１にすでに記録されているＲＲＯ補正データに上書きすることができる。ここで重要なことは、ＥＲＰにおいて測定されたＲＲＯは、恒常的なものである場合と、一時的なものである場合とがあることである。一時的なＲＲＯである場合には、磁気ディスク１１にそのＲＲＯ補正値を記録することなく、そのＥＲＰ内においてのみ使用することが好ましい。
【００４４】
従って、ＨＤＣ／ＭＰＵ２３は、測定したＲＲＯが一時的なものであるかを判定し、一一次的なものであると判定した場合には、磁気ディスク１１にその補正値を記録しない。一方、恒常的なものであると判定した場合には、例えば、磁気ディスク磁気ディスク１１上のＲＲＯ補正データを新たに算出したＲＲＯ補正値で更新する。あるいは、ＲＡＭやＲＯＭなどの磁気ディスク１１以外のメモリ容量の余裕があれば、これらにＲＲＯ補正値を格納しておき、通常ライト処理において使用することができる。
【００４５】
ＨＤＣ／ＭＰＵ２３は、例えば、上記の判定をＲＶセンサ２５（回転振動センサ２５）の検出値を使用して行うことができる。ＲＶセンサ２５は、外部要因によるＨＤＤ１の振動（回転や移動による振動を含む）を検出することができる。これらが存在する場合には、ＲＲＯは一時的なものであると考えられる。従って、ＨＤＣ／ＭＰＵ２３は、例えば、ＲＶセンサ２５の検出値が予め設定されている基準値を超える場合には、ＲＲＯが一時的なものであると判定する。このように、ＲＲＯの性質によって算出したＲＲＯ補正値の使用方法を変更することによって、ＨＤＤ１の使用状況に応じた適切なサーボ制御を行うことができる。なお、他の手法により振動条件などを検出し、それに応じてＲＲＯの性質を判定するようにしてもよい。
【００４６】
続いて、図４のブロック図及び図５のフローチャートを参照して、上述のＲＲＯ補正処理の好ましい一例について説明する。ターゲット・セクタに対する通常のリード／ライト処理においてエラーが発生すると（Ｓ１１）、ＨＤＣ／ＭＰＵ２３は、そのリード／ライトのＥＲＰを開始する（Ｓ１２）。ＨＤＣ／ＭＰＵ２３は、ＥＲＰテーブル２４１を参照して、優先順位の高いＥＲＰステップから、順次実行していく。
【００４７】
ＥＲＰ内で算出されたＲＲＯ補正値を使用したサーボ制御を行うＥＲＰステップは、最初のＥＲＰステップではなく、いくつかのＥＲＰステップを実行した後のＥＲＰステップとして存在する。ＨＤＣ／ＭＰＵ２３は、他のＥＲＰステップにおけるフォローイング中にＲＲＯを測定し（Ｓ１３）、さらに、測定したＲＲＯからＲＲＯ補正値を算出する（Ｓ１４）。ＨＤＣ／ＭＰＵ２３は、算出した各サーボ・セクタのＲＲＯ補正値をＲＡＭ２４のＲＲＯバッファ内に格納する。
【００４８】
特定のＥＲＰステップにおいて、ＨＤＣ／ＭＰＵ２３は、上記格納したＲＲＯ補正データを使用してフォローイングを行い（Ｓ１５）、ターゲット・セクタのリード／ライトを再度試みる（Ｓ１６）。正確なリード／ライトを行うことができ、エラー回復した場合、ＥＲＰが終了する。エラー回復がなされない場合、ＨＤＣ／ＭＰＵ２３は、次のＥＲＰステップを実行する。
【００４９】
ライトＥＲＰにおいてＲＲＯ補正値を算出した場合、ＨＤＣ／ＭＰＵ２３は、そのＲＲＯが一時的なものであるか恒常的なものであるかを判定する（Ｓ１７）。一時的なものであると判定した場合（Ｓ１７におけるＹ）、ＨＤＣ／ＭＰＵ２３はそのＲＲＯ補正値を今回のＥＲＰにおいてのみ使用し、メモリ上のＲＲＯ補正値は必要に応じて他のデータによって上書きされる（Ｓ１８）。一時的なＲＲＯではないと判定した場合、ＨＤＣ／ＭＰＵ２３は、磁気ディスク１１上のＲＲＯ補正フィールド１１７のデータを、新たに算出したＲＲＯ補正値によって更新する（Ｓ１９）。
【００５０】
以上、本発明を好ましい実施形態を例として説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本発明のＥＲＰは、磁気ディスク上のＲＲＯ補正データの有無に係らずＨＤＤに実装することができる。具体的には、磁気ディスク上にリード用のＲＲＯ補正データが記録されているＨＤＤ、あるいは、磁気ディスク上にライト用（及びリード用）のＲＲＯ補正データが記録されてないＨＤＤに本発明を適用することができる。リード用のＲＲＯ補正データが磁気ディスクに記録されている場合、ライト用のＲＲＯ補正データと同様に、条件に応じて新たに算出したＲＲＯ補正データで更新するように構成してもよい。
【００５１】
また、新たなＲＲＯ補正値の算出は、リードＥＲＰ及びライトのＥＲＰの双方あるいはその一方においてのみ行ってもよい。本発明は、上述のように複数ステップからなるＥＲＰのみならず、一ステップのみからなるエラー回復処理など、他の態様のエラー回復処理に適用することができる。また、本発明は、ＲＲＯ補正以外のサーボ補正あるいはＨＤＤ以外のディスク・ドライブ装置に適用することができる。
【図面の簡単な説明】
【００５２】
【図１】本実施形態において、ＨＤＤの全体構成を模式的に示すブロック図である。
【図２】本実施形態において、磁気ディスク上に記憶されているデータのフォーマットを模式的に示す図である。
【図３】本実施形態において、通常ライト処理及び通常リード処理におけるサーボ制御において、ライト素子及びリード素子の位置を模式的に示している。
【図４】本実施形態において、ＥＲＰに関連する各機能要素を模式的に示すブロック図である。
【図５】本実施形態のＥＲＰにおけるＲＲＯ測定、ＲＲＯ補正値の算出及びＲＲＯ補正値を伴うサーボ制御を示すフローチャートである。
【符号の説明】
【００５３】
１  ハードディスク・ドライブ、１０  エンクロージャ、１１  磁気ディスク
１２  ヘッド・スライダ、１４  スピンドル・モータ、１５  ボイス・コイル・モータ
１６  アクチュエータ、２０  回路基板、２１  リード・ライト・チャネル
２２  モータ・ドライバ・ユニット、２３  ハードディスク・コントローラ／ＭＰＵ
２４  ＲＡＭ、３１  ライト素子、３２  リード素子、５１  ホスト
１１１  サーボ領域、１１２  データ領域、１１３  ゾーン、１１４  データ・セクタ
１１５  サーボ・セクタ、１１６  位置データ・フィールド
１１７  ＲＲＯ補正データ・フィールド、２４１  ＥＲＰテーブル
２４２  ＲＲＯバッファ、２４３  データ・バッファ
【図１】
2008198252.tif 000003
【図２】
2008198252.tif 000004
【図３】
2008198252.tif 000005
【図４】
2008198252.tif 000006
【図５】
2008198252.tif 000007