データトラックにアクセスする際に補正情報を適用する磁気ディスク装置
【課題】通常の利用形態ではアクセス効率が悪いデータトラックに効率的にアクセスできるようにする。
【解決手段】CPU22は、HDD10内のディスク11上の利用可能なデータトラックにアクセスすることにより、所定の判定基準を満たすかを検出する。CPU22は、所定のデータトラックが、所定の判定基準を満たさない場合に、当該所定の判定基準で利用するための補正情報を取得する。CPU22は、取得された補正情報を所定のデータトラックに対応付けてFROM23の領域231に格納する。CPU22は、補正情報に基づいて所定のデータトラックへのアクセスを制御する。
【解決手段】CPU22は、HDD10内のディスク11上の利用可能なデータトラックにアクセスすることにより、所定の判定基準を満たすかを検出する。CPU22は、所定のデータトラックが、所定の判定基準を満たさない場合に、当該所定の判定基準で利用するための補正情報を取得する。CPU22は、取得された補正情報を所定のデータトラックに対応付けてFROM23の領域231に格納する。CPU22は、補正情報に基づいて所定のデータトラックへのアクセスを制御する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データトラックにアクセスする際に補正情報を適用する磁気ディスク装置に係り、特に通常の利用形態でにおいてアクセス効率が悪いデータトラックへのアクセスに際して当該データトラックに適した補正情報を利用可能とする磁気ディスク装置に関する。
【背景技術】
【0002】
一般に、磁気ディスク装置では、ヘッドを目標とするデータトラック(目標トラック)に位置付けるためのヘッド位置決め制御が行われる。ヘッド位置決め制御は、ヘッドを目標トラックに移動するためのシーク制御と、目標トラックに移動されたヘッドを目標トラックの目標位置に整定するためのトラック追従制御とから構成される。なお、ヘッド位置決め制御は、狭義には、トラック追従制御を指す場合もある。
【0003】
ヘッド位置決め制御において、ヘッドを目標トラックに位置付ける際に発生する目標位置からのずれ(つまり、誤差)は、位置誤差と呼ばれる。例えば特許文献1、2は、この位置誤差の種々の要因を開示している。また特許文献1、2は、ディスク上のトラックに、例えばディスクの回転に伴う要因により偏心が発生することを開示している。更に特許文献1、2は、ディスクの回転に伴う要因として、ディスクを回転させるためのスピンドルモータの軸振れ、サーボ情報をディスクに書き込むときの当該ディスクの振動、ディスクの形状の伸縮等を開示している。
【0004】
特に特許文献1は、ディスク回転に伴って発生するトラックの偏心に起因する位置誤差(つまり偏心成分)を、学習によって取得された補正情報に基づいて抑制するための技術(以下、先行技術と称する)を理論と共に開示している。
【0005】
一方、特許文献2は、複数トラック間で相関のある同期成分を学習処理により検出するのに要する時間を短縮するための技術を理論と共に開示している。この特許文献2に記載されている学習処理は、ディスクの回転に同期するトラックの同期成分(つまり偏心成分)に基づいて行われる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−39814号公報
【特許文献2】特開2000−195202号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記先行技術において、トラックの偏心に起因する位置誤差を抑制するのに用いられる補正情報は、ディスク上の複数のエリア(より詳細には、リング状のエリア)のそれぞれについて学習により最適化されて取得される。複数のエリアの各々は、複数のトラックを有する。エリア毎に取得される補正情報(以下、エリア学習値と称する)はメモリに格納される。
【0008】
上記先行技術によれば、目標トラックにヘッドを位置付けるための位置決め制御において、当該目標トラックが属するエリアに対応するエリア学習値をメモリから読み出して利用することができる。
【0009】
しかし、目標トラックと当該目標トラックが属するエリア内の他のトラックとの間で、偏心成分(例えば特許文献2に記載されているような同期成分)に関して相関の度合いが比較的低い場合、次のような状態を招く。以下の説明では、他のトラック(例えば隣接するトラック)との間で、偏心成分に関して相関の度合いが比較的低いトラックを、第1のタイプのトラックと称する。また、他のトラックとの間で、偏心成分に関して相関の度合いが高いトラックを、第2のタイプのトラックと称する。
【0010】
まず、第1のタイプのトラックの偏心成分を抑制するための補正情報(つまり、第1のタイプのトラックの学習値)は、当該第1のタイプのトラックが属するエリアに対応したエリア学習値と異なる値を持つ。そのため、第1のタイプのトラックにヘッドを位置付けるためのヘッド位置決め制御を、エリア学習値に基づいて行うと、ヘッド位置決め精度の悪化、シーク応答時間の悪化、補正情報の学習の収束速度の悪化が発生する。
【0011】
通常、エリア内の他のトラックとの間で、偏心成分に関して相関の度合いが極めて低いため、予め定られた判定基準(第1の判定基準)を満たさないトラック(つまり、判定基準での利用が困難なトラック)は、対応する磁気ディスク装置を製造する工程(製造工程)で、不良トラックとして検出される。不良トラックとして検出されるトラックは、例えばデータを書き込むことができないトラック、或いはデータを読み出すことができないトラックである。検出された不良トラックには、代替トラックが割り当てられる。
【0012】
一方、上述の第1のタイプのトラックの偏心成分は、他のトラックとの間の相関の度合いに関して比較的低い程度であるため、当該第1のタイプのトラックは上記判定基準を満たす。このため、第1のタイプのトラックは、製造工程では不良セクタとして検出されない。上記判定基準を満たす第1のタイプのトラックは、データを書き込むまたは読み出すまでに長時間を要するものの、データの書き込みまたは読み出し自体は可能であるためである。したがって、第1のタイプのトラックは、製造工程での検査を通過する。
【0013】
検査を通過した第1のタイプのトラックへのアクセスが発生すると、上述したようにヘッドの位置決め精度の悪化、シーク応答時間の悪化、補正情報の学習の収束速度の悪化が発生する。つまり第1のタイプのトラックはアクセス効率が悪い。また、磁気ディスク装置の出荷後に、第2のタイプのトラックが、例えば経時変化により第1のタイプのトラックに変化することもある。
【0014】
本発明は上記事情を考慮してなされたものでその目的は、通常の利用形態ではアクセス効率が悪いデータトラックに効率的にアクセスすることができる磁気ディスク装置を提供することにある。
【課題を解決するための手段】
【0015】
本発明の1つの態様によれば、磁気ディスク装置が提供される。この磁気ディスク装置は、記憶手段と、前記磁気ディスク装置内のディスク上の利用可能なデータトラックにアクセスし、所定の判定基準を満たすかを検出する検出手段と、所定のデータトラックが、前記所定の判定基準を満たさない場合に、前記所定の判定基準で利用するための補正情報を取得する補正情報取得手段と、前記取得された補正情報を、前記所定のデータトラックに対応付けて、前記記憶手段に格納する格納手段と、前記補正情報に基づいて前記所定のデータトラックへのアクセスを制御する制御手段とを具備する。
【発明の効果】
【0016】
本発明によれば、例えば、磁気ディスク装置の製造工程での検査を通過した、利用可能なデータトラックであっても、所定の判定基準を満たさない場合には、当該所定の判定基準で利用するための補正情報を取得して、当該所定の判定基準を満たさないデータトラックに対応付けて記憶手段に格納することにより、当該補正情報を利用して、当該所定の判定基準を満たさないデータトラックへのアクセスを制御することができる。このため本発明によれば、所定の判定基準を満たさないデータトラックに効率的にアクセスすることができる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態に係る磁気ディスク装置を備えた電子機器の構成を示すブロック図。
【図2】同実施形態で適用されるディスク上のゾーン配置の例を示す概念図。
【図3】同一エリア内の複数のトラックの偏心を反映したトラック形状の例を示す図。
【図4】同実施形態におけるヘッド位置決め処理の手順を示すフローチャート。
【図5】上記ヘッド位置決め処理に含まれている補正情報決定処理の手順を示すフローチャート。
【図6】同実施形態において、トラック上のセクタ位置に対するエリア学習値とトラック学習値との関係の例を、エリア学習値とトラック学習値との差分が小さい場合と大きい場合のそれぞれについて示す図。
【図7】エリア学習値とトラック学習値との差分を積算した値を、図6の例におけるエリア学習値とトラック学習値との差分が小さい場合と大きい場合のそれぞれについて、棒グラフで示す図。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係る磁気ディスク装置を備えた電子機器1の構成を示すブロック図である。電子機器1は、磁気ディスク装置(HDD)10及びホスト100から構成される。電子機器1は、例えば、パーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、或いは携帯電話機である。ホスト100はHDD10を当該ホスト100の記憶装置として利用する。HDD10はホストインタフェース110によりホスト100と接続されている。
【0019】
HDD10は、記録媒体としてのディスク(磁気ディスク)11を備えている。このディスク11は上側と下側の2つのディスク面を有している。ディスク11の例えば上側のディスク面は、データが磁気記録される記録面をなしている。このディスク11の記録面に対応して、ヘッド(磁気ヘッド)12が配置されている。ヘッド12は、ディスク11へのデータ書き込み及び当該ディスク11からのデータ読み出しに用いられる。なお、図1では、作図の都合上、ヘッド12が1つであるHDD10の例が示されている。しかし、一般には、ディスク11の2つのディスク面が共に記録面をなしており、各々のディスク面に対応してヘッドが配置される。また図1の構成では、単一枚のディスク11を備えたHDD10を想定している。しかし、ディスク11が複数枚積層配置されたHDDであっても構わない。
【0020】
ディスク11はスピンドルモータ(SPM)13によって高速に回転させられる。ヘッド12は、アクチュエータ14の先端に取り付けられている。ヘッド12は、ディスク11が高速に回転することにより当該ディスク11上で浮上する。アクチュエータ14は、当該アクチュエータ14の駆動源となるボイスコイルモータ(VCM)15を有している。アクチュエータ14は、このVCM15により駆動されて、ヘッド12をディスク11の半径方向に移動する。つまりアクチュエータ14は、ヘッド12をディスク11の半径方向に移動可能に支持する。このアクチュエータ14の動作により、ヘッド12は、ディスク11の目標トラック上に位置付けられる。SPM13及びVCM15は、モータドライバIC16からそれぞれ供給される駆動電流により駆動される。
【0021】
ディスク11の記録面には、複数のサーボ領域111がディスク11の半径方向に放射状に、且つディスク11の円周方向に等間隔で離散的に配置されている。各サーボ領域111には、サーボデータが予め磁気的に書き込まれている。図1では、作図の都合で、サーボ領域111の個数が12の場合が示されている。しかしサーボ領域111の個数は、近年のHDDでは100以上である場合が一般的である。
【0022】
サーボデータは、SPM13によって回転させられるディスク11に対して、当該ディスク11の目標とする半径位置にヘッド12を位置付けるための制御(ヘッド位置決め制御)に用いられる位置情報を含む。この位置情報は、シリンダコード(シリンダ番号)とバーストデータとを含む。シリンダコードは、対応するサーボ情報が書き込まれているディスク1-i上のシリンダ(トラック)位置を示す。バーストデータは、対応するサーボデータが書き込まれているシリンダにおけるヘッドの相対的な位置情報(位置誤差)を示す。サーボデータに基づくヘッド位置決め制御により、ヘッド12はディスク11の記録面上を目標とする同心円112に沿って移動(つまり同心円112を辿る)ことが可能である。但し、同心円112はディスク11の中心に対して偏心しているのが一般的である。
【0023】
ディスク11において、同心円112上の隣接するサーボ領域で挟まれた領域はユーザデータ領域113と呼ばれる。ユーザデータ領域113には、複数のデータセクタ(以下、単にセクタと称する)が配置される。ヘッド12は、同心円112を辿りながら、当該同心円112上のユーザデータ領域113へデータを書き込む、または当該同心円112上の領域からデータを読み出す。ディスク11の記録面の同心円112上の領域はトラックと呼ばれる。そこで以降の説明では、このトラックをトラック112と表現する。
【0024】
ディスク11には、CDR(constant density recording)と呼ばれる記録フォーマットが適用されている。このCDRフォーマットを適用するディスク11の記録面は、当該ディスク11の半径方向に複数のゾーン(CDRゾーン)に区分して管理される。各ゾーンのトラック(シリンダ)当たりのセクタの数は、ディスク11の外周側のゾーンほど多く設定されている。
【0025】
図2は、ディスク11上のゾーン配置の例を示す概念図である。図2の例では、簡略化のために、ディスク11の記録面が3つのゾーンZ0乃至Z2に区分して管理され、各ゾーンZi(i=0,1,2)が2つのトラックから構成されるものとする。実際には、ディスク11の記録面が3つを超えるゾーンに区分され、各ゾーンは2つを超えるトラックから構成される。また図2の例では、図1に示されるサーボ領域111は省略されている。
【0026】
ディスク11の記録面から外れた位置、例えばディスク11の外周に近接する位置には、ランプ17が配置されている。ランプ17は、HDD10が非動作状態にある期間、ヘッド12をリトラクトさせておくための退避領域171を提供する。なお、非動作状態とは、HDD10の電源が遮断された場合のようにHDD10が動作を完全に停止している状態の他、HDD10の特定のパワーセーブモードの状態も含むものとする。特定のパワーセーブモードは、HDD10内で自律的に設定される他、ホスト100からの指示によっても設定される。
【0027】
ヘッド12は図示せぬフレキシブルプリントケーブル(FPC)に形成された配線パターンを介してヘッドIC(ヘッドアンプ回路)18と接続されている。ヘッドIC18は、ヘッド12により読み出されたリード信号を増幅するリードアンプ、及びライトデータをライト電流に変換するライトドライバ(いずれも図示せず)を含む。
【0028】
ヘッドIC18は、リード/ライトIC(リード/ライトチャネル)19と接続されている。リード/ライトIC19は各種の信号処理を実行する信号処理モジュールである。リード/ライトIC19は、ヘッドIC18によって増幅されたリード信号をデジタルデータに変換するためのアナログ/ディジタル変換処理を実行する。リード/ライトIC19は、前記デジタルデータからサーボデータを抽出するための処理を実行する。リード/ライトIC19は、前記デジタルデータ(リードデータ)を復号化するための処理、及びライトデータを符号化するための処理を実行する。
【0029】
リード/ライトIC19は、ディスクコントローラ(HDC)20及びCPU21と接続されている。HDC20はバッファRAM21及びCPU22と接続されている。HDC20はまた、ホストインタフェース110を介してホスト100と接続されている。HDC20は、ホスト100からホストインタフェース110を介して転送されるコマンド(ライトコマンド、リードコマンド等)の受信と、ホスト100と当該HDC20との間のデータ転送とを制御するホストインタフェース制御機能を有する。HDC20はまた、リード/ライトIC19を介して行われるディスク11と当該HDC20との間のデータ転送を制御するディスクインタフェース制御機能を有する。HDC20はまたバッファRAM21を制御するバッファインタフェース制御機能を有する。
【0030】
バッファRAM21の記憶領域の一部は、HDC20を介してディスク11に書き込まれるべきデータ(ライトデータ)を一時格納するためのライトバッファとして用いられる。バッファRAM21の記憶領域の他の一部は、ディスク11からHDC20を介して読み出されたデータ(リードデータ)を一時格納するためのリードバッファとして用いられる。
【0031】
CPU22は、モータドライバIC16と接続されると共に、フラッシュROM(FROM)23及びRAM24と接続されている。FROM23は、CPU22が実行すべき制御プログラム(ファームウェア)を格納する書き換え可能な不揮発性メモリであり。RAM24は、CPU22の作業領域を提供する揮発性メモリである。CPU22は制御プログラムを実行することによりHDD10の主コントローラとして機能する。制御プログラムは、ヘッド位置決め処理ルーチンを含む。
【0032】
FROM23の記憶領域の一部は第1学習値領域231に割り当てられ、FROM23の記憶領域の他の一部は第2学習値領域232に割り当てられている。第2学習値領域232は、HDD10の製造段階でディスク11上の予め定められたエリア(より詳細には、リング状のエリア)毎に取得される周知の学習値(つまり、エリア学習値)を、そのエリア(より詳細には、そのエリアを特定するための情報)に対応付けて格納する第2の記憶手段(記憶モジュール)として用いられる。第2学習値領域232に格納されているエリア学習値は、必要に応じて更新される。この更新の条件については後述する。
【0033】
本実施形態において、予め定められたエリアはゾーンである。したがって、エリアをゾーンと読み替えても構わない。なお、ディスク11の2つのディスク面が共に記録面をなしており、各々のディスク面に対応してヘッドが配置される場合、エリア学習値は、そのエリア(より詳細には、そのエリアを特定するための情報)及びそのエリアが属する記録面側に存在するヘッド(より詳細には、そのヘッドを特定するための情報)に対応付けて第2学習値領域232に格納される。エリアを特定するための情報は、エリアがゾーンである本実施形態では、例えばゾーン番号であり、ヘッドを特定するための情報は、例えばヘッド番号である。
【0034】
第1学習値領域231は、HDD10が出荷された後に取得されるトラックの学習値(トラック学習値)を、そのトラック(より詳細には、そのトラックを特定するための情報)に対応付けて格納する第1の記憶手段(記憶モジュール)として用いられる。第1学習値領域231に格納されているトラック学習値は、必要に応じて更新される。トラックを特定するための情報は、例えばトラック番号である。トラック番号は、本実施形態と異なって複数のヘッドが存在する場合、ヘッド番号とシリンダ番号とから決定される。トラック学習値を格納または更新する条件については後述する。
【0035】
図3は、ディスク11上の同一のゾーン(エリア)Ziに属する、トラック番号がN−2,N−1,N,N+1,N+2の5つのトラックN−2,N−1,N,N+1,N+2のディスク11の中心に対する偏心の状態を、トラック形状として模式的に示す。ここでの偏心は、ディスク11の回転に伴って(より具体的には、ディスク11の回転に同期して)発生するものとする。図3において、破線は、トラックN−2,N−1,N,N+1,N+2の偏心がないときの理想的なトラック形状を示す。
【0036】
図3の例では、トラックN−2,N−1,N,N+2の間では、偏心成分、例えばディスク11の回転に同期した偏心成分(つまり同期成分)に関して相関の度合いが高いものとする。一方、トラックN+1は、他のトラックN−2,N−1,N,N+2(特に隣接するトラックN,N+2)との間で、偏心成分に関して相関の度合いが比較的低いものとする。トラックN+1を隣接非相関トラック、または第1のタイプのトラックと称する。トラックN−2,N−1,N,N+2を隣接相関トラック、または第2のタイプのトラックと称する。
【0037】
次に、本実施形態の動作について、ヘッド12をディスク11上の目標とするトラック(目標トラック)112に位置付けるためのヘッド位置決め処理を例に、図4及び図5のフローチャートを参照して説明する。ここでは、目標トラック112がゾーンZiに属するものとする。
【0038】
CPU22は、ヘッド12を目標トラック112に位置付ける際にFROM23の第1学習値領域231を参照する。そしてCPU22は判定(検出)手段として機能して、目標トラック112の学習値(トラック学習値)が当該目標トラック112のトラック番号に対応付けて第1学習値領域231に格納されているかを判定する(ステップ401)。
【0039】
もし、目標トラック112の学習値が第1学習値領域231に格納されている場合(ステップ401のYES)、CPU22はステップ402に進む。ステップ402においてCPU22は選択手段として機能して、目標トラック112の学習値を第1学習値領域231から選択的に取得する。取得された目標トラック112の学習値は、当該目標トラック112のディスク11の回転に同期した偏心成分を抑制するための補正情報(第1の補正情報)として用いられる。
【0040】
これに対し、目標トラック112の学習値が第1学習値領域231に格納されていない場合(ステップ401のNO)、CPU22はステップ403に進む。ステップ403においてCPU22は選択手段として機能して、目標トラック112が属するゾーン(エリア)Ziのゾーン番号に対応付けられている当該ゾーン(エリア)Ziの学習値を、FROM23の第2学習値領域232から選択的に取得する。取得されたエリアZiの学習値は、当該エリアZiに属する目標トラック112のディスク11の回転に同期した偏心成分を抑制するための補正情報(第2の補正情報)として用いられる。
【0041】
CPU22は、ステップ402または403で補正情報を取得すると、ヘッド位置決め制御手段として機能してヘッド位置決め制御を実行する(ステップ404)。このヘッド位置決め制御では、シーク制御及びトラック追従制御が行われる。
【0042】
シーク制御は、周知のように、ヘッド12をディスク11上の目標トラック112に移動させるために実行される。シーク制御においてCPU22は、ヘッド12を現在の位置から目標トラック112に移動させるのに必要な駆動電流を示す制御値を算出する。CPU21は、この制御値をモータドライバIC16内のVCMドライバに設定する。VCMドライバは、設定された制御値で表される駆動電流をVCM15に供給することにより当該VCM15を駆動して、アクチュエータ14を回動させる。これによりヘッド12はディスク11上を当該ディスク11の半径方向に移動する。
【0043】
このときヘッド12は、ディスク11に磁気記録されている情報を読み取り、リード信号として出力する。ヘッドIC18は、このリード信号を増幅する。リード/ライトIC19は、増幅されたリード信号をデジタルデータに変換し、当該デジタルデータからサーボデータを抽出する。CPU22は、リード/ライトIC19によって抽出されたサーボデータ(より詳細には、サーボデータに含まれているシリンダコード)に基づいて、現在のヘッド12の位置(より詳細にはディスク11上の半径位置)を検出する。CPU22は、検出された現在のヘッド12の位置から当該ヘッド12を目標トラック112に移動させるのに必要な制御値を再び演算により生成する。以下、同様にして、ヘッド12を目標トラック112に移動させるためのシーク制御が行われる。
【0044】
トラック追従制御は、周知のように、目標トラック111に移動されたヘッド12を、当該目標トラック111の目標位置に整定するために実行される。トラック追従制御においてCPU22は、リード/ライトIC19によって抽出されるサーボデータ(より詳細には、サーボデータに含まれているバーストデータ)に基づいて、現在のヘッド12の位置の目標位置からのずれを位置誤差として検出する。
【0045】
CPU22は、検出された位置誤差に応じて、ヘッド12を目標トラック112の目標位置に整定する(位置付ける)ための第1の制御値を算出する。CPU22はまた、取得した補正情報に基づいて、当該補正情報の示す偏心成分(つまり偏心成分の学習値)を、検出された位置誤差から除去するための第2の制御値を算出する。
【0046】
CPU22は、第1の制御値と第2の制御値とを加算することにより、ヘッド12を目標トラック112の目標位置に整定するための補正された制御値を算出する。CPU22は、算出された制御値をモータドライバIC16内のVCMドライバに設定することで、ヘッド12を目標位置に整定させる。するとCPU22は、再び位置誤差を検出する。この位置誤差は、1回のトラック追従制御(つまりトラック追従のためのフィードバック制御)の結果を表す。
【0047】
CPU22は、この位置誤差が、予め定められた第1の閾値TH1未満であるかを判定する(ステップ405)。もし、位置誤差が第1の閾値TH1未満であるならば(ステップ405のYES)、CPU22はヘッド12を目標トラック112の目標位置に整定できた判断する。この場合、CPU22は、目標トラック112(より詳細には目標トラック112の目的とするセクタ)へのデータ書き込みまたは目標トラック112からのデータの読み出しのための書き込み/読み出し動作を制御する(ステップ406)。そしてCPU22は、次の書き込み/読み出し動作を実行すべきであるかを判定し(ステップ407)、そうであるならば(ステップ407のYES)、ステップ401に戻り、そうでないならば(ステップ407のNO)、ヘッド位置決め処理を終了する。
【0048】
一方、上記位置誤差が第1の閾値TH1未満でないならば(ステップ405のNO)、CPU22はヘッド12を目標トラック112の目標位置に整定できなかったと判断する。つまりCPU22は補正情報取得手段として機能して、ヘッド位置決めが収束していないと判断する。この場合、CPU22は、特許文献1または2に記載されているような学習型フィードフォワード制御系により、目標トラック112の補正情報を学習する(ステップ408)。即ちCPU22は、目標トラック112の偏心成分、例えばディスク11の回転に同期した偏心成分(同期成分)を検出(学習)し、検出された偏心成分を、当該目標トラック112の補正情報(つまり学習値)として取得する。
【0049】
次にCPU22は判定(検出)手段として機能して、ステップ408で取得された目標トラック112の学習値が、当該目標トラック112が属するエリアZiの学習値と大きく異なっていないかを判定する。CPU22は、この判定に、判定値と予め定められた第2の閾値TH2とを用いる。CPU22は、この判定値として、例えば、エリアZiの学習値と取得された目標トラック112の学習値との差分Δの積算値ΣΔを用いる。つまりCPU22は、上記判定値が第2の閾値TH2未満であるかを判定することにより、目標トラック112の学習値がエリアZiの学習値と大きく異なっていないかを判定する(ステップ409)。
【0050】
以下、この判定の意義について、図6及び図7を参照して説明する。図6において、同図(a),(b)は、トラック上のセクタ位置(X軸方向)に対する、エリア学習値とトラック学習値(Y軸方向)との関係の例を、エリア学習値とトラック学習値との差分が小さい場合と大きい場合のそれぞれについて模式的に示す。上記差分は、図6(a)ではΔAで表され、図6(b)ではΔBで表されている。つまり、図6(a),(b)において、エリア学習値とトラック学習値をそれぞれ示す曲線で囲まれた領域(ハッチングされた領域)のY軸方向の長さが、エリア学習値とトラック学習値との差分に相当する。
【0051】
CPU22は、ステップ409での判定に際し、エリア学習値とトラック学習値との差分の積算値Δを算出する。そしてCPU22は、この積算値Δを判定値として用いて、当該判定値(積算値Δ)が第2の閾値TH2未満であるかを判定する(ステップ409)。第2の閾値TH2は、例えば、ヘッド12を目標トラックの目標位置に位置付ける際のヘッド位置決め精度やHDD10の動作パフォーマンスがHDDの仕様を満たすように実験的に求められるものとする。なお、第2の閾値TH2は必ずしも固定値である必要はない。例えば、第2の閾値TH2が、目標トラック112が属するエリア(ゾーン)、或いはHDD10の動作環境(温度、気圧)などの条件に応じて切り替えられても構わない。
【0052】
図7は、図6(a),(b)に示されるエリア学習値とトラック学習値との差分ΔA,ΔBをそれぞれ積算した値(積算値)DVA(=ΣΔA),DVB(=ΣΔB)を棒グラフで示す。図7の例では、積算値DVA(=ΣΔA)は第2の閾値TH2未満であり、積算値DVB(=ΣΔB)は第2の閾値TH2を超えている。
【0053】
CPU22は、図7に示される積算値DVAのように、エリア学習値とトラック学習値との差分の積算値(つまり判定値)が第2の閾値TH2未満である場合(ステップ409のYES)、エリア学習値とトラック学習値とは同等であると判定する。この場合、CPU22はステップ410に進む。
【0054】
エリア学習値とトラック学習値とが同等であるとは、目標トラック112とエリアZi内の他のトラックとの間で、ディスク11の回転に同期した偏心成分に関する相関の度合いが、予め定められた閾値(相関度合い)と比較して高いことを意味する。つまりエリア学習値とトラック学習値とが同等であるとは、目標トラック112とエリアZi内の他のトラックとの間で、ディスク11の回転に同期した偏心成分に関して相関があり、当該目標トラック112が第2のタイプのトラック(隣接相関トラック)であることを意味する。
【0055】
目標トラック112が第2のタイプのトラックの場合、エリア学習値に基づいてヘッド12を当該目標トラック112に位置付けるためのヘッド位置決め制御を実行しても、アクセス効率の悪化を招くおそれはない。つまり、第2の閾値TH2を判定基準として第2のタイプのトラックであると判定される目標トラック112は、エリア学習値(第2の補正情報)に基づく利用が可能である。このことは、第2のタイプのトラックであると判定される目標トラック112が、上記判定基準(第2の判定基準)に基づく利用が可能であることと等価である。この判定基準(第2の判定基準)は、製造工程での検査に用いられる判定基準(第1の判定基準)に比較して同等であるか、或いは相対的に高いものとする。
【0056】
これに対し、図7に示される積算値DVBのように、エリア学習値とトラック学習値との差分の積算値(つまり判定値)が第2の閾値TH2を超えている場合(ステップ409のNO)、CPU22は、エリア学習値とトラック学習値とは同等でない(異なっている)と判定する。この場合、CPU22はステップ411に進む。
【0057】
エリア学習値とトラック学習値とが同等でないとは、目標トラック112とエリアZi内の他のトラックとの間で、ディスク11の回転に同期した偏心成分に関する相関の度合いが、予め定められた閾値(相関度合い)と比較して低いことを意味する。つまりエリア学習値とトラック学習値とが同等でないとは、目標トラック112とエリアZi内の他のトラックとの間で、ディスク11の回転に同期した偏心成分に関して相関がなく、当該目標トラック112が第1のタイプのトラックであることを意味する。
【0058】
目標トラック112が第1のタイプのトラックの場合、エリア学習値に基づいてヘッド12を当該目標トラック112に位置付けるためのヘッド位置決め制御を実行すると、アクセス効率の悪化を招く可能性がある。つまり、第2の閾値TH2を判定基準として第1のタイプのトラックであると判定される目標トラック112は、エリア学習値(第2の補正情報)に基づく利用が困難となる。
【0059】
なお、上記判定値として、エリア学習値とトラック学習値との差分の積算値以外のパラメータを用いることも可能である。例えば、エリア学習値とトラック学習値とをそれぞれ取得するのに要する時間をTe,Ttとすると、時間Te,Ttの間に発生したリトライの回数の差分、時間Te,Ttの間にディスク11が回転した回数の差分、或いは時間Te,Ttの差分を用いることも可能である。
【0060】
今、エリア学習値とトラック学習値とが同等であると判定したために、CPU22がステップ410に進んだものとする。このステップ410においてCPU22は補正情報取得手段として機能して、例えば特許文献1に記載されているような学習型フィードフォワード制御系により、目標トラック112が属するエリアZiの補正情報を学習する。即ちCPU22は、エリアZi内のトラック間で相関のある偏心成分、例えばディスク11の回転に同期した偏心成分(同期成分)を検出(学習)し、検出された偏心成分を、当該エリアZiの補正情報(つまり学習値)として取得する。ステップ410においてCPU22は更に格納手段として機能して、FROM23の第2学習値領域232に当該エリアZiに対応して格納されている補正情報(学習値)を、取得されたエリアZiの補正情報に更新する。
【0061】
次にCPU22はステップ404に戻って再びヘッド位置決め制御を実行する。CPU22は、このヘッド位置決め制御におけるヘッド追従制御に、ステップ410で補正されたエリアZiの補正情報を用いる。
【0062】
次に、エリア学習値とトラック学習値が異なっていると判定したために、CPU22がステップ411に進んだものとする。このステップ411においてCPU22は、ステップ404でのヘッド位置決め制御におけるヘッド追従制御に使用する補正情報を決定するための処理(補正情報決定処理)を実行する。
【0063】
以下、補正情報決定処理について、図5のフローチャートを参照して説明する。
まずCPU22は判定(検出)手段として機能して、前記ステップ401と同様に、目標トラック112の学習値(以下、学習値LVoと称する)が当該目標トラック112のトラック番号に対応付けてFROM23の第1学習値領域231に格納されているかを判定する(ステップ501)。もし、目標トラック112の学習値LVoが第1学習値領域231に格納されている場合(ステップ501のYES)、CPU22はステップ502に進む。
【0064】
ステップ502においてCPU22は、第1学習値領域231に格納されている目標トラック112の学習値LVoと、前記ステップ408で新たに取得された当該目標トラック112の学習値(以下、学習値LVnと称する)とが同等であるかを判定する。CPU22は、この判定に、判定値と予め定められた第3の閾値TH3とを用いる。CPU22は、この判定値として、例えば、第1学習値領域231に格納されている目標トラック112の学習値LVoと、新たに取得された当該目標トラック112の学習値LVnとの差分の積算値を用いる。つまりCPU22は、上記判定値(上記差分の積算値)が第3の閾値TH2未満であるかを判定することにより、学習値LVo及びLnが同等であるかを判定する(ステップ502)。
【0065】
学習値LVo及びLnが同等である場合(ステップ502のYES)、CPU22はステップ503に進む。ステップ503においてCPU22は、学習値Ln、即ち新たに取得された当該目標トラック112の学習値を破棄する。これにより、FROM23の第1学習値領域231に格納されている目標トラック112の学習値が無駄に更新されるのを防止できる。
【0066】
次にCPU22は補正情報決定手段として機能して、学習値LVo、即ち第1学習値領域231に格納されている目標トラック112の学習値を、ステップ404でのヘッド位置決め制御におけるヘッド追従制御に使用する補正情報として決定する(ステップ504)。これにより補正情報決定処理(ステップ411)は終了する。
【0067】
するとCPU22はステップ404に戻って再びヘッド位置決め制御を実行する。CPU22は、このヘッド位置決め制御におけるヘッド追従制御に、補正情報決定処理(ここでは、補正情報決定処理におけるステップ504)で決定された、第1学習値領域231に格納されている目標トラック112(つまり第1のタイプのトラック)の補正情報を用いる。
【0068】
一方、学習値LVo及びLnが同等でない場合(ステップ502のNO)、CPU22はステップ505に進む。ステップ505においてCPU22は格納手段として機能して、学習値Ln、即ち新たに取得された当該目標トラック112の学習値を、FROM23の第1学習値領域231に当該目標トラック112のトラック番号に対応付けて格納する。このステップ505では、第1学習値領域231に既に格納されている学習値Loが学習値Lnに更新される。また、第1学習値領域231に目標トラック112の学習値が格納されていない場合にも(ステップ501のNO)、CPU22はステップ505に進む。このステップ505においてCPU22は、第1学習値領域231に新たに学習値Lnを格納する。
【0069】
第1学習値領域231に新たに学習値Lnを格納するためには、当該第1学習値領域231内に空きスペースがなければならない。もし、空きスペースがない場合、第1学習値領域231内に空きスペースを確保する必要がある。そこでCPU22は、第1学習値領域231内に空きスペースを確保するために、次の手法を適用する。即ちCPU22は、第1学習値領域231に既に格納されている学習値(トラック学習値)が対応付けられているトラックに、ディスク11上の代替トラックを割り当てる。そしてCPU22は、代替トラックが割り当てられたトラックに対応付けて第1学習値領域231に格納されている学習値を消去する。ここで、代替トラックを割り当てるトラックを選択する手法としては、対応する学習値が第1学習値領域231に格納された順に従う先入れ先出し手法、或いはアクセス頻度の低いトラックから順次選択する手法などが適用可能である。
【0070】
CPU22はステップ505を実行すると補正情報決定手段として機能して、学習値LVn、即ち新たに取得された目標トラック112の学習値を、ステップ404でのヘッド位置決め制御におけるヘッド追従制御に使用する補正情報として決定する(ステップ506)。これにより補正情報決定処理(ステップ411)は終了する。
【0071】
するとCPU22はステップ404に戻って再びヘッド位置決め制御を実行する。CPU22は、このヘッド位置決め制御におけるヘッド追従制御に、補正情報決定処理(ここでは、補正情報決定処理におけるステップ506)で決定された、新たに取得された目標トラック112(つまり第1のタイプのトラック)の補正情報を用いる。
【0072】
さて、新たに取得された第1のタイプのトラックの補正情報(学習値)がFROM23の第1学習値領域231に格納され、やがて図4のフローチャートに従うヘッド位置決め処理が終了したものとする。その後、上記第1のタイプのトラックを目標トラック112としてヘッド位置決め処理が再び開始されたものとする。この場合、第1のタイプのトラックの補正情報は既にFROM23の第1学習値領域231に格納されている(ステップ401のYES)。このため、この第1のタイプのトラックの補正情報を目標トラック112の学習値として用いて、ヘッド12を当該トラック112に位置付けるためのヘッド位置決め制御が実行される(ステップ402,404)。このヘッド位置決め制御では、他のトラックとの間で相関の低い目標トラック112の偏心に起因する偏心成分が、第1のタイプのトラックの補正情報に基づいて抑制される。このことは、第1のタイプのトラックであると判定される目標トラック112が、上記判定基準(第2の判定基準)に基づく利用が可能であることと等価である。
【0073】
本実施形態によれば、製造工程での検査を通過した第1のタイプのトラックの学習値を、FROM23の第1学習値領域231に格納して利用可能とすることにより、以下に列挙するような効果を得ることができる。
【0074】
1)第1のタイプのトラック(隣接非相関トラック)にヘッド12を位置付ける際の位置決め精度が向上する。また、位置決め精度の向上により、第1のタイプのトラックに/からデータを書き込む/読み出す際の信頼性が向上すると共に、データ書き込み/読み出しにおけるリトライの発生頻度が削減され、結果的にHDD10の動作パフォーマンスが向上する。
【0075】
2)ディスク11の回転に同期した第1のタイプのトラックの偏心成分(同期成分)を抑制するための補正情報の学習が収束する速度が速くなり、結果的にHDD10の動作パフォーマンスが向上する。
【0076】
3)製造工程での検査を通過した第1のタイプのトラックの学習値をFROM23の第1学習値領域231に格納する構成により、製造工程において代替トラックを割り当てるべきトラックを判定するための条件を緩めることができる。HDD10が、主にシーケンシャルアクセスを必要とする電子機器1に適用される場合、代替トラック数が減るとシーク動作の効率が改善されるため、結果的に当該HDD10の動作パフォーマンスが向上する。
【0077】
上記実施形態では、エリア学習値とトラック学習値が同等でない場合(ステップ409のNO)、補正情報決定処理(ステップ411)が実行される。しかし、エリア学習値とトラック学習値が同等でない程度を判定し、エリア学習値とトラック学習値が同等でない程度が高い場合、補正情報決定処理に代えて、目標トラック112に代替トラックを割り当てるようにしても構わない。このようにすると、補正情報決定処理の対象は、エリア学習値とトラック学習値が同等でない程度が低いトラックに限られるため、上記1),2)の効果がより高まる。但し、HDD10の出荷後に代替トラック数が増えるため、上記3)の効果は低くなる。
【0078】
また、代替トラックをディスク11ではなくて、FROM23内に確保しても良い。更に、エリア学習値とトラック学習値が同等でない場合(ステップ409のNO)、補正情報決定処理に代えて、目標トラック112に代替トラックを割り当て、当該代替トラックをFROM23の例えば第1学習値領域231内に確保しても良い。つまり、目標トラック112に記録されている情報を、上記トラック学習値に相当する補正情報(第2の補正情報)として、当該目標トラック112に対応付けて第1学習値領域231に格納する構成としても良い。この場合、目標トラック112に対応付けて第1学習値領域231に格納されている補正情報にアクセスすることが、当該目標トラック112にアクセスすることに相当するため、アクセス効率が著しく向上する。但し、FROM23の大容量化を招く。
【0079】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【符号の説明】
【0080】
1…電子機器、10…HDD(磁気ディスク装置)、11…ディスク、12…ヘッド、13…SPM(スピンドルモータ)、14…VCM(ボイスコイルモータ)、16…モータドライバIC、18…ヘッドIC、19…リード/ライトIC、20…HDC(ディスクコントローラ)、22…CPU(主コントローラ)、23…FROM(フラッシュROM)、100…ホスト、111…サーボ領域、112…トラック(データトラック)、113…ユーザデータ領域、Z0〜Z2…ゾーン(エリア)。
【技術分野】
【0001】
本発明は、データトラックにアクセスする際に補正情報を適用する磁気ディスク装置に係り、特に通常の利用形態でにおいてアクセス効率が悪いデータトラックへのアクセスに際して当該データトラックに適した補正情報を利用可能とする磁気ディスク装置に関する。
【背景技術】
【0002】
一般に、磁気ディスク装置では、ヘッドを目標とするデータトラック(目標トラック)に位置付けるためのヘッド位置決め制御が行われる。ヘッド位置決め制御は、ヘッドを目標トラックに移動するためのシーク制御と、目標トラックに移動されたヘッドを目標トラックの目標位置に整定するためのトラック追従制御とから構成される。なお、ヘッド位置決め制御は、狭義には、トラック追従制御を指す場合もある。
【0003】
ヘッド位置決め制御において、ヘッドを目標トラックに位置付ける際に発生する目標位置からのずれ(つまり、誤差)は、位置誤差と呼ばれる。例えば特許文献1、2は、この位置誤差の種々の要因を開示している。また特許文献1、2は、ディスク上のトラックに、例えばディスクの回転に伴う要因により偏心が発生することを開示している。更に特許文献1、2は、ディスクの回転に伴う要因として、ディスクを回転させるためのスピンドルモータの軸振れ、サーボ情報をディスクに書き込むときの当該ディスクの振動、ディスクの形状の伸縮等を開示している。
【0004】
特に特許文献1は、ディスク回転に伴って発生するトラックの偏心に起因する位置誤差(つまり偏心成分)を、学習によって取得された補正情報に基づいて抑制するための技術(以下、先行技術と称する)を理論と共に開示している。
【0005】
一方、特許文献2は、複数トラック間で相関のある同期成分を学習処理により検出するのに要する時間を短縮するための技術を理論と共に開示している。この特許文献2に記載されている学習処理は、ディスクの回転に同期するトラックの同期成分(つまり偏心成分)に基づいて行われる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平11−39814号公報
【特許文献2】特開2000−195202号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記先行技術において、トラックの偏心に起因する位置誤差を抑制するのに用いられる補正情報は、ディスク上の複数のエリア(より詳細には、リング状のエリア)のそれぞれについて学習により最適化されて取得される。複数のエリアの各々は、複数のトラックを有する。エリア毎に取得される補正情報(以下、エリア学習値と称する)はメモリに格納される。
【0008】
上記先行技術によれば、目標トラックにヘッドを位置付けるための位置決め制御において、当該目標トラックが属するエリアに対応するエリア学習値をメモリから読み出して利用することができる。
【0009】
しかし、目標トラックと当該目標トラックが属するエリア内の他のトラックとの間で、偏心成分(例えば特許文献2に記載されているような同期成分)に関して相関の度合いが比較的低い場合、次のような状態を招く。以下の説明では、他のトラック(例えば隣接するトラック)との間で、偏心成分に関して相関の度合いが比較的低いトラックを、第1のタイプのトラックと称する。また、他のトラックとの間で、偏心成分に関して相関の度合いが高いトラックを、第2のタイプのトラックと称する。
【0010】
まず、第1のタイプのトラックの偏心成分を抑制するための補正情報(つまり、第1のタイプのトラックの学習値)は、当該第1のタイプのトラックが属するエリアに対応したエリア学習値と異なる値を持つ。そのため、第1のタイプのトラックにヘッドを位置付けるためのヘッド位置決め制御を、エリア学習値に基づいて行うと、ヘッド位置決め精度の悪化、シーク応答時間の悪化、補正情報の学習の収束速度の悪化が発生する。
【0011】
通常、エリア内の他のトラックとの間で、偏心成分に関して相関の度合いが極めて低いため、予め定られた判定基準(第1の判定基準)を満たさないトラック(つまり、判定基準での利用が困難なトラック)は、対応する磁気ディスク装置を製造する工程(製造工程)で、不良トラックとして検出される。不良トラックとして検出されるトラックは、例えばデータを書き込むことができないトラック、或いはデータを読み出すことができないトラックである。検出された不良トラックには、代替トラックが割り当てられる。
【0012】
一方、上述の第1のタイプのトラックの偏心成分は、他のトラックとの間の相関の度合いに関して比較的低い程度であるため、当該第1のタイプのトラックは上記判定基準を満たす。このため、第1のタイプのトラックは、製造工程では不良セクタとして検出されない。上記判定基準を満たす第1のタイプのトラックは、データを書き込むまたは読み出すまでに長時間を要するものの、データの書き込みまたは読み出し自体は可能であるためである。したがって、第1のタイプのトラックは、製造工程での検査を通過する。
【0013】
検査を通過した第1のタイプのトラックへのアクセスが発生すると、上述したようにヘッドの位置決め精度の悪化、シーク応答時間の悪化、補正情報の学習の収束速度の悪化が発生する。つまり第1のタイプのトラックはアクセス効率が悪い。また、磁気ディスク装置の出荷後に、第2のタイプのトラックが、例えば経時変化により第1のタイプのトラックに変化することもある。
【0014】
本発明は上記事情を考慮してなされたものでその目的は、通常の利用形態ではアクセス効率が悪いデータトラックに効率的にアクセスすることができる磁気ディスク装置を提供することにある。
【課題を解決するための手段】
【0015】
本発明の1つの態様によれば、磁気ディスク装置が提供される。この磁気ディスク装置は、記憶手段と、前記磁気ディスク装置内のディスク上の利用可能なデータトラックにアクセスし、所定の判定基準を満たすかを検出する検出手段と、所定のデータトラックが、前記所定の判定基準を満たさない場合に、前記所定の判定基準で利用するための補正情報を取得する補正情報取得手段と、前記取得された補正情報を、前記所定のデータトラックに対応付けて、前記記憶手段に格納する格納手段と、前記補正情報に基づいて前記所定のデータトラックへのアクセスを制御する制御手段とを具備する。
【発明の効果】
【0016】
本発明によれば、例えば、磁気ディスク装置の製造工程での検査を通過した、利用可能なデータトラックであっても、所定の判定基準を満たさない場合には、当該所定の判定基準で利用するための補正情報を取得して、当該所定の判定基準を満たさないデータトラックに対応付けて記憶手段に格納することにより、当該補正情報を利用して、当該所定の判定基準を満たさないデータトラックへのアクセスを制御することができる。このため本発明によれば、所定の判定基準を満たさないデータトラックに効率的にアクセスすることができる。
【図面の簡単な説明】
【0017】
【図1】本発明の一実施形態に係る磁気ディスク装置を備えた電子機器の構成を示すブロック図。
【図2】同実施形態で適用されるディスク上のゾーン配置の例を示す概念図。
【図3】同一エリア内の複数のトラックの偏心を反映したトラック形状の例を示す図。
【図4】同実施形態におけるヘッド位置決め処理の手順を示すフローチャート。
【図5】上記ヘッド位置決め処理に含まれている補正情報決定処理の手順を示すフローチャート。
【図6】同実施形態において、トラック上のセクタ位置に対するエリア学習値とトラック学習値との関係の例を、エリア学習値とトラック学習値との差分が小さい場合と大きい場合のそれぞれについて示す図。
【図7】エリア学習値とトラック学習値との差分を積算した値を、図6の例におけるエリア学習値とトラック学習値との差分が小さい場合と大きい場合のそれぞれについて、棒グラフで示す図。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係る磁気ディスク装置を備えた電子機器1の構成を示すブロック図である。電子機器1は、磁気ディスク装置(HDD)10及びホスト100から構成される。電子機器1は、例えば、パーソナルコンピュータ、ビデオカメラ、音楽プレーヤー、携帯端末、或いは携帯電話機である。ホスト100はHDD10を当該ホスト100の記憶装置として利用する。HDD10はホストインタフェース110によりホスト100と接続されている。
【0019】
HDD10は、記録媒体としてのディスク(磁気ディスク)11を備えている。このディスク11は上側と下側の2つのディスク面を有している。ディスク11の例えば上側のディスク面は、データが磁気記録される記録面をなしている。このディスク11の記録面に対応して、ヘッド(磁気ヘッド)12が配置されている。ヘッド12は、ディスク11へのデータ書き込み及び当該ディスク11からのデータ読み出しに用いられる。なお、図1では、作図の都合上、ヘッド12が1つであるHDD10の例が示されている。しかし、一般には、ディスク11の2つのディスク面が共に記録面をなしており、各々のディスク面に対応してヘッドが配置される。また図1の構成では、単一枚のディスク11を備えたHDD10を想定している。しかし、ディスク11が複数枚積層配置されたHDDであっても構わない。
【0020】
ディスク11はスピンドルモータ(SPM)13によって高速に回転させられる。ヘッド12は、アクチュエータ14の先端に取り付けられている。ヘッド12は、ディスク11が高速に回転することにより当該ディスク11上で浮上する。アクチュエータ14は、当該アクチュエータ14の駆動源となるボイスコイルモータ(VCM)15を有している。アクチュエータ14は、このVCM15により駆動されて、ヘッド12をディスク11の半径方向に移動する。つまりアクチュエータ14は、ヘッド12をディスク11の半径方向に移動可能に支持する。このアクチュエータ14の動作により、ヘッド12は、ディスク11の目標トラック上に位置付けられる。SPM13及びVCM15は、モータドライバIC16からそれぞれ供給される駆動電流により駆動される。
【0021】
ディスク11の記録面には、複数のサーボ領域111がディスク11の半径方向に放射状に、且つディスク11の円周方向に等間隔で離散的に配置されている。各サーボ領域111には、サーボデータが予め磁気的に書き込まれている。図1では、作図の都合で、サーボ領域111の個数が12の場合が示されている。しかしサーボ領域111の個数は、近年のHDDでは100以上である場合が一般的である。
【0022】
サーボデータは、SPM13によって回転させられるディスク11に対して、当該ディスク11の目標とする半径位置にヘッド12を位置付けるための制御(ヘッド位置決め制御)に用いられる位置情報を含む。この位置情報は、シリンダコード(シリンダ番号)とバーストデータとを含む。シリンダコードは、対応するサーボ情報が書き込まれているディスク1-i上のシリンダ(トラック)位置を示す。バーストデータは、対応するサーボデータが書き込まれているシリンダにおけるヘッドの相対的な位置情報(位置誤差)を示す。サーボデータに基づくヘッド位置決め制御により、ヘッド12はディスク11の記録面上を目標とする同心円112に沿って移動(つまり同心円112を辿る)ことが可能である。但し、同心円112はディスク11の中心に対して偏心しているのが一般的である。
【0023】
ディスク11において、同心円112上の隣接するサーボ領域で挟まれた領域はユーザデータ領域113と呼ばれる。ユーザデータ領域113には、複数のデータセクタ(以下、単にセクタと称する)が配置される。ヘッド12は、同心円112を辿りながら、当該同心円112上のユーザデータ領域113へデータを書き込む、または当該同心円112上の領域からデータを読み出す。ディスク11の記録面の同心円112上の領域はトラックと呼ばれる。そこで以降の説明では、このトラックをトラック112と表現する。
【0024】
ディスク11には、CDR(constant density recording)と呼ばれる記録フォーマットが適用されている。このCDRフォーマットを適用するディスク11の記録面は、当該ディスク11の半径方向に複数のゾーン(CDRゾーン)に区分して管理される。各ゾーンのトラック(シリンダ)当たりのセクタの数は、ディスク11の外周側のゾーンほど多く設定されている。
【0025】
図2は、ディスク11上のゾーン配置の例を示す概念図である。図2の例では、簡略化のために、ディスク11の記録面が3つのゾーンZ0乃至Z2に区分して管理され、各ゾーンZi(i=0,1,2)が2つのトラックから構成されるものとする。実際には、ディスク11の記録面が3つを超えるゾーンに区分され、各ゾーンは2つを超えるトラックから構成される。また図2の例では、図1に示されるサーボ領域111は省略されている。
【0026】
ディスク11の記録面から外れた位置、例えばディスク11の外周に近接する位置には、ランプ17が配置されている。ランプ17は、HDD10が非動作状態にある期間、ヘッド12をリトラクトさせておくための退避領域171を提供する。なお、非動作状態とは、HDD10の電源が遮断された場合のようにHDD10が動作を完全に停止している状態の他、HDD10の特定のパワーセーブモードの状態も含むものとする。特定のパワーセーブモードは、HDD10内で自律的に設定される他、ホスト100からの指示によっても設定される。
【0027】
ヘッド12は図示せぬフレキシブルプリントケーブル(FPC)に形成された配線パターンを介してヘッドIC(ヘッドアンプ回路)18と接続されている。ヘッドIC18は、ヘッド12により読み出されたリード信号を増幅するリードアンプ、及びライトデータをライト電流に変換するライトドライバ(いずれも図示せず)を含む。
【0028】
ヘッドIC18は、リード/ライトIC(リード/ライトチャネル)19と接続されている。リード/ライトIC19は各種の信号処理を実行する信号処理モジュールである。リード/ライトIC19は、ヘッドIC18によって増幅されたリード信号をデジタルデータに変換するためのアナログ/ディジタル変換処理を実行する。リード/ライトIC19は、前記デジタルデータからサーボデータを抽出するための処理を実行する。リード/ライトIC19は、前記デジタルデータ(リードデータ)を復号化するための処理、及びライトデータを符号化するための処理を実行する。
【0029】
リード/ライトIC19は、ディスクコントローラ(HDC)20及びCPU21と接続されている。HDC20はバッファRAM21及びCPU22と接続されている。HDC20はまた、ホストインタフェース110を介してホスト100と接続されている。HDC20は、ホスト100からホストインタフェース110を介して転送されるコマンド(ライトコマンド、リードコマンド等)の受信と、ホスト100と当該HDC20との間のデータ転送とを制御するホストインタフェース制御機能を有する。HDC20はまた、リード/ライトIC19を介して行われるディスク11と当該HDC20との間のデータ転送を制御するディスクインタフェース制御機能を有する。HDC20はまたバッファRAM21を制御するバッファインタフェース制御機能を有する。
【0030】
バッファRAM21の記憶領域の一部は、HDC20を介してディスク11に書き込まれるべきデータ(ライトデータ)を一時格納するためのライトバッファとして用いられる。バッファRAM21の記憶領域の他の一部は、ディスク11からHDC20を介して読み出されたデータ(リードデータ)を一時格納するためのリードバッファとして用いられる。
【0031】
CPU22は、モータドライバIC16と接続されると共に、フラッシュROM(FROM)23及びRAM24と接続されている。FROM23は、CPU22が実行すべき制御プログラム(ファームウェア)を格納する書き換え可能な不揮発性メモリであり。RAM24は、CPU22の作業領域を提供する揮発性メモリである。CPU22は制御プログラムを実行することによりHDD10の主コントローラとして機能する。制御プログラムは、ヘッド位置決め処理ルーチンを含む。
【0032】
FROM23の記憶領域の一部は第1学習値領域231に割り当てられ、FROM23の記憶領域の他の一部は第2学習値領域232に割り当てられている。第2学習値領域232は、HDD10の製造段階でディスク11上の予め定められたエリア(より詳細には、リング状のエリア)毎に取得される周知の学習値(つまり、エリア学習値)を、そのエリア(より詳細には、そのエリアを特定するための情報)に対応付けて格納する第2の記憶手段(記憶モジュール)として用いられる。第2学習値領域232に格納されているエリア学習値は、必要に応じて更新される。この更新の条件については後述する。
【0033】
本実施形態において、予め定められたエリアはゾーンである。したがって、エリアをゾーンと読み替えても構わない。なお、ディスク11の2つのディスク面が共に記録面をなしており、各々のディスク面に対応してヘッドが配置される場合、エリア学習値は、そのエリア(より詳細には、そのエリアを特定するための情報)及びそのエリアが属する記録面側に存在するヘッド(より詳細には、そのヘッドを特定するための情報)に対応付けて第2学習値領域232に格納される。エリアを特定するための情報は、エリアがゾーンである本実施形態では、例えばゾーン番号であり、ヘッドを特定するための情報は、例えばヘッド番号である。
【0034】
第1学習値領域231は、HDD10が出荷された後に取得されるトラックの学習値(トラック学習値)を、そのトラック(より詳細には、そのトラックを特定するための情報)に対応付けて格納する第1の記憶手段(記憶モジュール)として用いられる。第1学習値領域231に格納されているトラック学習値は、必要に応じて更新される。トラックを特定するための情報は、例えばトラック番号である。トラック番号は、本実施形態と異なって複数のヘッドが存在する場合、ヘッド番号とシリンダ番号とから決定される。トラック学習値を格納または更新する条件については後述する。
【0035】
図3は、ディスク11上の同一のゾーン(エリア)Ziに属する、トラック番号がN−2,N−1,N,N+1,N+2の5つのトラックN−2,N−1,N,N+1,N+2のディスク11の中心に対する偏心の状態を、トラック形状として模式的に示す。ここでの偏心は、ディスク11の回転に伴って(より具体的には、ディスク11の回転に同期して)発生するものとする。図3において、破線は、トラックN−2,N−1,N,N+1,N+2の偏心がないときの理想的なトラック形状を示す。
【0036】
図3の例では、トラックN−2,N−1,N,N+2の間では、偏心成分、例えばディスク11の回転に同期した偏心成分(つまり同期成分)に関して相関の度合いが高いものとする。一方、トラックN+1は、他のトラックN−2,N−1,N,N+2(特に隣接するトラックN,N+2)との間で、偏心成分に関して相関の度合いが比較的低いものとする。トラックN+1を隣接非相関トラック、または第1のタイプのトラックと称する。トラックN−2,N−1,N,N+2を隣接相関トラック、または第2のタイプのトラックと称する。
【0037】
次に、本実施形態の動作について、ヘッド12をディスク11上の目標とするトラック(目標トラック)112に位置付けるためのヘッド位置決め処理を例に、図4及び図5のフローチャートを参照して説明する。ここでは、目標トラック112がゾーンZiに属するものとする。
【0038】
CPU22は、ヘッド12を目標トラック112に位置付ける際にFROM23の第1学習値領域231を参照する。そしてCPU22は判定(検出)手段として機能して、目標トラック112の学習値(トラック学習値)が当該目標トラック112のトラック番号に対応付けて第1学習値領域231に格納されているかを判定する(ステップ401)。
【0039】
もし、目標トラック112の学習値が第1学習値領域231に格納されている場合(ステップ401のYES)、CPU22はステップ402に進む。ステップ402においてCPU22は選択手段として機能して、目標トラック112の学習値を第1学習値領域231から選択的に取得する。取得された目標トラック112の学習値は、当該目標トラック112のディスク11の回転に同期した偏心成分を抑制するための補正情報(第1の補正情報)として用いられる。
【0040】
これに対し、目標トラック112の学習値が第1学習値領域231に格納されていない場合(ステップ401のNO)、CPU22はステップ403に進む。ステップ403においてCPU22は選択手段として機能して、目標トラック112が属するゾーン(エリア)Ziのゾーン番号に対応付けられている当該ゾーン(エリア)Ziの学習値を、FROM23の第2学習値領域232から選択的に取得する。取得されたエリアZiの学習値は、当該エリアZiに属する目標トラック112のディスク11の回転に同期した偏心成分を抑制するための補正情報(第2の補正情報)として用いられる。
【0041】
CPU22は、ステップ402または403で補正情報を取得すると、ヘッド位置決め制御手段として機能してヘッド位置決め制御を実行する(ステップ404)。このヘッド位置決め制御では、シーク制御及びトラック追従制御が行われる。
【0042】
シーク制御は、周知のように、ヘッド12をディスク11上の目標トラック112に移動させるために実行される。シーク制御においてCPU22は、ヘッド12を現在の位置から目標トラック112に移動させるのに必要な駆動電流を示す制御値を算出する。CPU21は、この制御値をモータドライバIC16内のVCMドライバに設定する。VCMドライバは、設定された制御値で表される駆動電流をVCM15に供給することにより当該VCM15を駆動して、アクチュエータ14を回動させる。これによりヘッド12はディスク11上を当該ディスク11の半径方向に移動する。
【0043】
このときヘッド12は、ディスク11に磁気記録されている情報を読み取り、リード信号として出力する。ヘッドIC18は、このリード信号を増幅する。リード/ライトIC19は、増幅されたリード信号をデジタルデータに変換し、当該デジタルデータからサーボデータを抽出する。CPU22は、リード/ライトIC19によって抽出されたサーボデータ(より詳細には、サーボデータに含まれているシリンダコード)に基づいて、現在のヘッド12の位置(より詳細にはディスク11上の半径位置)を検出する。CPU22は、検出された現在のヘッド12の位置から当該ヘッド12を目標トラック112に移動させるのに必要な制御値を再び演算により生成する。以下、同様にして、ヘッド12を目標トラック112に移動させるためのシーク制御が行われる。
【0044】
トラック追従制御は、周知のように、目標トラック111に移動されたヘッド12を、当該目標トラック111の目標位置に整定するために実行される。トラック追従制御においてCPU22は、リード/ライトIC19によって抽出されるサーボデータ(より詳細には、サーボデータに含まれているバーストデータ)に基づいて、現在のヘッド12の位置の目標位置からのずれを位置誤差として検出する。
【0045】
CPU22は、検出された位置誤差に応じて、ヘッド12を目標トラック112の目標位置に整定する(位置付ける)ための第1の制御値を算出する。CPU22はまた、取得した補正情報に基づいて、当該補正情報の示す偏心成分(つまり偏心成分の学習値)を、検出された位置誤差から除去するための第2の制御値を算出する。
【0046】
CPU22は、第1の制御値と第2の制御値とを加算することにより、ヘッド12を目標トラック112の目標位置に整定するための補正された制御値を算出する。CPU22は、算出された制御値をモータドライバIC16内のVCMドライバに設定することで、ヘッド12を目標位置に整定させる。するとCPU22は、再び位置誤差を検出する。この位置誤差は、1回のトラック追従制御(つまりトラック追従のためのフィードバック制御)の結果を表す。
【0047】
CPU22は、この位置誤差が、予め定められた第1の閾値TH1未満であるかを判定する(ステップ405)。もし、位置誤差が第1の閾値TH1未満であるならば(ステップ405のYES)、CPU22はヘッド12を目標トラック112の目標位置に整定できた判断する。この場合、CPU22は、目標トラック112(より詳細には目標トラック112の目的とするセクタ)へのデータ書き込みまたは目標トラック112からのデータの読み出しのための書き込み/読み出し動作を制御する(ステップ406)。そしてCPU22は、次の書き込み/読み出し動作を実行すべきであるかを判定し(ステップ407)、そうであるならば(ステップ407のYES)、ステップ401に戻り、そうでないならば(ステップ407のNO)、ヘッド位置決め処理を終了する。
【0048】
一方、上記位置誤差が第1の閾値TH1未満でないならば(ステップ405のNO)、CPU22はヘッド12を目標トラック112の目標位置に整定できなかったと判断する。つまりCPU22は補正情報取得手段として機能して、ヘッド位置決めが収束していないと判断する。この場合、CPU22は、特許文献1または2に記載されているような学習型フィードフォワード制御系により、目標トラック112の補正情報を学習する(ステップ408)。即ちCPU22は、目標トラック112の偏心成分、例えばディスク11の回転に同期した偏心成分(同期成分)を検出(学習)し、検出された偏心成分を、当該目標トラック112の補正情報(つまり学習値)として取得する。
【0049】
次にCPU22は判定(検出)手段として機能して、ステップ408で取得された目標トラック112の学習値が、当該目標トラック112が属するエリアZiの学習値と大きく異なっていないかを判定する。CPU22は、この判定に、判定値と予め定められた第2の閾値TH2とを用いる。CPU22は、この判定値として、例えば、エリアZiの学習値と取得された目標トラック112の学習値との差分Δの積算値ΣΔを用いる。つまりCPU22は、上記判定値が第2の閾値TH2未満であるかを判定することにより、目標トラック112の学習値がエリアZiの学習値と大きく異なっていないかを判定する(ステップ409)。
【0050】
以下、この判定の意義について、図6及び図7を参照して説明する。図6において、同図(a),(b)は、トラック上のセクタ位置(X軸方向)に対する、エリア学習値とトラック学習値(Y軸方向)との関係の例を、エリア学習値とトラック学習値との差分が小さい場合と大きい場合のそれぞれについて模式的に示す。上記差分は、図6(a)ではΔAで表され、図6(b)ではΔBで表されている。つまり、図6(a),(b)において、エリア学習値とトラック学習値をそれぞれ示す曲線で囲まれた領域(ハッチングされた領域)のY軸方向の長さが、エリア学習値とトラック学習値との差分に相当する。
【0051】
CPU22は、ステップ409での判定に際し、エリア学習値とトラック学習値との差分の積算値Δを算出する。そしてCPU22は、この積算値Δを判定値として用いて、当該判定値(積算値Δ)が第2の閾値TH2未満であるかを判定する(ステップ409)。第2の閾値TH2は、例えば、ヘッド12を目標トラックの目標位置に位置付ける際のヘッド位置決め精度やHDD10の動作パフォーマンスがHDDの仕様を満たすように実験的に求められるものとする。なお、第2の閾値TH2は必ずしも固定値である必要はない。例えば、第2の閾値TH2が、目標トラック112が属するエリア(ゾーン)、或いはHDD10の動作環境(温度、気圧)などの条件に応じて切り替えられても構わない。
【0052】
図7は、図6(a),(b)に示されるエリア学習値とトラック学習値との差分ΔA,ΔBをそれぞれ積算した値(積算値)DVA(=ΣΔA),DVB(=ΣΔB)を棒グラフで示す。図7の例では、積算値DVA(=ΣΔA)は第2の閾値TH2未満であり、積算値DVB(=ΣΔB)は第2の閾値TH2を超えている。
【0053】
CPU22は、図7に示される積算値DVAのように、エリア学習値とトラック学習値との差分の積算値(つまり判定値)が第2の閾値TH2未満である場合(ステップ409のYES)、エリア学習値とトラック学習値とは同等であると判定する。この場合、CPU22はステップ410に進む。
【0054】
エリア学習値とトラック学習値とが同等であるとは、目標トラック112とエリアZi内の他のトラックとの間で、ディスク11の回転に同期した偏心成分に関する相関の度合いが、予め定められた閾値(相関度合い)と比較して高いことを意味する。つまりエリア学習値とトラック学習値とが同等であるとは、目標トラック112とエリアZi内の他のトラックとの間で、ディスク11の回転に同期した偏心成分に関して相関があり、当該目標トラック112が第2のタイプのトラック(隣接相関トラック)であることを意味する。
【0055】
目標トラック112が第2のタイプのトラックの場合、エリア学習値に基づいてヘッド12を当該目標トラック112に位置付けるためのヘッド位置決め制御を実行しても、アクセス効率の悪化を招くおそれはない。つまり、第2の閾値TH2を判定基準として第2のタイプのトラックであると判定される目標トラック112は、エリア学習値(第2の補正情報)に基づく利用が可能である。このことは、第2のタイプのトラックであると判定される目標トラック112が、上記判定基準(第2の判定基準)に基づく利用が可能であることと等価である。この判定基準(第2の判定基準)は、製造工程での検査に用いられる判定基準(第1の判定基準)に比較して同等であるか、或いは相対的に高いものとする。
【0056】
これに対し、図7に示される積算値DVBのように、エリア学習値とトラック学習値との差分の積算値(つまり判定値)が第2の閾値TH2を超えている場合(ステップ409のNO)、CPU22は、エリア学習値とトラック学習値とは同等でない(異なっている)と判定する。この場合、CPU22はステップ411に進む。
【0057】
エリア学習値とトラック学習値とが同等でないとは、目標トラック112とエリアZi内の他のトラックとの間で、ディスク11の回転に同期した偏心成分に関する相関の度合いが、予め定められた閾値(相関度合い)と比較して低いことを意味する。つまりエリア学習値とトラック学習値とが同等でないとは、目標トラック112とエリアZi内の他のトラックとの間で、ディスク11の回転に同期した偏心成分に関して相関がなく、当該目標トラック112が第1のタイプのトラックであることを意味する。
【0058】
目標トラック112が第1のタイプのトラックの場合、エリア学習値に基づいてヘッド12を当該目標トラック112に位置付けるためのヘッド位置決め制御を実行すると、アクセス効率の悪化を招く可能性がある。つまり、第2の閾値TH2を判定基準として第1のタイプのトラックであると判定される目標トラック112は、エリア学習値(第2の補正情報)に基づく利用が困難となる。
【0059】
なお、上記判定値として、エリア学習値とトラック学習値との差分の積算値以外のパラメータを用いることも可能である。例えば、エリア学習値とトラック学習値とをそれぞれ取得するのに要する時間をTe,Ttとすると、時間Te,Ttの間に発生したリトライの回数の差分、時間Te,Ttの間にディスク11が回転した回数の差分、或いは時間Te,Ttの差分を用いることも可能である。
【0060】
今、エリア学習値とトラック学習値とが同等であると判定したために、CPU22がステップ410に進んだものとする。このステップ410においてCPU22は補正情報取得手段として機能して、例えば特許文献1に記載されているような学習型フィードフォワード制御系により、目標トラック112が属するエリアZiの補正情報を学習する。即ちCPU22は、エリアZi内のトラック間で相関のある偏心成分、例えばディスク11の回転に同期した偏心成分(同期成分)を検出(学習)し、検出された偏心成分を、当該エリアZiの補正情報(つまり学習値)として取得する。ステップ410においてCPU22は更に格納手段として機能して、FROM23の第2学習値領域232に当該エリアZiに対応して格納されている補正情報(学習値)を、取得されたエリアZiの補正情報に更新する。
【0061】
次にCPU22はステップ404に戻って再びヘッド位置決め制御を実行する。CPU22は、このヘッド位置決め制御におけるヘッド追従制御に、ステップ410で補正されたエリアZiの補正情報を用いる。
【0062】
次に、エリア学習値とトラック学習値が異なっていると判定したために、CPU22がステップ411に進んだものとする。このステップ411においてCPU22は、ステップ404でのヘッド位置決め制御におけるヘッド追従制御に使用する補正情報を決定するための処理(補正情報決定処理)を実行する。
【0063】
以下、補正情報決定処理について、図5のフローチャートを参照して説明する。
まずCPU22は判定(検出)手段として機能して、前記ステップ401と同様に、目標トラック112の学習値(以下、学習値LVoと称する)が当該目標トラック112のトラック番号に対応付けてFROM23の第1学習値領域231に格納されているかを判定する(ステップ501)。もし、目標トラック112の学習値LVoが第1学習値領域231に格納されている場合(ステップ501のYES)、CPU22はステップ502に進む。
【0064】
ステップ502においてCPU22は、第1学習値領域231に格納されている目標トラック112の学習値LVoと、前記ステップ408で新たに取得された当該目標トラック112の学習値(以下、学習値LVnと称する)とが同等であるかを判定する。CPU22は、この判定に、判定値と予め定められた第3の閾値TH3とを用いる。CPU22は、この判定値として、例えば、第1学習値領域231に格納されている目標トラック112の学習値LVoと、新たに取得された当該目標トラック112の学習値LVnとの差分の積算値を用いる。つまりCPU22は、上記判定値(上記差分の積算値)が第3の閾値TH2未満であるかを判定することにより、学習値LVo及びLnが同等であるかを判定する(ステップ502)。
【0065】
学習値LVo及びLnが同等である場合(ステップ502のYES)、CPU22はステップ503に進む。ステップ503においてCPU22は、学習値Ln、即ち新たに取得された当該目標トラック112の学習値を破棄する。これにより、FROM23の第1学習値領域231に格納されている目標トラック112の学習値が無駄に更新されるのを防止できる。
【0066】
次にCPU22は補正情報決定手段として機能して、学習値LVo、即ち第1学習値領域231に格納されている目標トラック112の学習値を、ステップ404でのヘッド位置決め制御におけるヘッド追従制御に使用する補正情報として決定する(ステップ504)。これにより補正情報決定処理(ステップ411)は終了する。
【0067】
するとCPU22はステップ404に戻って再びヘッド位置決め制御を実行する。CPU22は、このヘッド位置決め制御におけるヘッド追従制御に、補正情報決定処理(ここでは、補正情報決定処理におけるステップ504)で決定された、第1学習値領域231に格納されている目標トラック112(つまり第1のタイプのトラック)の補正情報を用いる。
【0068】
一方、学習値LVo及びLnが同等でない場合(ステップ502のNO)、CPU22はステップ505に進む。ステップ505においてCPU22は格納手段として機能して、学習値Ln、即ち新たに取得された当該目標トラック112の学習値を、FROM23の第1学習値領域231に当該目標トラック112のトラック番号に対応付けて格納する。このステップ505では、第1学習値領域231に既に格納されている学習値Loが学習値Lnに更新される。また、第1学習値領域231に目標トラック112の学習値が格納されていない場合にも(ステップ501のNO)、CPU22はステップ505に進む。このステップ505においてCPU22は、第1学習値領域231に新たに学習値Lnを格納する。
【0069】
第1学習値領域231に新たに学習値Lnを格納するためには、当該第1学習値領域231内に空きスペースがなければならない。もし、空きスペースがない場合、第1学習値領域231内に空きスペースを確保する必要がある。そこでCPU22は、第1学習値領域231内に空きスペースを確保するために、次の手法を適用する。即ちCPU22は、第1学習値領域231に既に格納されている学習値(トラック学習値)が対応付けられているトラックに、ディスク11上の代替トラックを割り当てる。そしてCPU22は、代替トラックが割り当てられたトラックに対応付けて第1学習値領域231に格納されている学習値を消去する。ここで、代替トラックを割り当てるトラックを選択する手法としては、対応する学習値が第1学習値領域231に格納された順に従う先入れ先出し手法、或いはアクセス頻度の低いトラックから順次選択する手法などが適用可能である。
【0070】
CPU22はステップ505を実行すると補正情報決定手段として機能して、学習値LVn、即ち新たに取得された目標トラック112の学習値を、ステップ404でのヘッド位置決め制御におけるヘッド追従制御に使用する補正情報として決定する(ステップ506)。これにより補正情報決定処理(ステップ411)は終了する。
【0071】
するとCPU22はステップ404に戻って再びヘッド位置決め制御を実行する。CPU22は、このヘッド位置決め制御におけるヘッド追従制御に、補正情報決定処理(ここでは、補正情報決定処理におけるステップ506)で決定された、新たに取得された目標トラック112(つまり第1のタイプのトラック)の補正情報を用いる。
【0072】
さて、新たに取得された第1のタイプのトラックの補正情報(学習値)がFROM23の第1学習値領域231に格納され、やがて図4のフローチャートに従うヘッド位置決め処理が終了したものとする。その後、上記第1のタイプのトラックを目標トラック112としてヘッド位置決め処理が再び開始されたものとする。この場合、第1のタイプのトラックの補正情報は既にFROM23の第1学習値領域231に格納されている(ステップ401のYES)。このため、この第1のタイプのトラックの補正情報を目標トラック112の学習値として用いて、ヘッド12を当該トラック112に位置付けるためのヘッド位置決め制御が実行される(ステップ402,404)。このヘッド位置決め制御では、他のトラックとの間で相関の低い目標トラック112の偏心に起因する偏心成分が、第1のタイプのトラックの補正情報に基づいて抑制される。このことは、第1のタイプのトラックであると判定される目標トラック112が、上記判定基準(第2の判定基準)に基づく利用が可能であることと等価である。
【0073】
本実施形態によれば、製造工程での検査を通過した第1のタイプのトラックの学習値を、FROM23の第1学習値領域231に格納して利用可能とすることにより、以下に列挙するような効果を得ることができる。
【0074】
1)第1のタイプのトラック(隣接非相関トラック)にヘッド12を位置付ける際の位置決め精度が向上する。また、位置決め精度の向上により、第1のタイプのトラックに/からデータを書き込む/読み出す際の信頼性が向上すると共に、データ書き込み/読み出しにおけるリトライの発生頻度が削減され、結果的にHDD10の動作パフォーマンスが向上する。
【0075】
2)ディスク11の回転に同期した第1のタイプのトラックの偏心成分(同期成分)を抑制するための補正情報の学習が収束する速度が速くなり、結果的にHDD10の動作パフォーマンスが向上する。
【0076】
3)製造工程での検査を通過した第1のタイプのトラックの学習値をFROM23の第1学習値領域231に格納する構成により、製造工程において代替トラックを割り当てるべきトラックを判定するための条件を緩めることができる。HDD10が、主にシーケンシャルアクセスを必要とする電子機器1に適用される場合、代替トラック数が減るとシーク動作の効率が改善されるため、結果的に当該HDD10の動作パフォーマンスが向上する。
【0077】
上記実施形態では、エリア学習値とトラック学習値が同等でない場合(ステップ409のNO)、補正情報決定処理(ステップ411)が実行される。しかし、エリア学習値とトラック学習値が同等でない程度を判定し、エリア学習値とトラック学習値が同等でない程度が高い場合、補正情報決定処理に代えて、目標トラック112に代替トラックを割り当てるようにしても構わない。このようにすると、補正情報決定処理の対象は、エリア学習値とトラック学習値が同等でない程度が低いトラックに限られるため、上記1),2)の効果がより高まる。但し、HDD10の出荷後に代替トラック数が増えるため、上記3)の効果は低くなる。
【0078】
また、代替トラックをディスク11ではなくて、FROM23内に確保しても良い。更に、エリア学習値とトラック学習値が同等でない場合(ステップ409のNO)、補正情報決定処理に代えて、目標トラック112に代替トラックを割り当て、当該代替トラックをFROM23の例えば第1学習値領域231内に確保しても良い。つまり、目標トラック112に記録されている情報を、上記トラック学習値に相当する補正情報(第2の補正情報)として、当該目標トラック112に対応付けて第1学習値領域231に格納する構成としても良い。この場合、目標トラック112に対応付けて第1学習値領域231に格納されている補正情報にアクセスすることが、当該目標トラック112にアクセスすることに相当するため、アクセス効率が著しく向上する。但し、FROM23の大容量化を招く。
【0079】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【符号の説明】
【0080】
1…電子機器、10…HDD(磁気ディスク装置)、11…ディスク、12…ヘッド、13…SPM(スピンドルモータ)、14…VCM(ボイスコイルモータ)、16…モータドライバIC、18…ヘッドIC、19…リード/ライトIC、20…HDC(ディスクコントローラ)、22…CPU(主コントローラ)、23…FROM(フラッシュROM)、100…ホスト、111…サーボ領域、112…トラック(データトラック)、113…ユーザデータ領域、Z0〜Z2…ゾーン(エリア)。
【特許請求の範囲】
【請求項1】
磁気ディスク装置において、前記磁気ディスク装置は、
記憶手段と、
前記磁気ディスク装置内のディスク上の利用可能なデータトラックにアクセスし、所定の判定基準を満たすかを検出する検出手段と、
所定のデータトラックが、前記所定の基準を満たさない場合に、前記所定の判定基準で利用するための補正情報を取得する補正情報取得手段と、
前記取得された補正情報を、前記所定のデータトラックに対応付けて、前記記憶手段に格納する格納手段と、
前記補正情報に基づいて前記所定のデータトラックへのアクセスを制御する制御手段と
を具備する。
【請求項2】
請求項1記載の磁気ディスク装置において、
前記補正情報は、前記所定のデータトラックの偏心成分に対応する。
【請求項3】
請求項1に記載の磁気ディスク装置において、
前記格納手段は、前記所定のデータトラックに対応付けて前記記憶手段に格納された補正情報に対応する補正情報が取得され、前記格納された補正情報と前記取得された補正情報が同等でない場合に、前記取得された補正情報に更新するように構成されている。
【請求項4】
請求項1記載の磁気ディスク装置において、
前記取得された補正情報は、前記所定のデータトラックに記録されている情報である。
【請求項5】
請求項1記載の磁気ディスク装置において、
前記取得された補正情報は、前記所定のデータトラックに記録されている情報であり、
前記制御手段は、前記所定のデータトラックへのアクセスに代えて、当該所定のデータトラックに対応付けられた補正情報にアクセスするように構成されている。
【請求項6】
請求項1記載の磁気ディスク装置において、
前記検出手段は、前記ディスク上のアクセスされるべきデータトラックにアクセスする際に、当該アクセスされるべきデータトラックが前記所定の判定基準を満たすかを検出するように構成されている。
【請求項7】
ディスク上のデータトラックにアクセスする際に補正情報を適用するための方法であって、前記方法は、
前記磁気ディスク装置内のディスク上の利用可能なデータトラックにアクセスすることにより、所定の判定基準を満たすかを検出するステップと、
所定のデータトラックが、前記所定の判定基準を満たさない場合に、前記所定の判定基準で利用するための補正情報を取得するステップと、
前記取得された補正情報を、前記所定のデータトラックに対応付けて、記憶手段に格納するステップと、
前記補正情報に基づいて前記所定のデータトラックへのアクセスを制御するステップと
を具備する。
【請求項8】
請求項7記載の方法において、
前記補正情報は、前記所定のデータトラックの偏心成分に対応する。
【請求項9】
請求項7記載の方法において、
前記取得された補正情報は、前記所定のデータトラックに記録されている情報であり、
前記所定のデータトラックに代えて、当該所定のデータトラックに対応付けられた補正情報がアクセスされる。
【請求項1】
磁気ディスク装置において、前記磁気ディスク装置は、
記憶手段と、
前記磁気ディスク装置内のディスク上の利用可能なデータトラックにアクセスし、所定の判定基準を満たすかを検出する検出手段と、
所定のデータトラックが、前記所定の基準を満たさない場合に、前記所定の判定基準で利用するための補正情報を取得する補正情報取得手段と、
前記取得された補正情報を、前記所定のデータトラックに対応付けて、前記記憶手段に格納する格納手段と、
前記補正情報に基づいて前記所定のデータトラックへのアクセスを制御する制御手段と
を具備する。
【請求項2】
請求項1記載の磁気ディスク装置において、
前記補正情報は、前記所定のデータトラックの偏心成分に対応する。
【請求項3】
請求項1に記載の磁気ディスク装置において、
前記格納手段は、前記所定のデータトラックに対応付けて前記記憶手段に格納された補正情報に対応する補正情報が取得され、前記格納された補正情報と前記取得された補正情報が同等でない場合に、前記取得された補正情報に更新するように構成されている。
【請求項4】
請求項1記載の磁気ディスク装置において、
前記取得された補正情報は、前記所定のデータトラックに記録されている情報である。
【請求項5】
請求項1記載の磁気ディスク装置において、
前記取得された補正情報は、前記所定のデータトラックに記録されている情報であり、
前記制御手段は、前記所定のデータトラックへのアクセスに代えて、当該所定のデータトラックに対応付けられた補正情報にアクセスするように構成されている。
【請求項6】
請求項1記載の磁気ディスク装置において、
前記検出手段は、前記ディスク上のアクセスされるべきデータトラックにアクセスする際に、当該アクセスされるべきデータトラックが前記所定の判定基準を満たすかを検出するように構成されている。
【請求項7】
ディスク上のデータトラックにアクセスする際に補正情報を適用するための方法であって、前記方法は、
前記磁気ディスク装置内のディスク上の利用可能なデータトラックにアクセスすることにより、所定の判定基準を満たすかを検出するステップと、
所定のデータトラックが、前記所定の判定基準を満たさない場合に、前記所定の判定基準で利用するための補正情報を取得するステップと、
前記取得された補正情報を、前記所定のデータトラックに対応付けて、記憶手段に格納するステップと、
前記補正情報に基づいて前記所定のデータトラックへのアクセスを制御するステップと
を具備する。
【請求項8】
請求項7記載の方法において、
前記補正情報は、前記所定のデータトラックの偏心成分に対応する。
【請求項9】
請求項7記載の方法において、
前記取得された補正情報は、前記所定のデータトラックに記録されている情報であり、
前記所定のデータトラックに代えて、当該所定のデータトラックに対応付けられた補正情報がアクセスされる。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【公開番号】特開2011−123952(P2011−123952A)
【公開日】平成23年6月23日(2011.6.23)
【国際特許分類】
【出願番号】特願2009−280610(P2009−280610)
【出願日】平成21年12月10日(2009.12.10)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成23年6月23日(2011.6.23)
【国際特許分類】
【出願日】平成21年12月10日(2009.12.10)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]