(57)【特許請求の範囲】
【請求項１】
メモリと、
部分的に重ね書きされた複数のトラックをそれぞれ含む複数のトラック群を有するディスクと、
前記複数のトラック群にデータを書き込むライトヘッドと、前記複数のトラック群に書き込まれたデータを読み込むリードヘッドとを有するヘッドと、
前記トラック群に第１データを書き込む際に、第１目標トラックに対する前記ライトヘッドの第１位置決め誤差を含む第１位置情報を、前記メモリと、前記第１データが書き込まれた第１記録領域の後の第２記録領域と、に書き込み、前記第１データの書き込んだ後にデータを追記する際に、前記メモリ、又は前記第２記録領域から前記第１位置情報を読み込み、前記第１位置情報に基づいて、前記ライトヘッドの位置を制御し、前記メモリに書き込む際に、前記メモリに優先して書き込む順番を示す優先度を前記第１位置情報に設定する、コントローラと、を備える磁気ディスク装置。
【請求項２】
前記コントローラは、前記第１データの書き込んだ後にデータを追記する際に、前記メモリに前記第１位置情報が保存されているかを判定し、前記メモリに前記第１位置情報がある場合に、前記メモリから前記第１位置情報を読み込み、前記メモリに前記第１位置情報が無い場合に、前記第２記録領域から前記第１位置情報を読み込む、請求項１の磁気ディスク装置。
【請求項３】
前記コントローラは、前記第１データの後に第２データを追記する際に、前記第２記録領域に前記第２データを上書きし、前記第２データを書き込んだ第３記録領域の後の第４記録領域に、前記第２データを書き込む際の目標トラックに対する前記ライトヘッドの位置決め誤差を含む第２位置情報を書き込む、請求項２の磁気ディスク装置。
【請求項４】
前記コントローラは、前記第１位置情報を参照して、前記第１データを書き込んだ後に第２データを書き込む際の第２目標トラックに対する第２位置決め誤差が、前記リードヘッドによりリード可能な１つ前に書き込んだ隣接する第１トラックの第１トラック幅を維持できる第１閾値を超えた場合、書き込み動作を禁止する、請求項１の磁気ディスク装置。
【請求項５】
前記コントローラは、前記第１位置決め誤差と、前記第１位置決め誤差が発生した位置に対応する前記第１トラックの位置の前記第２位置決め誤差と、から算出される第１トラック幅が、前記第１トラック幅よりも狭い場合、書き込み動作を禁止する、請求項４の磁気ディスク装置。
【請求項６】
前記コントローラは、前記第１位置情報を参照して、前記第１データを書き込んだ後に第２データを書き込む際に、１つ前に書き込んだ隣接する第１トラックの第３位置情報に基づいて第２目標トラックを設定する、請求項１の磁気ディスク装置。
【請求項７】
前記コントローラは、前記トラック群へデータを書き込んだ回数に従って、前記優先度を高くする、請求項１の磁気ディスク装置。
【請求項８】
前記コントローラは、前記トラック群のデータを追記できる記録領域の大きさに従って、前記優先度を高くする、請求項１の磁気ディスク装置。
【請求項９】
前記コントローラは、前記メモリのデータ容量に所定の空き容量がない場合、前記第１位置情報よりも前記優先度が低い他の位置情報の内の最も前記優先度が低い第４位置情報を削除し、前記第１位置情報を前記メモリに書き込む、請求項７、又は８の磁気ディスク装置。
【請求項１０】
前記コントローラは、前記第１データを書き込んだ後にデータを追記する際に、外部からの命令に従って前記複数のトラック群の内の任意の記録領域にデータを書き込む、請求項１の磁気ディスク装置。
【請求項１１】
メモリと、部分的に重ね書きされた複数のトラックをそれぞれ含む複数のトラック群を有するディスクと、前記複数のトラック群にデータを書き込むライトヘッドと、前記複数のトラック群に書き込まれたデータを読み込むリードヘッドとを有するヘッドと、備える磁気ディスク装置に適用する書き込み方法であって、
前記トラック群に第１データを書き込む際に、第１目標トラックに対する前記ライトヘッドの第１位置決め誤差を含む第１位置情報を、前記メモリと、前記第１データが書き込まれた第１記録領域の後の第２記録領域と、に書き込み、
前記第１データの書き込んだ後にデータを追記する際に、前記メモリ、又は前記第２記録領域から前記第１位置情報を読み込み、
前記第１位置情報に基づいて、前記ライトヘッドの位置を制御し、
前記メモリに書き込む際に、前記メモリに優先して書き込む順番を示す優先度を前記第１位置情報に設定する、書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、磁気ディスク装置、及び書き込み方法に関する。
【背景技術】
【０００２】
近年、磁気ディスク装置（例えば、ＨＤＤ）の高記録容量化を実現するための様々な技術が開発されている。これら技術の一つとして瓦記録方式（Shingled write Magnetic Recording（ＳＭＲ）、またはShingled Write Recording（ＳＷＲ））と称される記録技術がある。瓦記録方式の磁気ディスク装置は、磁気ディスクへデータをライトする際に、隣接するトラック（以下、隣接トラックと称する）の一部に重ねて次の記録トラックを書き込みする。この瓦記録方式を採用することによって、トラック密度（Track Per Inch：ＴＰＩ）を向上することができる。
【０００３】
通常の記録方式のＨＤＤの場合、隣接トラックとの距離（トラック幅）は、ライトヘッド（ライトコア）の幅によって決まる。瓦記録方式のＨＤＤの場合、トラックピッチは、ライトコアの幅に依らず、隣接トラックに重ね書きする領域によって決まる。したがって、瓦記録方式のＨＤＤでは、目標軌道に対するヘッド中心の位置決め誤差によって生じるトラック幅の狭窄を制御することが重要となる。
【０００４】
そのため、瓦記録方式のＨＤＤでは、トラック幅の狭窄を抑制するためのトラック幅制御機能が提案されている。例えば、オフセット量が隣接トラックの位置決め誤差に基づく閾値を超えた場合にデータの書き込み動作を禁止する機能（Dynamic Drift-Off Level:ＤＤＯＬ）や、データを書き込んだ隣接トラックの位置決め誤差情報に基づいてトラックの目標軌道を設定する機能（Automatic Trackwidth Control:ＡＴＣ）が提案されている。ＤＤＯＬやＡＴＣ等のトラック幅制御機能では、データを書き込む際に、既に書き込んだトラックの１周又は２周分の位置決め誤差を含む位置情報が、メモリ上に格納される。
【０００５】
瓦記録方式の磁気ディスク装置において、マルチストリームに対して、ＤＤＯＬやＡＴＣ等のトラック幅制御機能をそれぞれ実行する場合、複数のバンド領域に対する各位置情報をメモリだけで管理することは困難となる。また、瓦記録方式の磁気ディスク装置において、ＤＤＯＬ／ＡＴＣ等のトラック幅制御機能により、既に書き込まれたデータの後ろの新たにデータを追記する場合、複数のバンド領域に対する各位置情報をメモリだけで管理することが困難となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第５１００８６１号公報
【特許文献２】特開２０１４−８９７８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の実施形態が解決しようとする課題は、Ｉ／Ｏ性能を維持し、且つデータを保証できる磁気ディスク装置、及び書き込み方法を提供することである。
【課題を解決するための手段】
【０００８】
本実施形態に係る磁気ディスク装置は、メモリと、部分的に重ね書きされた複数のトラックをそれぞれ含む複数のトラック群を有するディスクと、前記複数のトラック群にデータを書き込むライトヘッドと、前記複数のトラック群に書き込まれたデータを読み込むリードヘッドとを有するヘッドと、前記トラック群に第１データを書き込む際に、第１目標トラックに対する前記ライトヘッドの第１位置決め誤差を含む第１位置情報を、前記メモリと、前記第１データが書き込まれた第１記録領域の後の第２記録領域と、に書き込み、前記第１データの書き込んだ後にデータを追記する際に、前記メモリ、又は前記第２記録領域から前記第１位置情報を読み込み、前記第１位置情報に基づいて、前記ライトヘッドの位置を制御し、前記メモリに書き込む際に、前記メモリに優先して書き込む順番を示す優先度を前記第１位置情報に設定する、コントローラと、を備える。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る磁気ディスク装置の構成を示すブロック図である。
【図２】図２は、バンド領域の一例の模式図である。
【図３】図３は、テーブルの一例の模式図である。
【図４Ａ】図４Ａは、ＤＤＯＬの一例を示す模式図である。
【図４Ｂ】図４Ｂは、ＡＴＣの一例を示す模式図である。
【図５Ａ】図５Ａは、瓦記録方式のバンド領域内のデータの追記の一例を示す概要図である。
【図５Ｂ】図５Ｂは、瓦記録方式のバンド領域内のデータの追記の一例を示す概要図である。
【図６Ａ】図６Ａは、瓦記録方式のバンド領域における位置情報の書き込み位置の一例を示す概要図である。
【図６Ｂ】図６Ｂは、瓦記録方式のバンド領域における位置情報の書き込み位置の一例を示す概要図である。
【図７】図７は、本実施形態に係る書き込み動作のフローチャートである。
【図８】図８は、図７に示す書き込み動作の優先度の判定方法のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、実施の形態につき図面を参照して説明する。  
（実施形態）  
図１は、本実施形態に係る磁気ディスク装置１の構成を示すブロック図である。  
磁気ディスク装置１は、後述するヘッドディスクアセンブリ（head-disk assembly：ＨＤＡ）と、ドライバＩＣ２０と、ヘッドアンプ集積回路（以下、ヘッドアンプＩＣ）３０と、揮発性メモリ７０と、不揮発性メモリ８０と、バッファメモリ（バッファ）９０と、１チップの集積回路からなるシステムコントローラ１３０とを備える。また、磁気ディスク装置１は、ホストシステム（ホスト）１００と接続され得る。なお、本実施形態の磁気ディスク装置１は、ホスト１００側が瓦記録方式のフォーマットを認識してデータを書き込み／読み込み動作を制御するホストマネージド（Host managed）のＨＤＤであってもよいし、通常のドライブマネージド（Drive managed）のＨＤＤであってもよい。
【００１１】
ＨＤＡは、磁気ディスク（以下、ディスク）１０と、スピンドルモータ（ＳＰＭ）１２と、ヘッド１５を搭載しているアーム１３と、ボイスコイルモータ（ＶＣＭ）１４とを有する。ディスク１０は、スピンドルモータ１２により回転する。アーム１３及びＶＣＭ１４は、アクチュエータを構成している。アクチュエータは、ＶＣＭ１４の駆動により、アーム１３に搭載されているヘッド１５をディスク１０上の所定の位置まで移動制御する。ディスク１０およびヘッド１５は、２つ以上の数が設けられてもよい。
【００１２】
ディスク１０は、データ領域に、瓦記録領域（ＳＭＲ領域）１０ｓと、メディアキャッシュ（media cache）領域１０ｍと、が割り当てられている。瓦記録領域１０ｓは、ホスト１００からライト要求されたユーザデータ等が記録される。メディアキャッシュ領域１０ｍは、瓦記録領域１０ｓのキャッシュとして利用され得る。
【００１３】
瓦記録領域１０ｓは、隣接するトラック（以下、単に、隣接トラック）の一部に重なるように次のトラックのデータが書き込まれ、メディアキャッシュ領域１０ｍよりトラック密度の高い記録領域である。瓦記録領域１０ｓは、隣接トラックに一部分が重ね書きされる少なくとも１つのトラック（第１トラック）と、最後に重ね書きするトラック（第２トラック）とをそれぞれ含む複数のトラック群（以下、バンド領域ＢＡｎと称する）を備えている。第２トラックは、第１トラックよりも隣接トラックの間の距離（以下、単に、トラック幅と称する）が広い。バンド領域ＢＡｎは、ディスク１０の１周分のトラック群で構成されている。以下で、データの書き込み時のヘッド１５の軌跡（トラック）をライトトラックと称し、瓦記録により、隣接するライトトラックが重ね書きされた領域を除いた残りのライトトラックの領域をリードトラックと称する。なお、ライトトラック及びリードトラックを単にトラックと称する場合もある。
【００１４】
図２は、バンド領域ＢＡｎの一例の模式図である。図２には、ライトトラックＷＴｎ−３、ＷＴｎ−２、ＷＴｎ−１、ＷＴｎ、ＷＴｎ＋１、ＷＴｎ＋２、ＷＴｎ＋３、及びＷＴｎ＋４と、リードトラックＲＴｎ−３、ＲＴｎ−２、ＲＴｎ−１、ＲＴｎ、ＲＴｎ＋１、ＲＴｎ＋２、ＲＴｎ＋３、及びＲＴｎ＋４とを示している。また、図２には、バンド領域ＢＡｎの開始セクタＳＳｎと、最終セクタＥＳｎとを示している。図２において、ディスク１０の半径方向（以下、単に、半径方向と称する）と、ディスク１０の周方向（以下、単に、周方向と称する）を示している。さらに、図２には、半径方向における外周と、内周とを示している。
【００１５】
図２に示すように、バンド領域ＢＡｎは、複数のライトトラックＷＴｎ−３〜ＷＴｎ＋４が重ね書きされることで構成される。バンド領域ＢＡｎにおいて、複数のライトトラックＷＴｎ−２〜ＷＴｎ＋４が重ね書きされていないライトトラックの残りの記録領域が、それぞれ、複数のリードトラックＲＴｎ−３〜ＲＴｎ＋４となる。
【００１６】
リードヘッド１５Ｒは、ディスク１０上のデータトラックに記録されているデータをリードする。ライトヘッド１５Ｗは、ディスク１０上にデータをライトする。ライトヘッド１５Ｗは、ディスク１０の表面に対して垂直方向の磁界を発生させる。
【００１７】
ドライバＩＣ２０は、システムコントローラ１３０（詳細には、後述するサーボ制御部６０Ａ）の制御に従って、ＳＰＭ１２およびＶＣＭ１４の駆動を制御する。  
ヘッドアンプＩＣ３０は、リードアンプ及びライトドライバを有する。リードアンプは、リードヘッド１５Ｒにより読み出されたリード信号を増幅して、リード／ライト（Ｒ／Ｗ）チャネル４０に伝送する。ライトドライバは、Ｒ／Ｗチャネル４０から出力されるライトデータに応じたライト電流をライトヘッド１５Ｗに伝送する。
【００１８】
揮発性メモリ７０は、電力供給が断たれると保存しているデータが失われる半導体メモリである。揮発性メモリ７０は、磁気ディスク装置１の各部での処理に必要なデータ等を格納する。揮発性メモリ７０は、例えば、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）である。  
不揮発性メモリ８０は、電力供給が断たれても保存しているデータを保持する半導体メモリである。不揮発性メモリ８０は、例えば、フラッシュＲＯＭ（Flash Read Only Memory : FROM）である。
【００１９】
バッファメモリ９０は、ディスク１０とホスト１００との間で送受信されるデータ等を一時的に保持する半導体メモリである。なお、バッファメモリ９０は、揮発性メモリ７０と一体に配置されていてもよい。バッファメモリ９０は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）、ＳＤＲＡＭ、ＦｅＲＡＭ（Ferroelectric Random Access memory）、およびＭＲＡＭ（Magnetoresistive Random Access Memory）等である。
【００２０】
システムコントローラ（コントローラ）１３０は、例えば、複数の素子が単一チップに集積されたSystem-on-a-Chip(SoC)と称される大規模集積回路（ＬＳＩ）を用いて実現される。システムコントローラ１３０は、Ｒ／Ｗチャネル４０と、ハードディスクコントローラ（ＨＤＣ）５０と、サーボ制御部６０Ａと、マイクロプロセッサ（ＭＰＵ）６０Ｂとを含む。なお、サーボ制御部６０Ａと、ＭＰＵ６０Ｂとは、一体で形成されていてもよい。
【００２１】
Ｒ／Ｗチャネル４０は、リードデータ及びライトデータの信号処理を実行する。Ｒ／Ｗチャネル４０は、リードデータの信号品質を測定する回路、又は機能を有している。また、Ｒ／Ｗチャネル４０は、ディスク１０へのアクセス情報を取得する。アクセス情報は、ヘッド１５の位置情報（以下、単に、位置情報と称する）、所定のバンド領域へのデータの書き込み回数、所定のバンド領域のデータの最終セクタの位置や、所定のバンド領域へデータを書き込んだ時間等を含む。位置情報は、位置決め誤差を含む。位置決め誤差は、目標軌道（目標トラック、又は目標軌跡）に対するライトヘッド１５Ｗの中心位置の軌道の誤差（ズレ）である。  
ＨＤＣ５０は、ＭＰＵ６０Ｂからの指示に応じて、ホスト１００とＲ／Ｗチャネル４０との間のデータ転送を制御する。ＨＤＣ５０は、ホスト１００と接続されるホストＩ／Ｆ回路を備える。
【００２２】
サーボ制御部６０Ａは、Ｒ／Ｗチャネル４０から受けた情報に基づいて、ドライバＩＣ２０を介してＶＣＭ１４を制御する。サーボ制御部６０Ａは、ＭＰＵ６０Ｂにより、ヘッド１５の位置決め制御や、ヘッド１５によるデータの書き込み及び読み込み等を実現する。  
サーボ制御部６０Ａは、内部にメモリ６１Ａを備えている。サーボ制御部６０Ａは、Ｒ／Ｗチャネル４０から取得したアクセス情報からメモリ６１Ａに書き込む優先度を評価するための評価値を設定する。サーボ制御部６０Ａは、Ｒ／Ｗチャネル４０から取得したアクセス情報や、評価値をテーブルＴＢとしてメモリ６１Ａに書き込む。ここで、テーブルＴＢは、所定の制限容量の記録領域、例えば、リングバッファである。なお、テーブルＴＢは、メモリ６１Ａ以外の他の記録媒体、例えば、揮発性メモリ７０、又はバッファメモリ９０に書き込まれていてもよい。また、サーボ制御部６０Ａは、取得した位置情報をＭＰＵ６０Ｂに送信する。
【００２３】
図３は、テーブルＴＢの一例の模式図である。図３において、優先度は、メモリ６１Ａに優先して格納する順番を示す。すなわち、優先度は、順番の早い方が優先してメモリ６１Ａに格納されることを示す。位置情報は、対応するバンド領域における位置決め誤差情報等含むヘッド１５の位置情報である。位置決め誤差情報は、対応するバンド領域における位置決め誤差の情報である。バンド番号は、記録領域１１ａの各バンド領域を識別するための番号を示す。追記回数は、所定のバンド領域へデータを追記した回数、又は所定のバンド領域での追記したデータの世代番号を示す。バンド領域の残量は、所定のバンド領域の残りのデータ容量、セクタ数、又はシリンダ数を示す。経過時間は、所定のバンド領域に最後にデータが書き込まれてから経過した時間を示す。図３において、位置決め誤差情報以外の情報、例えば、優先度、バンド番号、位置情報、追記回数、バンド領域の残量、経過時間、及び評価値等で構成される情報を管理テーブルＭＴとする。なお、位置情報は、位置決め誤差情報の意味で用いる場合もある。
【００２４】
評価値は、前述したように優先度を評価するための値であり、評価値が、高いほど、優先度が、高くなる。評価値は、次にアクセスされる可能性が高いほど高くなるように設定される。評価値は、例えば、図３に示す、追記回数、バンド領域の残量、及び経過時間等に基づいて設定される。例えば、評価値は、バンド領域の残量、且つ追記回数が多い方が高くなるように設定される。また、評価値は、経過時間が大きい方が低くなるように設定される。
【００２５】
サーボ制御部６０Ａは、テーブルＴＢに格納可能なデータ容量を超える場合、優先度の最も低いバンド領域の情報を削除する。例えば、サーボ制御部６０Ａは、テーブルＴＢに新たなバンド領域の情報を格納することで、テーブルＴＢに格納可能なデータ容量を超える場合、新たなバンド領域の情報の評価値と、テーブルＴＢに書き込まれている他のバンド領域の情報の評価値とを比較する。新たなバンド領域の情報の評価値の方よりも優先度の低いバンド領域の評価値があった場合、サーボ制御部６０Ａは、優先度の低いバンド領域の評価値の内、最も評価値が低いバンド領域の情報を削除し、新たなバンド領域の情報を評価値に応じた優先度でテーブルＴＢに格納する。
【００２６】
サーボ制御部６０Ａは、位置情報を参照して、トラック幅制御機能により、トラック幅を制御する。例えば、サーボ制御部６０Ａは、オフセット量が隣接トラックの位置決め誤差情報に基づく閾値を超えた場合にデータの書き込み動作を禁止する方法（Dynamic Drift-Off Level:ＤＤＯＬ）や、データを書き込んだ隣接トラックの位置決め誤差情報に基づいてライトトラックの目標軌道を設定する方法（Automatic Trackwidth Control:ＡＴＣ）等のトラック幅制御機能により、トラック幅を制御する。
【００２７】
図４Ａ及び図４Ｂを参照して、ＤＤＯＬ及びＡＴＣについて説明する。  
図４Ａは、ＤＤＯＬの一例を示す模式図である。図４Ａには、所定のバンド領域に書き込まれた、ライトトラックＷＴｌ−１と、ライトトラックＷＴｌと、ライトトラックＷＴｌ＋１とを示す。また、図４Ａには、トラックセンタ間の距離ＴＰ０を示す。
【００２８】
図４ＡのライトトラックＷＴｌ−１には、トラックセンタＴＣｌ−１と、ライトトラックＷＴｌ−１のデータ書き込み時のライトヘッド１５Ｗの軌跡ＳＴｌ−１と、ライトヘッド１５Ｗにより書き込まれたライトトラックＷＴｌ−１のトラックエッジＴＥｌ−１と、ライトトラックＷＴｌ−１を書き込む際のライトヘッド１５Ｗの配置１５Ｗ１とが、示されている。
【００２９】
図４ＡのライトトラックＷＴｌには、トラックセンタＴＣｌと、ライトトラックＷＴｌのデータ書き込み時のライトヘッド１５Ｗの軌跡ＳＴｌと、ライトヘッド１５Ｗにより書き込まれたライトトラックＷＴｌのトラックエッジＴＥｌと、ライトトラックＷＴｌを書き込む際のライトヘッド１５Ｗの配置１５Ｗ２とが、示されている。また、ライトトラックＷＴｌにおいて、所定の位置のトラック幅ＴＰ１と、このトラック幅ＴＰ１の所定の位置での位置決め誤差Ｄ１とが、示されている。ここで、トラック幅ＴＰ１は、トラックセンタ間の距離ＴＰ０よりも狭いものとする。
【００３０】
図４ＡのライトトラックＷＴｌ＋１には、トラックセンタＴＣｌ＋１と、ライトトラックＷＴｌ＋１のデータ書き込み時のライトヘッド１５Ｗの軌跡ＳＴｌ＋１と、ライトヘッド１５Ｗにより書き込まれたライトトラックＷＴｌ＋１のトラックエッジＴＥｌ＋１と、ライトトラックＷＴｌ−１を書き込む際のライトヘッド１５Ｗの配置１５Ｗ３とが、示さている。ライトトラックＷＴｌ＋１において、隣接するライトトラックＷＴｌのトラック幅ＴＰ１となる位置に対応する位置での位置決め誤差Ｄ２とを示している。
【００３１】
サーボ制御部６０Ａは、データを瓦記録方式で書き込む際に、ライトトラックＷＴｌ−１、ＷＴｌ、及びＷＴｌ＋１において、トラックセンタＴＣｌ−１、ＴＣｌ、及びＴＣｌ＋１のそれぞれを目標軌道として、ライトヘッド１５Ｗ（１５Ｗ１、１５Ｗ２、及び１５Ｗ３）を制御する。このとき、サーボ制御部６０Ａによるフィードバック制御の結果、実際には、位置決め誤差を含んだ軌跡ＳＴｌ−１、ＳＴｌ、及びＳＴｌ＋１上で、ライトヘッド１５Ｗ（１５Ｗ１、１５Ｗ２、及び１５Ｗ３）が走行する。サーボ制御部６０Ａは、ライトトラックＷＴｌ−１、ＷＴｌ、及びＷＴｌ＋１のそれぞれにライトデータを書き込む際に、位置決め誤差を取得し、記録媒体、例えば、メモリ６１Ａに書き込む。  
このとき、サーボ制御部６０Ａは、ライトトラックＷＴｌ−１、ＷＴｌ、及びＷＴｌ＋１のそれぞれで、位置決め誤差が、隣接トラックで有効なトラック幅を確保可能な所定の値（第１閾値）を超えた場合に、書き込み動作を禁止する。ここで、有効なトラック幅は、リードヘッド１５Ｒでリード可能なトラック幅を示す。  
また、サーボ制御部６０Ａは、既に書き込まれた隣接トラックの位置決め誤差と、現在書き込んでいるライトトラックの位置決め誤差とから算出される１つ前に書き込まれたライトトラックＷＴｌのトラック幅が、有効なトラック幅（第２閾値）よりも小さい場合にも、書き込み動作を禁止する。
【００３２】
例えば、図４Ａに示すように、サーボ制御部６０Ａは、ライトトラックＷＴｌ＋１を書き込む際に、トラックセンタＴＣｌ＋１を目標軌道として、ライトヘッド１５Ｗ（１５Ｗ３）を制御する。サーボ制御部６０Ａは、実際には、軌跡ＳＴｌ＋１上でライトヘッド１５Ｗ（１５Ｗ３）を走行させる。このとき、サーボ制御部６０Ａは、軌跡ＳＴｌ＋１上の位置決め誤差を取得し、記録媒体、例えば、メモリ６１Ａ及びディスク１０に書き込む。また、サーボ制御部６０Ａは、取得した位置情報をＭＰＵ６０Ｂに送信する。このとき、サーボ制御部６０Ａは、取得した位置決め誤差が第１閾値を超えているかどうかを判定する。位置決め誤差が第１閾値を超えていた場合、サーボ制御部６０Ａは、書き込み動作を禁止する。
【００３３】
位置決め誤差が第１閾値を超えていない場合、サーボ制御部６０Ａは、位置決め誤差が１つ前に書き込まれた隣接するライトトラックＷＴｌ側に発生するか、次に書き込む隣接するライトトラック（図示せず）側に発生するかを判定する。１つ前に書き込んだ隣接するライトトラックＷＴｌ側に発生すると判定した場合、サーボ制御部６０Ａは、軌跡ＳＴｌ上の位置決め誤差Ｄ１と、軌跡ＳＴｌ＋１上の位置決め誤差Ｄ２とから算出されるライトトラックＷＴｌのトラック幅ＴＰ１が、第２閾値よりも小さいかどうかを判定する。サーボ制御部６０Ａは、トラック幅ＴＰ１が、第２閾値よりも小さい場合、書き込み動作を禁止する。  
以上で説明したようなＤＤＯＬにより、サーボ制御部６０Ａは、隣接トラックの位置決め誤差に基づいて、書き込み動作を禁止することで、トラック幅の狭窄を抑制することができる。
【００３４】
図４Ｂは、ＡＴＣの一例を示す模式図である。図４Ｂには、所定のバンド領域に書き込まれた、ライトトラックＷＴｍ−１と、ライトトラックＷＴｍと、ライトトラックＷＴｍ＋１とを示す。また、図４Ｂには、トラックセンタ間の距離ＴＰ０を示す。  
図４ＢのライトトラックＷＴｍ−１には、トラックセンタＴＣｍ−１（目標軌道ＴＴｍ−１）と、ライトトラックＷＴｍ−１のデータ書き込み時のライトヘッド１５Ｗの軌跡ＳＴｍ−１と、ライトヘッド１５Ｗにより書き込まれたライトトラックＷＴｍ−１のトラックエッジＴＥｍ−１と、ライトトラックＷＴｍ−１を書き込む際のライトヘッド１５Ｗの配置１５Ｗ４とが、示されている。
【００３５】
図４ＢのライトトラックＷＴｍには、トラックセンタＴＣｍと、目標軌道ＴＴｍと、ライトトラックＷＴｍのデータ書き込み時のライトヘッド１５Ｗの軌跡ＳＴｍと、ライトヘッド１５Ｗにより書き込まれたライトトラックＷＴｍのトラックエッジＴＥｍと、ライトトラックＷＴｍを書き込む際のライトヘッド１５Ｗの配置１５Ｗ５とが、示されている。
【００３６】
図４ＢのライトトラックＷＴｍ＋１には、トラックセンタＴＣｍ＋１と、目標軌道ＴＴｍ＋１と、ライトトラックＷＴｍのデータ書き込み時のライトヘッド１５Ｗの軌跡ＳＴｍ＋１と、ライトヘッド１５Ｗにより書き込まれたライトトラックＷＴｍ＋１のトラックエッジＴＥｍ＋１と、ライトトラックＷＴｍ＋１を書き込む際のライトヘッド１５Ｗの配置１５Ｗ６とが、示されている。
【００３７】
サーボ制御部６０Ａは、最初に書き込むライトトラックＷＴｍ−１において、トラックセンタＴＣｍ−１（目標軌道ＴＴｍ−１）を目標軌道として、ライトヘッド１５Ｗ（１５Ｗ４）を制御する。このとき、サーボ制御部６０Ａによるフィードバック制御の結果、実際には、目標軌道ＴＴｍ−１に位置決め誤差を含んだ軌跡ＳＴｍ−１上で、ライトヘッド１５Ｗ（１５Ｗ４）が走行する。サーボ制御部６０Ａは、ライトトラックＷＴｍ−１で位置決め誤差を取得し、記録媒体、例えば、メモリ６１Ａに書き込む。また、サーボ制御部６０Ａは、取得した位置情報をＭＰＵ６０Ｂに送信する。
【００３８】
サーボ制御部６０Ａは、ライトトラックＷＴｍ−１の位置決め誤差に基づいて、目標軌道をトラックセンタＴＣｍ−１から軌跡ＳＴｍ−１に追従する目標軌道ＴＴｍに変更する。サーボ制御部６０Ａは、目標軌道ＴＴｍでライトヘッド１５Ｗ（１５Ｗ５）を制御する。このとき、サーボ制御部６０Ａによるフィードバック制御の結果、実際には、目標軌道ＴＴｍに位置決め誤差を含んだ軌跡ＳＴｍ上で、ライトヘッド１５Ｗ（１５Ｗ４）が走行する。サーボ制御部６０Ａは、ライトトラックＷＴｍで位置決め誤差を取得し、記録媒体、例えば、メモリ６１Ａに書き込む。また、サーボ制御部６０Ａは、取得した位置情報をＭＰＵ６０Ｂに送信する。
【００３９】
サーボ制御部６０Ａは、ライトトラックＷＴｍの位置決め誤差に基づいて、目標軌道をトラックセンタＴＣｍ＋１から軌跡ＳＴｍに追従する目標軌道ＴＴｍ＋１に変更する。サーボ制御部６０Ａは、目標軌道ＴＴｍ＋１でライトヘッド１５Ｗ（１５Ｗ６）を制御する。このとき、サーボ制御部６０Ａによるフィードバック制御の結果、実際には、位置決め誤差を含んだ軌跡ＳＴｍ＋１上で、ライトヘッド１５Ｗ（１５Ｗ６）が走行する。サーボ制御部６０Ａは、ライトトラックＷＴｍ＋１で位置決め誤差を取得し、記録媒体、例えば、メモリ６１Ａに書き込む。また、サーボ制御部６０Ａは、取得した位置情報をＭＰＵ６０Ｂに送信する。
【００４０】
以上で説明したようなＡＴＣにより、サーボ制御部６０Ａは、隣接トラックの位置決め誤差情報に基づいてトラック幅を制御することで、トラック幅の狭窄を抑制することができる。なお、サーボ制御部６０Ａは、ＤＤＯＬ及びＡＴＣ以外の方法で、トラック幅を制御してもよい。例えば、熱アシスト記録方式の瓦記録において、サーボ制御部６０Ａ（又は、ＭＰＵ６０Ｂ）は、位置決め誤差情報を参照して、ディスク１０の加熱範囲を変化させることで、トラック幅を制御してもよい。  
また、ＤＤＯＬとＡＴＣの両方を同時に適用しても良い。
【００４１】
所定のバンド領域にデータを書き込む際に、サーボ制御部６０Ａは、このバンド領域に関連する位置情報の保存先を判定し、位置情報を取得する。このとき、サーボ制御部６０Ａは、取得した位置情報に基づいて、トラック幅制御機能、例えば、ＤＤＯＬ及びＡＴＣによりトラック幅を制御しながら、所定のバンド領域にデータを書き込む。また、位置情報が取得できない場合、サーボ制御部６０Ａは、トラック幅制御機能、例えば、ＤＤＯＬにより、位置情報を使用せずに、位置決め誤差が所定の閾値、例えば、第１閾値を超えないようにトラック幅を制御しながら、所定のバンド領域にデータを書き込む。
【００４２】
ＭＰＵ６０Ｂは、磁気ディスク装置１の各部を制御するメインコントローラである。ＭＰＵ６０Ｂは、ディスク１０に対するデータの書き込み動作を制御すると共に、ホスト１００から転送されるライトデータの保存先を選択する制御を実行する。ＭＰＵ６０Ｂの制御による書き込み動作には、瓦記録方式の動作を含む。また、ＭＰＵ６０Ｂは、ディスク１０からのデータの読み込み動作を制御すると共に、リードデータの保存先を選択する制御を実行する。なお、ＭＰＵ６０Ｂは、瓦記録方式のデータのリード／ライト制御について、ホスト１００側で制御するホストマネージド方式に対応していてもよいし、磁気ディスク装置１側で制御するドライブマネージド方式に対応していてもよい。ＭＰＵ６０Ｂは、ホストマネージド方式に対応している場合、ホスト１００からのライトコマンドに従って、任意のバンド領域の記録領域に位置（例えば、セクタ、又はＬＢＡ）にデータを書き込む。
【００４３】
ＭＰＵ６０Ｂは、リード／ライト制御部６１Ｂを含む。なお、ＭＰＵ６０Ｂは、これら各部の処理をファームウェア上で実行する。  
リード／ライト制御部６１Ｂは、データの読み込み（リード）／書き込み（ライト）動作を制御する。リード／ライト制御部６１Ｂは、ライトコマンドに応じて、所定のバンド領域のデータに上書き、又は追記を実行する。
【００４４】
例えば、リード／ライト制御部６１Ｂは、ライトコマンドで指定された位置（例えば、セクタ、又はＬＢＡ）が、所定のバンド領域の開始セクタ（＝０）である場合には、所定のバンド領域に書き込まれている古いデータに、新しいライトデータを上書きする。このとき、リード／ライト制御部６１Ｂは、所定のバンド領域において、新しいデータを上書きした記録領域以外の記録領域に書き込まれている古いデータを無効化する。
【００４５】
例えば、リード／ライト制御部６１Ｂは、ライトコマンドで指定された位置（例えば、セクタ、又はＬＢＡ）が、所定のバンド領域の既に書き込まれたデータの最終セクタよりも後ろのセクタである場合には、この最終セクタより後ろのセクタにライトデータを追記する。このとき、リード／ライト制御部６１Ｂは、所定のバンド領域で、追記する度に世代番号をカウントする。リード／ライト制御部６１Ｂは、サーボ制御部６１Ａを介して追記回数としてこの世代番号をテーブルＴＢに書き込んでもよい。
【００４６】
図５Ａ及び図５Ｂは、バンド領域ＢＡｎ内のデータの追記の一例を示す概要図である。図５Ａ及び図５Ｂにおいて、バンド領域ＢＡｎ内のライトトラックＷＴｎ−３、ＷＴｎ−２、ＷＴｎ−１、ＷＴｎ、ＷＴｎ＋１、ＷＴｎ＋２、ＷＴｎ＋３、及びＷＴｎ＋４を示している。
【００４７】
また、図５Ａ及び図５Ｂには、上書きした新しいデータ（ライトデータ）ＯＤｎと、無効化された古いデータ（無効データ）ＩＤｎとを示している。さらに、図５Ａ及び図５Ｂにおいて、バンド領域ＢＡｎの開始セクタＳＳｎと、最終セクタＥＳｎと、新しいライトデータＯＤｎの最終セクタＷＥＳｇとを示している。また、図５Ｂにおいて、ライトトラックＷＴｎ＋２のライトデータの最終セクタＷＥＳｇの後に追記された新しいライトデータＡＤｎと、追記したライトデータＡＤｎの最終セクタＷＥＳｇ＋１を示している。なお、図５Ａ及び図５Ｂにおいて、各ライトトラックで、位置決め誤差が、発生するものとする。図５Ａ及び図５Ｂにおいて、サーボ制御部６１Ａは、リード／ライト制御部６１Ｂが書き込み動作を制御する際に、ＤＤＯＬやＡＴＣ等のトラック幅制御機能によりトラック幅を制御する。
【００４８】
図５Ａに示すように、リード／ライト制御部６１Ｂは、バンド領域ＢＡｎの開始セクタ（＝０）がライトコマンドで指定された場合、バンド領域ＢＡｎに古いデータ上に新しいライトデータＯＤｎを上書きする。リード／ライト制御部６１Ｂは、Ｒ／Ｗチャネル４０を介して新しいライトデータＯＤｎの最終セクタＷＥＳｇを検出する。また、リード／ライト制御部６１Ｂは、バンド領域ＢＡｎにおいて、上書きした新しいライトデータＯＤｎの最終セクタＷＥＳｇからバンド領域ＢＡｎの最終セクタＥＳｎまでの残りの古いデータ（無効データ）ＩＤｎを無効化する。
【００４９】
さらに、図５Ｂに示すように、リード／ライト制御部６１Ｂは、ライトコマンドにより新しいライトデータＯＤｎの最終セクタＷＥＳｇの直後のセクタが指定された場合、最終セクタＷＥＳｇの直後のセクタにライトデータＡＤｎを追記する。リード／ライト制御部６１Ｂは、Ｒ／Ｗチャネル４０を介して新しいライトデータＯＤｎに追記したライトデータＡＤｎの最終セクタＷＥＳｇ＋１を検出する。
【００５０】
また、リード／ライト制御部６１Ｂは、現在書き込んだライトデータの最終セクタの後のセクタに、サーボ制御部６０Ａを介して取得した位置情報を書き込む。例えば、リード／ライト制御部６１Ｂは、所定のバンド領域において、現在書き込んだライトデータの最終セクタの直後のセクタに、現在の書き込み動作で取得した位置決め誤差を含む隣接トラックの位置情報を書き込む。なお、リード／ライト制御部６１Ｂは、所定のバンド領域において、現在書き込んだライトデータの最終セクタの直後のセクタでなくとも、現在書き込んだライトデータの最終セクタの後にあるセクタであればよい。
【００５１】
（書き込み動作）  
図６Ａ及び図６Ｂは、本実施形態に係る書き込み動作の一例を示す概要図である。図６Ａは、図５Ａとほぼ同等であるが、位置情報ＩＦｇをさらに示している。図６Ｂは、図５Ｂとほぼ同等であるが、位置情報ＩＦｇ＋１をさらに示している。なお、図６Ａ及び図６Ｂにおいて、各ライトトラックで、位置決め誤差が、発生するものとする。
【００５２】
図６Ａに示すように、バンド領域ＢＡｎの開始セクタ（＝０）がライトコマンドで指定された場合、サーボ制御部６０Ａは、バンド領域ＢＡｎの位置情報をクリア（＝all０）する。サーボ制御部６０Ａは、新しいライトデータＯＤｎを書き込む際に、隣接するライトトラックＷＴｎと現在のライトトラックＷＴｎ＋１の一部とまでの位置情報ＩＦｇを検出する。なお、位置情報ＩＦｇは、新しいライトデータＯＤｎの各トラックの位置情報を全て含んでいてもよい。
【００５３】
新しいライトデータＯＤｎを書き込む際に、サーボ制御部６０Ａは、バンド領域ＢＡｎの評価値を算出し、メモリ６１ＡのテーブルＴＢに書き込まれた他のバンド領域の評価値と比較する。サーボ制御部６０Ａは、バンド領域ＢＡｎの評価値よりも低い他のバンド領域の評価値がある場合、評価値に応じた優先度で、位置情報ＩＦｇと、バンド領域ＢＡｎの評価値とをテーブルＴＢに書き込む。このとき、サーボ制御部６０Ａは、位置情報ＩＦｇをＭＰＵ６０Ｂに送信する。
【００５４】
また、サーボ制御部６０Ａは、テーブルＴＢの容量に空きがなく、且つバンド領域ＢＡｎの評価値よりも低い他のバンド領域の評価値がある場合、テーブルＴＢに書き込まれた他のバンド領域の内の優先度が最も低いバンド領域の位置情報と評価値とを削除する。そして、サーボ制御部６０Ａは、評価値に応じた優先度で、位置情報ＩＦｇと、バンド領域ＢＡｎの評価値とをテーブルＴＢに書き込む。このとき、サーボ制御部６０Ａは、位置情報ＩＦｇをＭＰＵ６０Ｂに送信する。
【００５５】
なお、サーボ制御部６０Ａは、テーブルＴＢの容量に空きがなく、且つバンド領域ＢＡｎの評価値よりも低い他のバンド領域の評価値がない場合、位置情報ＩＦｇと、バンド領域ＢＡｎの評価値とをテーブルＴＢに書き込まないで、位置情報ＩＦｇをＭＰＵ６０Ｂに送信する。
【００５６】
新らしいライトデータＯＤｎを書き込んだ際に、ＭＰＵ６０Ｂは、サーボ制御部６０Ａから受けた位置情報ＩＦｇを、新しいライトデータＯＤｎの最終セクタＷＥＳｇの直後のセクタに書き込む。
【００５７】
新しいライトデータＯＤｎの最終セクタＷＥＳｇに続けて、データを追記するライトコマンドを受けた場合、サーボ制御部６０Ａは、メモリ６１ＡのテーブルＴＢに、バンド領域ＢＡｎの位置情報ＩＦｇ、詳細には、隣接するライトトラックＷＴｎ＋１の位置決め誤差情報が保存されているかどうかを判定する。位置情報ＩＦｇがメモリ６１Ａのテーブルにある場合、サーボ制御部６０Ａは、メモリ６１Ａから位置情報ＩＦｇを取得する。
【００５８】
位置情報ＩＦｇがテーブルＴＢにない場合、サーボ制御部６０Ａは、バンド領域ＢＡｎに位置情報ＩＦｇが書き込まれているかどうかを判定する。位置情報ＩＦｇがバンド領域ＢＡｎに書き込まれている場合、ＭＰＵ６０Ｂは、ディスク１０のバンド領域ＢＡｎの位置情報ＩＦｇを読み込む。  
位置情報ＩＦｇを取得した場合、サーボ制御部６０Ａは、位置情報ＩＦｇに基づいて、トラック幅制御機能、例えば、ＤＤＯＬおよびＡＴＣにより、トラック幅を制御する。また、位置情報ＩＦｇを取得できない場合、サーボ制御部６０Ａは、トラック幅制御機能、例えば、ＤＤＯＬにより、位置情報ＩＦｇを参照せずに、トラック幅を制御する。
【００５９】
次に、図６Ｂに示すように、ＭＰＵ６０Ｂは、位置情報ＩＦｇに上書きして、新しいライトデータＯＤｎの最終セクタＷＥＳｇに続いてライトデータＡＤｎを追記する。ライトデータＡＤｎを追記する際に、サーボ制御部６０Ａは、１つ前に書き込んだ隣接するライトトラックＷＴｎ＋１と、現在のライトトラックＷＴｎ＋２の一部と、の位置情報を含む位置情報ＩＦｇ＋１を検出する。なお、位置情報ＩＦｇ＋１は、新しいライトデータＯＤｎと追記されたライトデータとの各トラックの位置情報を全て含んでいてもよい。
【００６０】
ライトデータＡＤｎを追記する際に、サーボ制御部６０Ａは、バンド領域ＢＡｎの評価値を算出し、メモリ６１ＡのテーブルＴＢに書き込まれた他のバンド領域の評価値と比較する。サーボ制御部６０Ａは、バンド領域ＢＡｎの評価値よりも低い他のバンド領域の評価値がある場合、評価値に応じた優先度で、位置情報ＩＦｇ＋１と、バンド領域ＢＡｎの評価値とをテーブルＴＢに書き込む。このとき、サーボ制御部６０Ａは、位置情報ＩＦｇ＋１をＭＰＵ６０Ｂに送信する。
【００６１】
また、サーボ制御部６０Ａは、テーブルＴＢの容量に空きがなく、且つバンド領域ＢＡｎの評価値よりも低い他のバンド領域の評価値がある場合、テーブルＴＢに書き込まれた他のバンド領域の内の優先度が最も低いバンド領域の位置情報と評価値とを削除する。サーボ制御部６０Ａは、評価値に応じた優先度で、位置情報ＩＦｇ＋１と、バンド領域ＢＡｎの評価値とをテーブルＴＢに書き込む。このとき、サーボ制御部６０Ａは、位置情報ＩＦｇ＋１をＭＰＵ６０Ｂに送信する。
【００６２】
サーボ制御部６０Ａは、テーブルＴＢの容量に空きがなく、且つバンド領域ＢＡｎの評価値よりも低い他のバンド領域の評価値がない場合、位置情報ＩＦｇ＋と、バンド領域ＢＡｎの評価値とをテーブルＴＢに書き込まないで、位置情報ＩＦｇをＭＰＵ６０Ｂに送信する。
【００６３】
ライトデータＡＤｎを追記した際に、ＭＰＵ６０Ｂは、サーボ制御部６０Ａから受けた位置情報ＩＦｇ＋１を、新しいライトデータＯＤｎの最終セクタＷＥＳｇ＋１の直後のセクタに書き込む。
【００６４】
図７は、本実施形態に係る書き込み動作のフローチャートである。サーボ制御部６０Ａは、ＭＰＵ６０Ｂを介して書き込み動作を実現する。以下では、説明の便宜上、サーボ制御部６０Ａにより書き込み動作が処理されるものとして説明する。
【００６５】
サーボ制御部６０Ａは、ライトコマンドで指定されたデータの開始セクタがバンド領域の開始セクタと同じであるかどうかを判定する（Ｂ７０１）。  
データの開始セクタがバンド領域の開始セクタと同じであると判定した場合（Ｂ７０１のＹＥＳ）、サーボ制御部６０Ａは、位置情報をクリアする（all＝０）（Ｂ７０２）。  
データの開始セクタがバンド領域の開始セクタと同じではないと判定した場合（Ｂ７０１のＮＯ）、サーボ制御部６０Ａは、メモリ６１Ａに所定のバンド領域の位置情報があるかどうかを判定する。
【００６６】
メモリ６１Ａに所定のバンド領域の位置情報がないと判定した場合（Ｂ７０３のＮＯ）、サーボ制御部６０Ａは、所定のバンド領域に位置情報があるかどうかを判定する（Ｂ７０４）。所定のバンド領域に位置情報がないと判定した場合（Ｂ７０４のＮＯ）、サーボ制御部６０Ａは、Ｂ７０７の処理へ進む。所定のバンド領域に位置情報があると判定した場合（Ｂ７０４のＹＥＳ）、サーボ制御部６０Ａは、所定のバンド領域から位置情報を取得する（Ｂ７０５）。メモリ６１Ａに所定のバンド領域の位置情報があると判定した場合（Ｂ７０３のＹＥＳ）、サーボ制御部６０Ａは、メモリ６１Ａから位置情報を取得する（Ｂ７０６）。
【００６７】
データを書き込む際に、サーボ制御部６０Ａは、隣接トラックの位置情報に基づいて、トラック幅を制御する（Ｂ７０７）。データを書き込む際に、サーボ制御部６０Ａは、現在実行した書き込み動作から新たに隣接トラックの位置情報を検出する（Ｂ７０８）。サーボ制御部６０Ａは、データの最終セクタがバンド領域の最終セクタと同じであるかどうかを判定する（Ｂ７０９）。
【００６８】
データの最終セクタがバンド領域の最終セクタと同じであると判定した場合（Ｂ７０９のＹＥＳ）、サーボ制御部６０Ａは、書き込み動作を終了する。データの最終セクタがバンド領域の最終セクタと同じではないと判定した場合（Ｂ７０９のＮＯ）、サーボ制御部６０Ａは、現在書き込んだデータの最終セクタの直後のセクタに位置情報を書き込む（Ｂ７１０）。サーボ制御部６０Ａは、現在データを書き込んだ所定のバンド領域の優先度を判定して、メモリ６１に位置情報を書き込む（Ｂ７１１）。
【００６９】
（優先度の判定）  
図８は、図７に示す書き込み動作の優先度の判定方法のフローチャートである。図８は、図７のＢ７１１の優先度の判定処理を示している。
【００７０】
サーボ制御部６１Ａは、所定のバンド領域の評価値を算出する（Ｂ８０１）。サーボ制御部６１Ａは、メモリ６１ＡのテーブルＴＢの容量が全て満たされている（=Full）かどうかを判定する（Ｂ８０２）。メモリ６１ＡのテーブルＴＢの容量が全て満たされていないと判定した場合、すなわち、テーブルＴＢの容量に空きがあると判定した場合（Ｂ８０２のＮＯ）、サーボ制御部６１Ａは、Ｂ８０６の処理へ進む。
【００７１】
メモリ６１ＡのテーブルＴＢの容量が全て満たされていると判定した場合（Ｂ８０２のＹＥＳ）、サーボ制御部６１Ａは、テーブルＴＢに保存されている他のバンド領域の評価値と所定のバンド領域の評価値とを比較する（Ｂ８０３）。サーボ制御部６１Ａは、所定のバンド領域の評価値よりも低い他のバンド領域の評価値があるかどうかを判定する（Ｂ８０４）。所定のバンド領域の評価値よりも低い他のバンド領域の評価値がないと判定した場合（Ｂ８０４のＮＯ）、サーボ制御部６１Ａは、優先度の判定を終了する。
【００７２】
所定のバンド領域の評価値よりも低い他のバンド領域の評価値があると判定した場合（Ｂ８０４のＹＥＳ）、サーボ制御部６１Ａは、優先度が最下位の他のバンド領域の位置情報を削除する（Ｂ８０５）。サーボ制御部６１Ａは、メモリ６１ＡのテーブルＴＢに位置情報及び評価値を格納し（Ｂ８０６）、優先度の判定を終了する。
【００７３】
なお、テーブルＴＢが揮発性メモリ７０などの電源遮断時にデータが保持されない領域にある場合、電源遮断時にはテーブルＴＢのすべてのデータを不揮発メモリ８０やディスク１０上などの領域に退避して電源再投入時に退避したデータからテーブルＴＢを復元しても良く、または管理テーブルＭＴのみを退避して位置決めデータは各バンド領域から読み出して再構成しても良い。
【００７４】
本実施形態によれば、磁気ディスク装置１は、位置情報を参照して、トラック幅制御機能により、トラック幅を制御することができる。磁気ディスク装置１は、位置情報をメモリ６１Ａ及びディスク１０に書き込む。また、磁気ディスク装置１は、優先度の高いバンド領域の位置情報及び評価値をメモリ６１Ａ上に格納する。磁気ディスク装置１は、既に書き込まれたデータの後にデータを追記するコマンドを受けた際に、メモリ６１Ａ又はディスク１０に書き込まれた位置情報を参照して、トラック幅制御機能により、トラック幅を制御できる。したがって、磁気ディスク装置１は、メモリ６１Ａ上のテーブルＴＢの記録領域を増加することなく、任意のバンド領域へデータのライトコマンドを受けた場合でも、トラック幅を制御して、データを書き込むことができる。その結果、磁気ディスク装置１は、Ｉ／Ｏ（Input/Output）性能を維持し、且つデータを保証することができる。
【００７５】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７６】
１…磁気ディスク装置、１０…ディスク、１０ｓ…瓦記録領域、１０ｍ…メディアキャッシュ領域、１２…スピンドルモータ（ＳＰＭ）、１３…アーム、１４…ボイスコイルモータ（ＶＣＭ）、１５…ヘッド、１５Ｗ…ライトヘッド（記録ヘッド）、１５Ｒ…リードヘッド（再生ヘッド）、２０…ドライバＩＣ、３０…ヘッドアンプＩＣ、４０…Ｒ／Ｗチャネル、５０…ハードディスクコントローラ（ＨＤＣ）、６０Ａ…サーボ制御部、６０Ｂ…マイクロプロセッサ（ＭＰＵ）、６１Ａ…メモリ、７０…揮発性メモリ、８０…不揮発性メモリ、９０…バッファメモリ、１００…ホストシステム、１３０…システムコントローラ。
【図１】
0006419687.tif 000002
【図２】
0006419687.tif 000003
【図３】
0006419687.tif 000004
【図４Ａ】
0006419687.tif 000005
【図４Ｂ】
0006419687.tif 000006
【図５Ａ】
0006419687.tif 000007
【図５Ｂ】
0006419687.tif 000008
【図６Ａ】
0006419687.tif 000009
【図６Ｂ】
0006419687.tif 000010
【図７】
0006419687.tif 000011
【図８】
0006419687.tif 000012