(57)【要約】【課題】新規且つ改善された、ディスクドライブ装置及びマルチタスキング方法の提供。【解決手段】ファームウェア及びハードウェアのマルチタスキングを別々に提供するディスクドライブ装置が示される。多数のタスク要求のキュー化、後での使用のための多数のタスク結果の記憶、ディスクドライブファームウェア及びハードウェアといったコンポーネント間の待機時間の必要性の減少、を可能にする共有データ構造が示される。高パワーディスクドライブコンポーネントが用いられていない場合の省力モードを含む、より良い効率が提供される。【選択図】図１
2009032377.tif 000002
【特許請求の範囲】
【請求項１】
ディスクドライブファームウェアからのディスクドライブハードウェア動作に対する複数の要求を受信することと、
前記複数の要求を優先度の順で記憶することと、
前記複数の要求を前記優先度の順で完了させるよう、ディスクドライブハードウェアを利用することと、
ディスクドライブハードウェアが前記複数の要求を完了するために動作する間に、１以上のディスクドライブファームウェア動作を実行すること、
を備える方法。
【請求項２】
前記複数の要求を優先度の順で記憶することは、前記複数の要求を、前記要求が受信された順で記憶することを含む請求項１の方法。
【請求項３】
前記複数の要求を優先度の順で記憶することは、前記複数の要求の順を、前記要求が受信された順とは異なる順に変更することを含む請求項１の方法。
【請求項４】
前記複数の要求の１以上の結果を、前記結果が前記ディスクドライブファームウェアによって取り出されるまで、記憶域へ記憶することをさらに含む請求項１の方法。
【請求項５】
前記ディスクドライブハードウェア動作に対する複数の要求を受信することは、少なくとも１つのアドレス変換要求を受信することを含む請求項１の方法。
【請求項６】
未解決のデータ要求のリストを形成するために、ディスクドライブファームウェアからディスクドライブハードウェアに複数の要求を送信することと、
前記リストの優先度の順を変更することと、
前記複数の要求を前記優先度の順で実行するために、ディスクドライブハードウェアを使用することと、
前記ファームウェアに結果データを届けること、
を備える方法。
【請求項７】
前記リストの優先度の順を変更することは、追加のデータ要求を前記リストに挿入することを含む請求項６の方法。
【請求項８】
前記未解決のデータ要求のリストを形成するために、ディスクドライブファームウェアからディスクドライブハードウェアに複数の要求を送信することは、前記リストの先頭か前記リストの終端のどちらかに前記データ要求を送信することによって、要求に優先度を付けることを含む請求項６の方法。
【請求項９】
前記ディスクドライブファームウェアが、前記リストの優先度の順の変更を完了するまで、前記リスト内の次のデータ要求の実行を休止させることを更に含む請求項６の方法。
【請求項１０】
前記ファームウェアに結果データを届けることは、前記ディスクドライブファームウェアによる後のアクセスために、前記データを共有データ構造に記憶することを含む請求項６の方法。
【請求項１１】
ディスクドライブ動作の第１のセットを実行する第１のデータ処理モジュールと、
前記ディスクドライブ動作の第１のセットとは独立して、前記ディスクドライブ動作の第１のセットと少なくとも部分的には同じ時間に、ディスクドライブ動作の第２のセットを実行する第２のデータ処理モジュールと、
前記第１のデータ処理モジュール及び前記第２のデータ処理モジュール間の共有データ構造であって、
前記ディスクドライブ動作の第２セットに対する、優先度順の複数の要求と、
前記第１のデータ処理モジュールによって使用される、前記ディスクドライブ動作の第２のセットの複数の結果と、
を含むデータを記憶する共有データ構造と、
を備えるディスクドライブ装置。
【請求項１２】
前記第１のデータ処理モジュールはファームウェア動作を行うよう構成され、前記第２のデータ処理モジュールはハードウェア動作を行うよう構成された請求項１１のディスクドライブ装置。
【請求項１３】
前記共有データ構造は、前記複数の要求のそれぞれに対する優先度ランキングフィールドを含む、請求項１１のディスクドライブ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディスクドライブ装置及びマルチタスキング方法に関する。
【背景技術】
【０００２】
ディスクドライブは、情報記憶装置である。ディスクドライブは回転スピンドルに固定された１枚以上のディスクと、それぞれのディスク表面からデータを表す情報を読み出すための、及び／又は、それぞれのディスクの表面にデータを書き込むための、少なくとも一つのヘッドを含む。ヘッドは、ボイスコイルモータ(voice coil motor)によって駆動され得るアクチュエータに連結されたサスペンションによって支持される。ディスクドライブの制御電子回路は、電気パルスをボイスコイルモータに提供して、ディスク上の円形トラック内でのデータ読み出し及び書き込みのためにヘッドをディスク上の所望の位置に移動させ、不使用時あるいはディスクドライブの保護のために好ましい他の場合にヘッドを安全なエリアに止めさせる。
【０００３】
ドライブ機能を制御するためにディスクドライブに記憶されたプログラムは、しばしばファームウェアとして記憶されている。選択されたファームウェアは、マルチタスク(multi-task)を行うよう設定されるか、あるいは、１以上の動作を同時に行うように設定されている。しばしばファームウェアは、１以上のファームウェアマルチタスク動作(firmware multi-task operation)に用いられるデータを取得するためにディスクドライブハードウェア(disk drive hardware)を使用する。しかしながら、ディスクドライブハードウェアは、シングルタスキング(single-tasking)のみが可能である。ファームウェアからディスクドライブハードウェアへのデータの要求に時間がかかるなら、ファームウェアは、ファームウェア動作の完了前に、シングルタスキングを行うディスクドライブハードウェアからの結果を待つ必要があり得る。ファームウェア及びディスクドライブハードウェアの更に効果的に使用することが望まれている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで、本発明は、新規且つ改善された、ディスクドライブ装置及びマルチタスキング方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は以下の態様を含む。
【０００６】
（１）ディスクドライブファームウェアからのディスクドライブハードウェア動作に対する複数の要求を受信することと、
前記複数の要求を優先度の順で記憶することと、
前記複数の要求を前記優先度の順で完了させるよう、ディスクドライブハードウェアを利用することと、
ディスクドライブハードウェアが前記複数の要求を完了するために動作する間に、１以上のディスクドライブファームウェア動作を実行すること、
を備える方法。
【０００７】
（２）前記複数の要求を優先度の順で記憶することは、前記複数の要求を、前記要求が受信された順で記憶することを含む（１）の方法。
【０００８】
（３）前記複数の要求を優先度の順で記憶することは、前記複数の要求の順を、前記要求が受信された順とは異なる順に変更することを含む（１）の方法。
【０００９】
（４）前記複数の要求の１以上の結果を、前記結果が前記ディスクドライブファームウェアによって取り出されるまで、記憶域へ記憶することをさらに含む（１）の方法。
【００１０】
（５）前記ディスクドライブハードウェア動作に対する複数の要求を受信することは、少なくとも１つのアドレス変換要求を受信することを含む（１）の方法。
【００１１】
（６）前記少なくとも１つのアドレス変換要求を受信することは、シリンダヘッドセクタ（ＣＨＳ）、物理ブロックアドレス（ＰＢＡ）、論理ブロックアドレス（ＬＢＡ）からなるリストから選ばれたアドレスフォーマット間での変換要求を受信することを含む（５）の方法。
【００１２】
（７）ディスクドライブハードウェア動作に対する未解決の要求が無い場合、ディスクドライブハードウェアを省力モードに設定することを更に含む（１）の方法。
【００１３】
（８）未解決のデータ要求のリストを形成するために、ディスクドライブファームウェアからディスクドライブハードウェアに複数の要求を送信することと、
前記リストの優先度の順を変更することと、
前記複数の要求を前記優先度の順で実行するために、ディスクドライブハードウェアを使用することと、
前記ファームウェアに結果データを届けること、
を備える方法。
【００１４】
（９）前記リストの優先度の順を変更することは、追加のデータ要求を前記リストに挿入することを含む（８）の方法。
【００１５】
（１０）前記追加のデータ要求を前記リストに挿入することは、追加のデータ要求を前記リストの先頭に挿入することを含む（９）の方法。
【００１６】
（１１）前記未解決のデータ要求のリストを形成するために、ディスクドライブファームウェアからディスクドライブハードウェアに複数の要求を送信することは、前記リストの先頭か前記リストの終端のどちらかに前記データ要求を送信することによって、要求に優先度を付けることを含む（８）の方法。
【００１７】
（１２）前記ディスクドライブファームウェアが、前記リストの優先度の順の変更を完了するまで、前記リスト内の次のデータ要求の実行を休止させることを更に含む（８）の方法。
【００１８】
（１３）前記ファームウェアに結果データを届けることは、前記ディスクドライブファームウェアによる後のアクセスために、前記データを共有データ構造に記憶することを含む（８）の方法。
【００１９】
（１４）前記複数のデータ要求を送信することは、シリンダヘッドセクタ（ＣＨＳ）、物理ブロックアドレス（ＰＢＡ）、論理ブロックアドレス（ＬＢＡ）からなるリストから選ばれたアドレスフォーマット間での変換のための、少なくとも一つの要求を送信することを含む（８）の方法。
【００２０】
（１５）ディスクドライブ動作の第１のセットを実行する第１のデータ処理モジュールと、
前記ディスクドライブ動作の第１のセットとは独立して、前記ディスクドライブ動作の第１のセットと少なくとも部分的には同じ時間に、ディスクドライブ動作の第２のセットを実行する第２のデータ処理モジュールと、
前記第１のデータ処理モジュール及び前記第２のデータ処理モジュール間の共有データ構造であって、
前記ディスクドライブ動作の第２セットに対する、優先度順の複数の要求と、
前記第１のデータ処理モジュールによって使用される、前記ディスクドライブ動作の第２のセットの複数の結果と、
を含むデータを記憶する共有データ構造と、
を備えるディスクドライブ装置。
【００２１】
（１６）前記第１のデータ処理モジュールはファームウェア動作を行うよう構成され、前記第２のデータ処理モジュールはハードウェア動作を行うよう構成された（１５）のディスクドライブ装置。
【００２２】
（１７）前記共有データ構造は、前記複数の要求のそれぞれに対する優先度ランキングフィールドを含む、（１５）のディスクドライブ装置。
【００２３】
（１８）前記共有データ構造は、データ入力フィールド及びデータ出力フィールドを含む、（１７）のディスクドライブ装置。
【００２４】
（１９）前記共有データ構造は、ディスクドライブ動作ステータスフィールドを含む、（１８）のディスクドライブ装置。
【００２５】
（２０）前記共有データ構造は、当該ディスクドライブ装置のマルチポートＲＡＭを利用する、（１５）のディスクドライブ装置。
【発明の効果】
【００２６】
本発明によれば、新規且つ改善された、ディスクドライブ装置及びマルチタスキング方法を提供することができる。
【発明を実施するための最良の形態】
【００２７】
以下では、本発明の実施形態の例が、図面を参照して説明される。
【００２８】
図１は、一実施形態による、磁気記録再生装置（ハードディスクドライブ）の斜視図である。磁気記録再生装置は内部にシャシー(chassis)１０、磁気ディスク１１、読み出しヘッド及び書き込みヘッドを含んだヘッドスライダ(head slider)１６、ヘッドスライダ１６を支持するヘッドサスペンションアッセンブリ(head suspension assembly)（サスペンション１５及びアクチュエータアーム１４）、ボイスコイルモータ（ＶＣＭ）１７、及び回路基板を含む。
【００２９】
磁気ディスク（離散トラックメディア(discrete track media)）１１は、スピンドルモータ(spindle motor)１２に取り付けられ、スピンドルモータ１２によって回転される。各種のデジタルデータが、垂直磁気記録方法で磁気ディスク１１に記録される。実施形態の一例においては、ヘッドスライダ１６に内蔵された磁気ヘッドは、単極構造の書き込みヘッドと、遮蔽ＭＲ読み出し素子(ＧＭＲフィルムやＴＭＲフィルム等)を用いる読み出しヘッドとを含む統合ヘッドである。サスペンション１５はアクチュエータアーム１４の一端で保持され、ヘッドスライダ１６を支持して磁気ディスク１１の記録面を向くようにする。アクチュエータアーム１４は、ピボット(pivot)１３に取り付けられる。ボイスコイルモータ（ＶＣＭ）１７は、アクチュエータを駆動するもので、アクチュエータアーム１４の他端に備えられる。ＶＣＭ１７は、ヘッドサスペンションアッセンブリを駆動し、磁気ヘッドの位置を磁気ディスク１１の半径方向で任意の位置に定める。回路基板は、ＶＣＭのための駆動信号と、磁気ヘッドによって行われる読み出し及び書き込み動作を制御するための制御信号とを生成するヘッドＩＣ(head IC)を含む。
【００３０】
図２は、一実施形態による、磁気ディスク１１の概略平面図である。図２は、データゾーン(data zone)１８及びサーボゾーン(servo zone)１９を示す。ユーザデータは、データゾーン１８の各々に記録される。本例の磁気ディスクは、同心の磁気パターンを成すトラックを有する。記録トラックの一例については、図３を参照して後述される。ヘッドの位置決めのためのサーボデータ(servo data)は、異なって磁化された物質によるパターンとして、各サーボゾーン１９に形成される。ディスク表面上で、サーボゾーン１９は、アクセス中のヘッドスライダの軌跡に対応する円弧のような形状をしている。
【００３１】
図３は、一実施形態による、磁気ディスクメディア内のデータゾーンの一例の斜視図である。柔軟な基層(underlayer)２２は、基板(substrate)２１上に形成されている。磁気パターンは記録トラック(recording track)２３を構成する。記録トラック２３の半径方向の幅及びトラックピッチ(track pitch)は、それぞれＴｗ及びＴｐによって示される。読み出しヘッドのＧＭＲ素子３１と書き込みヘッドの単極(single pole)３２は、ヘッドスライダ内に形成されており、記録トラック２３上に配置される。
【００３２】
基板２１としては、平坦なガラス基板が用いられてもよい。基板２１はガラス基板に限らず、アルミ基板（あるいは他の適当な基板）が用いられてもよい。磁性材料は、基板２１上に配置され、選択的に磁化されて記録トラックを形成する。記録トラック２３のような磁性材料にはＣｏＣｒＰｔが用いられてもよいが、本発明はこれに限定されない。図示されていないが、ダイアモンド状炭素(diamond-like carbon)（ＤＬＣ）の保護フィルムが、メディアの表面上に形成されてもよい。一例においては、保護フィルムの表面に潤滑剤が塗布されてもよい。
【００３３】
図４及び図５を参照して、サーボゾーン及びデータゾーンのパターンが説明される。図４に概略的に示されるように、サーボゾーン１９はプリアンブルセクション(preamble section)４１、アドレスセクション(address section)４２、バーストセクション(burst section)４３を偏差(deviation)の検出のために有する。
【００３４】
図５に示すように、データゾーン１８は記録トラック２３を含む。サーボ信号(servo signal)を提供する磁化のパターンは、サーボゾーン１９のプリアンブルセクション４１、アドレスセクション４２、及びバーストセクション４３のそれぞれにおいて形成される。これらのセクションは、以下に述べる機能を有してもよい。
【００３５】
プリアンブルセクション４１は、メディアの回転偏向によって引き起こされる偏差に関するサーボ信号読み出しのためのクロックを同期させるフェーズロックループ(phase lock loop)（ＰＬＬ）処理、及び適切な信号振幅を維持するＡＧＣ処理を実行するために備えられる。
【００３６】
アドレスセクション４２は、例えばマンチェスター符号化方式(Manchester encoding)や他のタイプの符号化を用いて、円周方向にプリアンブルセクション４１と同じピッチで形成され、サーボマーク(servo mark)、セクタデータ(sector data)、シリンダデータ(cylinder data)等と称されるサーボ信号認識コード(servo signal recognition code)を有してもよい。特に、シーク(seek)動作中のアドレス読み出しエラーの悪影響を低減させるため、隣接するトラック間に最小の差を与えるよう、シリンダデータはサーボトラックごとに変化のあるデータを示すパターンを有する。
【００３７】
バーストセクション４３は、オフトラック(off-track)検出領域であり、シリンダアドレス(cylinder address)についてのオントラック(on-track)状態に対するオフトラック量の検出に用いられる。バーストセクション４３は、所望のトラック中心に対して読み出し又は書き込みヘッドを配置するためのパターンを含む。図５のパターンは、バーストマーク(burst mark)（Ａ，Ｂ，Ｃ，及びＤ）の４つのフィールドを含む例として示され、その半径方向のパターン位相(pattern phase)は、各フィールドで互いにシフトしている。他のバーストパターンもまた用いられ得る。一例としては、複数のマークが、円周方向にプリアンブルセクションと同ピッチで配置される。
【００３８】
バーストセクション４３に基づく位置検出の原理は、詳細には説明されない。図示されたパターンを用いる場合、オフトラック量は、Ａ，Ｂ，Ｃ及びＤバーストからの読み出し信号の平均振幅値の計算によって得られる。上述のように、平均振幅に依らない他のパターンが用いられてもよい。
【００３９】
図６は、実施形態の一例による、磁気記録再生装置（ハードディスクドライブ）のブロック図を示す。この図は、磁気ディスク１１の表面上方にのみ存在するヘッドスライダ１６を示している。しかしながら、離散トラックを有する垂直磁気記録層が、磁気ディスクの両面に形成されている。ダウンヘッド(down head)及びアップヘッド(up head)は、磁気ディスクの上面及び下面の上方及び下方にそれぞれ設けられる。ディスクドライブは、ヘッドディスクアッセンブリ(head disk assembly)（ＨＤＡ）１００と呼ばれる本体ユニット及びプリント基板（ＰＣＢ）２００を含む。
【００４０】
図６に示すように、ＨＤＡ１００は、磁気ディスク１１、磁気ディスク１１を回転させるスピンドルモータ１２、読み出しヘッド及び書き込みヘッドを含むヘッドスライダ１６、サスペンション１５及びアクチュエータアーム１４、ＶＣＭ１７、及び図示しないヘッド増幅器(head amplifier)（ＨＩＣ）を有する。ヘッドスライダ１６には、図３に示す巨大磁気抵抗（ＧＭＲ）素子といった読み出し素子を含む読み出しヘッド３１及び書き込みヘッド３２が備えられる。
【００４１】
ヘッドスライダ１６は、サスペンション１５上に設けられたジンバルによって伸縮自在に支持されてもよい。サスペンション１５はアクチュエータアーム１４に取り付けられ、アクチュエータアーム１４は、ピボット１３に回転可能に取り付けられている。ＶＣＭ１７はピボット１３周りにトルクを発生させ、アクチュエータアーム１４が磁気ディスク１１の半径方向にヘッドを動かす。ＨＩＣは、アクチュエータアーム１４に固定され、ヘッドからの入力信号及び出力信号を増幅する。ＨＩＣはフレキシブルケーブル(flexible cable)１２０を介してＰＣＢ２００に接続される。ＨＩＣをアクチュエータアーム１４上に備えると、ヘッド信号内のノイズが効果的に低減され得る。しかしながら、ＨＩＣはＨＤＡ本体に固定されてもよい。
【００４２】
上述のように、磁気記録層は磁気ディスク１１の各面上に形成され、それぞれが円弧のような形状をもつサーボゾーン１９は移動するヘッドの軌跡に対応するよう形成される。磁気ディスクの仕様は、特定のドライブに適した読み出し／書き込み特性、外径及び内径に応じる。サーボゾーン１９によって形成される円弧の半径は、ピボットから磁気ヘッド素子への距離として与えられる。
【００４３】
図示された実施形態の例では、いくつかの主要な電気的コンポーネント、いわゆるシステムＬＳＩがプリント基板（ＰＣＢ）２００上に取り付けられている。システムＬＳＩはコントローラ２１０、読み出し／書き込みチャネルＩＣ(read/write channel IC)２２０、及びモータドライバＩＣ(motor driver IC)２４０である。コントローラ２１０は、ディスクコントローラ（ＨＤＣ）及びＭＰＵと、ファームウェアを含む。一実施形態においては、コントローラ２１０は第１のデータ処理モジュール(first data processing module)２２５及び第２のデータ処理モジュール２３０(second data processing module)を含む。共有データ構造(shared data structure)２５０は、以下で更に詳しく説明されるように、第１のデータ処理モジュール２２５と第２のデータ処理モジュール２３０の間に結合される。
【００４４】
ＭＰＵは、駆動システムの制御ユニットであり、ＲＯＭ、ＲＡＭ、ＣＰＵ、及び本実施形態の例に係るヘッド位置決め制御システムを実施する論理処理ユニットを含む。論理処理ユニットは、高速計算を実行するハードウェア回路から成る演算処理ユニットである。論理処理回路のためのファームウェアは、ＲＯＭあるいはディスクドライブの他の場所に保存されている。ＭＰＵは、ファームウェアに従ってドライブを制御する。
【００４５】
ディスクコントローラ（ＨＤＣ）は、ハードディスクドライブ内のインタフェースユニットであり、ディスクドライブとホストコンピュータ５００（例えば、パーソナルコンピュータ）間のインタフェースと、ＭＰＵ、読み出し／書き込みチャネルＩＣ２２０、及びモータドライバ２４０とを用いた情報交換によりドライブ全体を管理する。
【００４６】
読み出し／書き込みチャネルＩＣ２２０は、読み出し／書き込み動作に関連するヘッド信号処理ユニット(head signal processing unit)である。読み出し／書き込みチャネルＩＣ２２０は、読み出し／書き込みパス(read/write path)２１２及びサーボ復調器(servo demodulator)２０４を含んで図示される。読み出し／書き込みパス２１２は、ユーザデータとサーボデータの読み出し及び書き込みに用いられることができ、サーボ復調に有用なフロントエンド回路(front end circuitry)を含んでもよい。読み出し／書き込みパス２１２はまた、セルフサーボ書き込み(self-servowriting)でのサーボ情報書き込みに用いられてもよい。ディスクドライブは他のコンポーネントをも含んでいるが、実施形態の例を説明するのに必須ではないため図示されていないことには留意すべきである。
【００４７】
サーボ復調器２０４は、サーボフェーズロックドループ(phase locked loop)（ＰＬＬ）２２６、サーボ自動ゲイン制御(automatic gain control)（ＡＧＣ）２２８、サーボフィールドディテクタ(field detector)２３１、及びレジスタスペース(register space)２３２を含んで図示される。サーボＰＬＬ２２６は、一般に、サーボ復調器２０４内で、１以上のタイミングあるいはクロック回路(図６には示さず)のための周波数及び位相の制御を提供するのに用いられる制御ループである。例えば、サーボＰＬＬ２２６は、タイミング信号を読み出し／書き込みパス２１２に提供することができる。サーボＡＧＣ２２８は、可変ゲイン増幅器(variable gain amplifier)を含み(又は駆動し)、複数のディスク１１のうち１つ上のサーボゾーン１９が読み出されている時の、読み出し／書き込みパス２１２の出力をほぼ一定レベルに保つために用いられる。サーボフィールドディテクタ２３１は、ＳＡＭ、トラック番号、第１位相サーボバースト(first phase servo burst)、及び第２位相サーボバースト(second phase servo burst)を含む、サーボゾーン１９の様々なサブフィールド(subfield)の検出及び／又は復調に用いられる。ＭＰＵは、様々なサーボ復調機能(例えば、決定、比較、特徴付け等)の実行に用いられ、サーボ復調器２０４の一部であるとも考えることができる。別の方法では、サーボ復調器２０４は、独自のマイクロプロセッサを持つことも可能である。
【００４８】
１以上のレジスタ(例えばレジスタスペース２３３内)は、読み出し／書き込みパス２１２がサーボデータを読んでいる場合は、適切なサーボＡＧＣ値(例えばゲイン値、フィルタ係数、フィルタ蓄積パス(filter accumulation path)等)の記憶に用いられ得る。読み出し／書き込みパス４１２がユーザデータを読んでいる場合には、１以上のレジスタが、適切な値(例えばゲイン値、フィルタ係数、フィルタ蓄積パス等)を記憶するのに用いられ得る。制御信号は、読み出し／書き込みパス２１２のカレントモードに従い、適切なレジスタを選択するのに用いられ得る。記憶されたサーボＡＧＣ値は、動的な更新が可能である。例えば、読み出し／書き込みパス２１２がサーボデータを読んでいる時に用いられる記憶されたサーボＡＧＣ値は、更なるサーボゾーン１９が読み出されるたびに更新され得る。このように、最も近いサーボゾーン１９の読み出しについて決定されたサーボＡＧＣ値は、次のサーボゾーン１９が読み出される際には、始動サーボＡＧＣ値となり得る。
【００４９】
読み出し／書き込みパス２１２は、磁気ディスク１１への情報の書き込み及び磁気ディスク１１からの情報の読み出し処理に用いられる電子回路を含む。ＭＰＵは、サーボ制御アルゴリズムを実行することができ、このため、サーボコントローラと称される。あるいは、別個のマイクロプロセッサあるいはデジタル信号プロセッサ（図示せず）がサーボコントロール機能を実行することもできる。
【００５０】
図７は、図６に示されるコントローラ２１０の各部を示す。上述のように、第１のデータ処理モジュール２２５及び第２のデータ処理モジュール２３０が、共有データ構造２５０と共に示されている。第１のデータ処理モジュール２２５と共有データ構造２５０との間で、矢印２２１で表されるようにデータが交換される。同様に、第２のデータ処理モジュール２３０と共有データ構造２５０との間では、矢印２３３で表されるようにデータが交換される。
【００５１】
一実施形態においては、第１のデータ処理モジュール２２５は、データ演算といったディスクドライブ動作を実行するファームウェア等のプログラミングを含む。一実施形態においては、第２のデータ処理モジュール２３０は、ハードウェア動作を実行するためのプログラミングを含む。
【００５２】
デバイス動作の一例においては、第１のデータ処理モジュール２２５内のファームウェアは、ハードウェアを用いて読み出されるべき演算のためのデータを要求する。第２のデータ処理モジュール２３０内のプログラミングは、要求されたデータを得るため、要求に応じてボイスコイルモータ、読み出し／書き込みヘッド等のハードウェアを駆動する。要求されたデータはそれから、第１のデータ処理モジュール２２５内のファームウェアに、共有データ構造２５０を介し、チャネル２３１及び２２１を用いて届けられる。
【００５３】
上述のように、シングルタスキングハードウェア構成(single-tasking hardware configuration)においては、第１のデータ処理モジュール２２５内のファームウェアは、ハードウェア及び第２のデータ処理モジュール２３０がデータを取得する間待機する。共有データ構造２５０を用いる実施形態は、様々なレベルでのマルチタスキング(multi-tasking)を可能とし、効率の改善をもたらす。
【００５４】
図７は、共有データ構造２５０内のキュー(queue)２５１に配列された複数のタスクを示す。図示された例においては、複数のタスクは、１列の第１のタスク２５２、多数の中間タスク２５６、及び最終タスク２５４によってランク付けされている。本発明の開示を利用する当業者は、動作中の所定時点においてキューがいくつのタスクでも含むことを認識するであろうが、説明のために複数のタスクについての議論が行われる。ハードドライブの作業負荷によっては、キューが単一のタスクあるいは数個のタスクのみを含むこともあり得る。ファームウェアによってハードウェア情報が必要とされないならば、キューは一時的に空になってもよい。
【００５５】
動作方法の一例において、共有データ構造２５０を用いて、第１のデータ処理モジュール２２５内のファームウェアは、次の要求を出す前に以前の要求の結果を待機する必要無く、ディスクドライブハードウェアの複数の動作を要求する。ハードウェア要求のキューは格納されているため、第１のデータ処理モジュール２２５内のファームウェアはマルチタスクが可能であり、あるいは、第２のデータ処理モジュール２３０がデータを取得する間に他の動作を行うことが可能である。一実施形態においては、ハードウェア及び第２のデータ処理モジュール２３０からの結果が得られると、当該結果は、第１のデータ処理モジュール２２４が後で用いるために、ＲＡＭや他の高速アクセスメモリといったメモリに記憶される。必要に応じた使用のための当該結果の記憶は更に、第１のデータ処理モジュール２２５内のファームウェアが、第２のデータ処理モジュール２３０とは独立してマルチタスクを行うことを可能とする。
【００５６】
図７は更に、キュー２５１の各タスクが複数のフィールド２５３を有する場合の、共有データ構造２５０の例を示す。フィールド２５３が特定の順序で示されているとしても、当業者は他の順序も本発明の範囲内にあると認識するであろう。一実施形態において、第１のフィールド２６０はタスク番号(task number)を示す。タスク番号はキュー２５１内のタスクの優先度を指定するのに用いられる。一例において、第１のトラック２５２にはタスク番号１が指定され、最初に実行されることが示される。この例に続いて、キュー内での優先度は、トラック番号１，２，３，等によって決定され、最小の番号が次に行われるべきタスクとなる。
【００５７】
一例においては、他のフィールドがデータ入力フィールド(data input field)２６２を含む。データ入力の例は、ハードウェア及び第２のデータ処理モジュール２３０を用いて何が読み出されるべきかの指示を含む。一例においては、他のフィールドがデータ出力フィールド(data output field)２６４を含む。データ出力の例は、データ入力フィールドでの指示の結果を含む。
【００５８】
ファームウェアがマルチタスクを行っている間にハードウェアが実行できる機能の例には、アドレス変換要求が含まれる。一例において、ファームウェアからの要求は、シリンダヘッドセクタ(cylinder head sector)（ＣＨＳ）、物理ブロックアドレス(physical block address)（ＰＢＡ）、論理ブロックアドレス(logical block address)（ＬＢＡ）等といったフォーマット間での変換要求を含む。
【００５９】
一例においては、他のフィールドがタスクステータスフィールド(task status field)２６６を含む。タスクステータスフィールドにおけるデータの例は、タスクが完了したことのフラグやその他のインジケータを含む。一例において、タスクステータスフィールド内のフラグがＯＮであれば、タスクは完了しており、第１のデータ処理モジュール２２５内のファームウェアは、データ出力フィールド２６４から結果を取り出すことができる。タスクステータスフィールド２６６がフラグされていなければ、第１のデータ処理モジュール２２５内のファームウェアは、タスクが終了するまでマルチタスキングを継続することができる。
【００６０】
一例においては、他のフィールドがポーズフラグ(pause flag)２６８を含む。ポーズフラグを用いる方法の例は、ポーズフラグがＯＮであれば、タスクの休止を実行することを含む。一例においては、追加のタスクがキューに挿入される間はタスクの実行が休止されると、キュー２５１への１以上のタスクの挿入はより良く達成される。ポーズフラグは各タスクのフィールドとして示されているが、本発明はこれに限定されない。他の構成は、他のタスクがキューに入り込む間は要求の実行を休止させる、共有データ構造２５０あるいはコントローラ２１０内の休止機能を含む。
【００６１】
一例において、共有データ構造２５０を操作するのに用いられるデバイスはマルチポートＲＡＭ(multi-port RAM)を有するが、本発明はこれに限定されない。マルチタスキングモジュール(multi-tasking module)間でのデータ共有のための回路構成、及びその他のメモリタイプもまた、本発明の範囲内である。
【００６２】
一例において、コントローラ２１０及びハードドライブの効率は、キュー２５１内の優先度の変更によって向上する。一例において複数のタスクがキューに入った後、ファームウェアあるいは第１のデータ処理モジュール２２５によってより緊急に必要とされるデータを反映するよう、優先順位が変更される。一例においては、現行のキューがシャッフルされて、キュー２５１内のタスクの変更された優先順位が反映される。一例においては、追加のタスクがキュー２５１のラインの終端２５４以外の位置に挿入される。一例においては、追加のタスクがキューの中央の位置に挿入され、キュー２５１内のタスクの順序が効果的に変更される。
【００６３】
一例においては、追加タスクは、ラインの先頭２５２あるいはラインの終端２５４への挿入に限定される。キュー２５１の優先度は従って、追加のタスクが挿入されると変更されるのみである。優先度が高いトラックはラインの最前部２５２に挿入されることが可能であり、一方で、優先度が低いトラックはラインの最終端に挿入される。上述のような優先システムを用いる構成は、プログラムしやすく、操作するのに複雑な構成を必要としない。
【００６４】
一例において、コントローラ２１０及びハードドライブの効率は、キュー２５１にタスクが存在しない場合に、ハードウェア及び第２のデータ処理モジュール２３０を省力モード(power saving mode)に設定することによって向上する。ファームウェア及び第１のデータ処理モジュール２２５双方のマルチタスキングと、ハードウェア及び第２のデータ処理モジュール２３０の独立の動作及びマルチタスキングは、このような構成における省力モードの効果を高める。一例において、マルチタスキングにより、ハードウェアは通常の時間よりも長い期間連続して動作でき、同様に、より長い時間省力状態に移ることができる。
【００６５】
上述の実施形態において述べられたコントローラ構造を用いるディスクドライブは、より高速でより効率のよいデータアクセス、及びファームウェアとハードウェア個々のマルチタスキングといった特徴による演算を提供する。共有データ構造は、多数のタスク要求のキュー化及び多数のタスク結果を後で利用するための記憶を容易にし、従って、モジュール間の待機時間を低減させる。ボイスコイルモータ等の高パワードレインデバイス(higher power drain device)が必要とされない場合に、省力モードといった特性を用いて更なる効率の良さが得られる。
【００６６】
上述のようなディスクドライブやコントローラの選択された実施形態を含むコンピュータシステムのブロック図は、図８に示される。コンピュータ６１０の形式の一般的な計算装置は、プロセッシングユニット６２０、メモリ６０４、リムーバブルストレージ(removable storage)６１２、及びノンリムーバブルストレージ(non-removable storage)６１４を含んでもよい。メモリ６０４は、揮発性メモリ６０６及び不揮発性メモリ６０８を含んでもよい。コンピュータ６１０は、揮発性メモリ６０６と不揮発性メモリ６０８、リムーバブルストレージ６１２とノンリムーバブルストレージ６１４といった多様なコンピュータ読取り可能なメディアを含んでも、あるいはこれらの多様なメディアを含むコンピュータ環境へのアクセスを有してもよい。コンピュータストレージはＲＡＭ、ＲＯＭ、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリや他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ、その他の光学ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージやその他の磁気ストレージ装置、あるいはその他のコンピュータ読取り可能な命令を記憶できるメディアを含む。コンピュータ６１０は、入力６１６、出力６１８、及び通信接続６２０を含むコンピュータ環境を含んでも、あるいはこのようなコンピュータ環境へのアクセスを含んでもよい。コンピュータは、１以上のリモートコンピュータ(remote computer)と接続するのに、通信接続を用いてネットワーク化された環境において動作してもよい。リモートコンピュータは、パーソナルコンピュータ（ＰＣ）、サーバ、ルータ、ネットワークＰＣ、ピアデバイス(peer device)や他の一般的なネットワークノード(network node)等を含んでもよい。通信接続は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）や他のネットワークを含んでもよい。ディスクドライブのコントローラ２１０又は他の選択された回路やコンポーネントが、このようなコンピュータシステムであってもよい。
【００６７】
コンピュータ読取り可能なメディアに記憶されたコンピュータ読取り可能な命令は、コンピュータ６１０のプロセッシングユニット６０２によって実行可能である。ハードドライブ、ＣＤ−ＲＯＭ、及びＲＡＭは、コンピュータ読取り可能なメディアを含む物品の例である。コンピュータプログラムは、ディスクドライブに関連してファームウェアと称されてもよい。実施形態によっては、コンピュータプログラム６２５のコピーが、ディスクドライブの磁気ディスク１１に記憶されることも可能である。
【００６８】
コンピュータ６１０が一例として用いられたが、携帯型音楽プレーヤ、デジタルビデオレコーダといったハードドライブを含む他のデバイスも、本発明の範囲に含まれる。上述の特定の実施形態の説明は、本発明の一般的な性質を効果的に明らかにしており、現在の知識の適用により、包括的な概念から逸脱することなく、様々な応用のために容易に修正及び／又は適合が可能である。従って、このような適合及び修正は、開示された実施形態の等価物の意義及び範囲内に包括されることが意図されている。
【００６９】
要約書は、本技術的開示の本質と要旨を、読者が迅速に確かめられるように提供されている。要約書は、請求項の範囲や意味を解釈したり限定したりするためには用いられないという理解の下で提出されている。
【００７０】
本明細書において採用された語法や用語は、説明を目的とするものであり、限定のためではないということが理解される。従って本発明は、添付の請求項の精神と範囲内に含まれるこのような代替物、修正、等価物、及び変形全てを包含することが意図されている。
【図面の簡単な説明】
【００７１】
【図１】実施形態の一例による、磁気記録再生装置（ハードディスクドライブ）の斜視図。
【図２】実施形態の一例による、磁気ディスクの概略平面図。
【図３】実施形態の一例による、磁気ディスク内のデータゾーンの斜視図。
【図４】実施形態の一例による、磁気ディスク内のサーボゾーン及びデータゾーンの概略図。
【図５】実施形態の一例による、磁気ディスク内のサーボゾーン及びデータゾーンにおけるパターンを示す平面図。
【図６】実施形態の一例による、磁気記録再生装置（ハードディスクドライブ）のブロック図。
【図７】実施形態の一例による、コントローラ各部のブロック図。
【図８】実施形態の例で説明された方法及び装置を実施するためのコンピュータシステムのブロック図の例。
【符号の説明】
【００７２】
１０…シャシー、１１…磁気ディスク、１２…スピンドルモータ、１４…アクチュエータアーム、１５…サスペンション、１６…ヘッドスライダ、１７…ボイスコイルモータ、１８…データゾーン、１９…サーボゾーン。
【図１】
2009032377.tif 000003
【図２】
2009032377.tif 000004
【図３】
2009032377.tif 000005
【図４】
2009032377.tif 000006
【図５】
2009032377.tif 000007
【図６】
2009032377.tif 000008
【図７】
2009032377.tif 000009
【図８】
2009032377.tif 000010