(57)【要約】【課題】磁気ディスク装置にライトされたデータの品質の低下を抑制すること。【解決手段】磁気ディスク装置は、ディスク媒体と制御回路とを備える。ディスク媒体は、第１のトラックを含んだ第１領域を備える。制御回路は、第１のトラックに第１のデータをライトする動作を制御する。制御回路は、当該動作の際に第１のデータに対して誤り訂正符号化を実行することができる。制御回路は、ライトされた第１のデータが誤り訂正符号によって保護されているか否かの第１の判定を実行し、第１のトラックに隣接する第２のトラックの位置を第１の判定の結果に基づいて設定する。【選択図】図８
2020042888.tif 000002
【特許請求の範囲】
【請求項１】
第１のトラックを含んだ第１領域を備えるディスク媒体と、
前記第１のトラックに第１のデータをライトする動作を制御し、前記動作の際に前記第１のデータに対して誤り訂正符号化を実行することができ、前記ライトされた第１のデータが誤り訂正符号によって保護されているか否かの第１の判定を実行し、前記第１のトラックに隣接する第２のトラックの位置を、前記第１の判定の結果に基づいて設定する、制御回路と、
を備える磁気ディスク装置。
【請求項２】
前記制御回路は、
前記第１のデータが前記誤り訂正符号によって保護されていると判定された場合には、前記第１のトラックの位置から前記ディスク媒体の径方向に第１の長さだけ離れた位置に前記第２のトラックを設定し、
前記第１のデータが前記誤り訂正符号によって保護されていないと判定された場合には、前記第１のトラックの位置から前記ディスク媒体の径方向に前記第１の長さよりも長い第２の長さだけ離れた位置に前記第２のトラックを設定する、
請求項１に記載の磁気ディスク装置。
【請求項３】
前記第２のトラックが前記第１のトラックの位置から前記第１の長さだけ離れた位置に設定された場合、前記第２のトラックは前記第１のトラックの一部に重なる、
請求項２に記載の磁気ディスク装置。
【請求項４】
前記ディスク媒体は、前記第１領域と異なる冗長な領域である第２領域をさらに備え、
前記制御回路は、前記第１のトラックおよび前記第２のトラックを含む複数の第３のトラックを前記第１領域に新たなトラックを設定できる余地がなくなるまで設定し、前記複数の第３のトラックにデータをライトする動作を制御し、前記ライトされたデータの総量が設定量に満たない場合、前記設定量までの残りの量のデータを前記第２領域にライトする動作を制御する、
請求項２に記載の磁気ディスク装置。
【請求項５】
前記制御回路は、前記第２のトラックを設定する位置を、前記第１の判定の結果と前記第２領域の空き領域の容量とに基づいて決定する、
請求項４に記載の磁気ディスク装置。
【請求項６】
前記制御回路は、
前記第１のトラックの位置から前記ディスク媒体の径方向に前記第２の長さだけ離れた位置に前記第２のトラックを設定したと仮定して、前記第１のトラックおよび前記第２のトラックを含む前記設定量に対応した複数の第４のトラックを前記第１領域に設定可能であるか否かを判定し、
前記複数の第４のトラックを前記第１領域に設定可能でないと判定された場合、前記第２領域に１トラック分の前記空き領域があるか否かを判定し、
前記第２領域に１トラック分の前記空き領域があると判定された場合、前記第１のトラックの位置から前記第２の長さだけ離れた位置に前記第２のトラックを設定する、
請求項５に記載の磁気ディスク装置。
【請求項７】
前記制御回路は、前記第２領域に１トラック分の前記空き領域があると判定して前記第１のトラックの位置から前記第２の長さだけ離れた位置に前記第２のトラックを設定する場合、前記１トラック分の前記空き領域を予約する、
請求項６に記載の磁気ディスク装置。
【請求項８】
前記制御回路は、前記設定量までの残りの量のデータを前記第２領域に予約された前記空き領域にライトする動作を制御する、
請求項７に記載の磁気ディスク装置。
【請求項９】
前記制御回路は、
前記第１のデータから前記誤り訂正符号を生成し、前記第１のデータと生成された前記誤り訂正符号とを前記第１のトラックにライトする動作を制御し、
前記第１のデータおよび前記誤り訂正符号のライトが完了したか否かを判定し、
前記第１のデータおよび前記誤り訂正符号のライトが完了したと判定された場合、前記第１のデータが前記誤り訂正符号によって保護されていると判定し、
前記第１のデータおよび前記誤り訂正符号のライトが完了していないと判定された場合、前記第１のデータが前記誤り訂正符号によって保護されていないと判定する、
請求項１に記載の磁気ディスク装置。
【請求項１０】
誤り訂正符号化の機能を備えた磁気ディスクが備えるディスク媒体が備える記憶領域に含まれる第１のトラックにデータをライトするステップと、
前記ライトされたデータが誤り訂正符号によって保護されているか否かの判定を実行するステップと、
前記第１のトラックに隣接する第２のトラックを設定する位置を前記判定の結果に基づいて設定するステップと、
を備える磁気ディスク装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、磁気ディスク装置および磁気ディスク装置の制御方法に関する。
【背景技術】
【０００２】
磁気ディスク装置は、磁気ヘッドと、１以上のディスク媒体を備える。ディスク媒体には同心円状に複数のトラックが設定される。磁気ヘッドは、ディスク媒体の回転に伴ってトラック上を相対移動し、対象となるトラックにデータをライトする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第９７２８２１５号明細書
【特許文献２】米国特許第９４３７２４０号明細書
【特許文献３】米国特許第９２２９８１３号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したような磁気ディスク装置では、各トラックにライトされたデータは、誤り訂正符号などによってその品質が担保される。しかしながら、ライトの状況によっては、誤り訂正符号による品質の担保が機能しない場合がある。
【０００５】
一つの実施形態は、データの品質の低下を抑制した磁気ディスク装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの実施形態によれば、磁気ディスク装置は、ディスク媒体と制御回路とを備える。ディスク媒体は、第１のトラックを含んだ第１領域を備える。制御回路は、第１のトラックに第１のデータをライトする動作を制御する。制御回路は、当該動作の際に第１のデータに対して誤り訂正符号化を実行することができる。制御回路は、ライトされた第１のデータが誤り訂正符号によって保護されているか否かの第１の判定を実行し、第１のトラックに隣接する第２のトラックの位置を、第１の判定の結果に基づいて設定する。
【図面の簡単な説明】
【０００７】
【図１】図１は、実施形態の磁気ディスク装置の構成の一例を示す図である。
【図２】図２は、実施形態のディスク媒体の記録領域を説明するための図である。
【図３】図３は、実施形態のＳＭＲの方式を説明するための例示的かつ模式的な図である。
【図４】図４は、実施形態のＳＭＲ領域の構成の一例を示す図である。
【図５】図５は、実施形態のバンドに含まれる１つのトラックの構成を模式的かつ例示的に示す図である。
【図６】図６は、実施形態の主たる特徴を説明するための例示的かつ模式的な図である。
【図７】図７は、実施形態の非ＳＭＲ領域の構成の一例を示す図である。
【図８】図８は、実施形態の磁気ディスク装置のライトにかかる一連の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、実施形態の磁気ディスク装置および磁気ディスク装置の制御方法を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【０００９】
（実施形態）
【００１０】
図１は、実施形態の磁気ディスク装置１の構成の一例を示す図である。
【００１１】
磁気ディスク装置１は、ディスク媒体１１を有し、ホスト４０からの要求に応じてディスク媒体１１に情報を記録する。
【００１２】
磁気ディスク装置１は、例えば、磁気ヘッド２２を介してディスク媒体１１に情報をライトし、磁気ヘッド２２を介してディスク媒体１１から信号をリードする。具体的には、磁気ディスク装置１は、ディスク媒体１１、スピンドルモータ１２、モータドライバ２１、磁気ヘッド２２、アクチュエータアーム１５、ボイスコイルモータ（ＶＣＭ）１６、ランプ１３、プリアンプ２４、リードライトチャネル（ＲＷＣ）２５、ハードディスクコントローラ（ＨＤＣ）２３、バッファメモリ２９、およびプロセッサ２６を備える。
【００１３】
ディスク媒体１１は、スピンドルモータ１２により、回転軸を中心に所定の回転速度で回転される。スピンドルモータ１２の回転は、モータドライバ２１により駆動される。ディスク媒体１１は、磁気ディスクである。
【００１４】
磁気ヘッド２２は、それに備わるライト素子２２ｗおよびリード素子２２ｒにより、ディスク媒体１１に対してデータのライトやリードを行う。また、磁気ヘッド２２は、アクチュエータアーム１５の先端にあって、モータドライバ２１によって駆動されるＶＣＭ１６により、ディスク媒体１１の径方向（トラック幅方向）に沿って移動される。ディスク媒体１１の回転が停止しているときなどは、磁気ヘッド２２は、ランプ１３上に退避される。
【００１５】
プリアンプ２４は、リード動作時に、磁気ヘッド２２がディスク媒体１１からリードした信号を増幅して出力し、ＲＷＣ２５に供給する。また、プリアンプ２４は、ＲＷＣ２５から供給されたディスク媒体１１にデータをライトするための信号を増幅して、磁気ヘッド２２に供給する。
【００１６】
ＨＤＣ２３は、Ｉ／Ｆバスを介してホスト４０との間で行われるデータの送受信の制御や、バッファメモリ２９の制御、ならびに、記録データに対するデータの誤り訂正処理などを行う。バッファメモリ２９は、ホスト４０との間で送受信されるデータのバッファとして用いられる。バッファメモリ２９は、ディスク媒体１１からリードされたデータ、ディスク媒体１１にライトされるデータ、又はディスク媒体１１からリードされた制御用ファームウェアを、一時記憶するためなどに用いられる。
【００１７】
ＲＷＣ２５は、ＨＤＣ２３から供給される、ディスク媒体１１にライトされるデータをコード変調してプリアンプ２４に供給する。また、ＲＷＣ２５は、ディスク媒体１１からリードされプリアンプ２４から供給された信号をコード復調してデジタルデータとしてＨＤＣ２３へ出力する。
【００１８】
プロセッサ２６は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。プロセッサ２６には、動作用メモリ２７（例えば、ＳＲＡＭ：Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、不揮発性メモリ２８（例えば、Ｆｌａｓｈ  ＲＯＭ：Ｆｌａｓｈ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）および一時記憶用のバッファメモリ２９（例えば、ＳＤＲＡＭ：Ｓｙｎｃｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が接続されている。
【００１９】
プロセッサ２６は、不揮発性メモリ２８およびディスク媒体１１に予め記憶されたファームウェア（プログラムデータ）に従って、この磁気ディスク装置１の全体的な制御を行う。例えば、プロセッサ２６は、モータドライバ２１、プリアンプ２４、ＲＷＣ２５、ＨＤＣ２３などの制御を実行する。
【００２０】
なお、プロセッサ２６およびＨＤＣ２３を含む構成は、制御回路３０と見なすこともできる。制御回路３０は、トラックの設定を実行することができる。また、制御回路３０は、プリアンプ２４、ＲＷＣ２５、およびモータドライバ２１を制御することによって、ディスク媒体１１にデータをライトする動作や、ディスク媒体１１からデータをリードする動作を制御することができる。
【００２１】
表記を簡単にするために、以降の説明では、データをライトする動作を制御することを、データをライトする、と表記する。また、データをリードする動作を制御することを、データをリードする、と表記する。
【００２２】
なお、制御回路３０は、動作用メモリ２７、不揮発性メモリ２８、バッファメモリ２９、プリアンプ２４、またはＲＷＣ２５など、他の要素を含んでいてもよい。
【００２３】
図２は、実施形態のディスク媒体１１の記録領域を説明するための図である。ディスク媒体１１は、ＳＭＲ（Shingled  Magnetic  Recording）と呼ばれる方式でデータがライトされるＳＭＲ領域１１０と、ＳＭＲと異なる方式でデータがライトされる非ＳＭＲ領域（non-ＳＭＲ領域）１１１とを有する。
【００２４】
ＳＭＲ領域１１０は、表記容量（ユーザ容量）に対応する容量を有する。非ＳＭＲ領域１１１は、ディスク媒体１１内に、表記容量の他に余分に確保されている。
【００２５】
図２の例によれば、ＳＭＲ領域１１０はディスク媒体１１のインナー側に割り当てられ、非ＳＭＲ領域１１１はディスク媒体１１のアウター側に割り当てられる。ＳＭＲ領域１１０がディスク媒体１１のアウター側に割り当てられ、非ＳＭＲ領域１１１がディスク媒体１１のインナー側に割り当てられてもよい。
【００２６】
図３は、実施形態のＳＭＲの方式を説明するための例示的かつ模式的な図である。ＳＭＲは、各トラックと隣接するトラックの一部とが重なるようにデータをライトする記録方式である。本図から、ＳＭＲによれば、トラックピッチ（ＴＰ）が磁気ヘッド２２のライト素子２２ｗのコア幅（ＷＨｗ）よりも狭められていることが読み取れる。
【００２７】
トラックピッチは、トラックのディスク媒体１１の径方向の幅をいう。ＳＭＲによれば、トラックピッチを狭くすることができ、これによって、記録密度を向上させることが可能である。
【００２８】
なお、図３は、ディスク媒体１０１のアウター側からインナー側に向かってライトが行われる場合の各トラックの様子を示している。ライトの方向は、これに限定されない。ディスク媒体１０１のインナー側からアウター側に向かってライトが行われてもよい。
【００２９】
図４は、実施形態のＳＭＲ領域１１０の構成の一例を示す図である。ＳＭＲ領域１１０には、径方向に配列された複数のバンド１２０を備える。各バンド１２０は、円環状の形状を有している。バンド１２０の間には、ガード領域１３０が割り当てられている。ガード領域１３０は、データがライトされない領域である。
【００３０】
なお、本明細書では、複数のバンド１２０のそれぞれは、バンド番号を用いて区別される場合がある。即ち、バンド番号がｘであるバンド１２０を、バンド＃ｘ（Band  #x）と表記する。
【００３１】
各バンド１２０には、複数のトラックのデータが、ＳＭＲの方式でライトされる。各バンド１２０には、ライトされ得るデータの最大の量が予め設定されている。各バンド１２０は、設定された量に対応した数のトラックが設定可能な幅（ディスク媒体１１の径方向の長さ）を有している。以降、設定されたライトされ得るデータの量を、設定量、と表記する。
【００３２】
本図の例によれば、バンド＃ｉ＋１は、設定量のデータがライトされた状態にあり、バンド＃ｉ、バンド＃ｉ＋２、バンド＃ｉ＋３は空の状態にある。
【００３３】
バンド１２０は、連続して複数トラックのデータがライトされる最小の単位領域として定義されてもよい。その場合、データの書き換えは例えば次のようにして実現する。
【００３４】
例えば、バンド＃ｉ＋１にライトされたデータの一部を新しいデータで書き換える場合、バンド＃ｉ＋１の全トラックからデータがリードされる。当該新しいデータは、バンド＃ｉ＋１からリードされたデータにマージされ、マージ後のデータが別のバンド１２０（例えばバンド＃ｉ）にライトされる。バンド＃ｉ＋１の内容は、無効とされ、別のデータがライトできる状態とされる。これによって、バンド単位のライトが実現する。
【００３５】
なお、バンド１２０の定義はこれに限定されない。よって、例えば、バンド１２０へのライトが途中で停止して他のバンド１２０へのライトが実行されてもよい。
【００３６】
ＳＭＲの方式によれば、トラックピッチが狭められるので、リードの際に誤りが発生しやすくなる。リードの際に発生した誤りを訂正するための１つの対策として、トラックにライトされたデータは、誤り訂正符号によって保護される。誤り訂正符号は、例えば、トラック内の所定のセクタにライトされている。
【００３７】
図５は、実施形態のバンド１２０に含まれる１つのトラックの構成を模式的かつ例示的に示す図である。
【００３８】
トラックは、複数のセクタに区切られている。本図の例では、トラックは、１１個のセクタに区切られている。
【００３９】
本明細書では、各セクタはセクタ番号を用いて区別される。即ち、セクタ番号がｘであるセクタを、セクタ＃ｘ（Sector  #x）と表記する。本図に示される例では、トラックは、セクタ＃１からセクタ＃１１までの１１個のセクタを有する。
【００４０】
データのライトは、例えば次のようにして実行される。まず、セクタ＃１〜セクタ＃１０に、セクタ番号の順番にデータがライトされる。そして、当該トラックへのライトの最後に、セクタ＃１１に、誤り訂正符号（Error  Correction  Code：ＥＣＣ）がライトされる。
【００４１】
セクタ＃１１にライトされるＥＣＣは、セクタ＃１〜セクタ＃１０にライトされたデータ（データ＃１〜データ＃１０）を誤りの発生から保護するものである。つまり、セクタ＃１１にライトされるＥＣＣは、トラック単位でデータを保護する。
【００４２】
ＥＣＣを生成するための誤り訂正符号化の方式は、特定の方式に限定されない。一例では、ＥＣＣは、データ＃１〜データ＃１０に対するＸＯＲのビット演算によって生成される。セクタ＃１〜セクタ＃１０のいずれかからリードされたデータに誤りが発生した場合、当該データのリード元のセクタを除く他の全てのセクタにライトされたデータとセクタ＃１１にライトされたＥＣＣとに対してＸＯＲのビット演算を実行することによって、誤りが訂正され得る。
【００４３】
データ＃１〜データ＃１０とＥＣＣとがトラックにライトされると、そのトラックにライトされたデータはトラック単位で保護される。このように、誤り訂正符号によってトラック単位でデータを保護する方式のことを、本明細書では、トラックＥＣＣと表記する。トラックにライトされたデータがトラックＥＣＣによって保護されている状態のことを、トラックＥＣＣが有効である、または、トラックＥＣＣが効いている、と表記する。また、トラックにライトされたデータがトラックＥＣＣによって保護されていない状態のことを、トラックＥＣＣが無効である、または、トラックＥＣＣが効いていない、と表記する。
【００４４】
トラックＥＣＣによって、トラックピッチが縮小されたことによるデータの品質の低下を補うことができる。しかしながら、ライトの状況によっては、トラックＥＣＣが効かない場合がある。
【００４５】
例えば、トラックへのデータのライトがＥＣＣがライトされる前になんらかの理由で中断された場合、そのトラックは、ＥＣＣがライトされていないため、トラックＥＣＣによって保護されていない状態となる。
【００４６】
または、トラックへのＥＣＣのライトの途中で電源断が発生した場合、ＥＣＣのライトが完了していないため、そのトラックはトラックＥＣＣによって保護されていない状態となる。
【００４７】
トラックＥＣＣが無効であるトラックは、そのトラックに含まれるセクタに誤りが発生した場合、これを訂正することができない。したがって、トラックＥＣＣが無効であるトラックにライトされているデータの品質は、トラックＥＣＣが有効であるトラックに比べて劣る。
【００４８】
そこで、実施形態では、新しいトラックへのデータのライトの際、当該新しいトラックに隣接する古いトラック、即ち当該新しいトラックによって一部が上書きされる既にデータがライトされたトラック、ではトラックＥＣＣが効いているか否かの判定が実行される。そして、その判定の結果に応じて新しいトラックの位置が決定される。
【００４９】
図６は、実施形態の主たる特徴を説明するための例示的かつ模式的な図である。例えば、トラック＃１へのデータのライトの後、トラック＃１ではトラックＥＣＣが有効であるか否かが判定される。本図の例では、トラック＃１ではトラックＥＣＣが有効（ECC_valid）であると判定され、トラック＃１の位置から径方向にｄ１だけ離れた位置にトラック＃２のデータがＳＭＲの方式でライトされる。これによって、トラック＃１のトラックピッチはｄ１となる。
【００５０】
トラック＃２へのデータのライトの後、トラック＃２ではトラックＥＣＣが有効であるか否かが判定される。本図の例では、トラック＃２ではトラックＥＣＣが有効（ECC_valid）であると判定され、トラック＃２の位置から径方向にｄ１だけ離れた位置にトラック＃３のデータがＳＭＲの方式でライトされる。これによって、トラック＃２のトラックピッチはｄ１となる。
【００５１】
トラック＃３へのデータのライトの後、トラック＃３ではトラックＥＣＣが有効であるか否かが判定される。本図の例では、トラック＃３ではトラックＥＣＣが無効（ECC_invalid）であると判定され、トラック＃３の位置から径方向にｄ１より大きいｄ２だけ離れた位置にトラック＃４のデータがＳＭＲの方式でライトされる。これによって、トラック＃３のトラックピッチはｄ２となる。
【００５２】
トラック＃４へのデータのライトの後、トラック＃４ではトラックＥＣＣが有効であるか否かが判定される。本図の例では、トラック＃４ではトラックＥＣＣが有効（ECC_valid）であると判定され、トラック＃４の位置から径方向にｄ１だけ離れた位置にトラック＃５のデータがＳＭＲの方式でライトされる。これによって、トラック＃４のトラックピッチはｄ１となる。
【００５３】
つまり、古いトラックではトラックＥＣＣが効いていない（有効でない）と判定された場合、古いトラックではトラックＥＣＣが効いている（有効である）と判定された場合に比べて、古いトラックのトラックピッチが広くなるように、新しいトラックの位置が設定される。
【００５４】
その結果として、古いトラックからのデータのリードの際の誤りの発生を抑制される。これによって、古いトラックではトラックＥＣＣが効いていなくても、トラックＥＣＣが効いていないことによる品質の低下を補うことができる。つまり、品質の低下が抑制される。
【００５５】
図２の説明に戻る。
非ＳＭＲ領域１１１は、例えばＣＭＲ(Conventional  Magnetic  Recording)と呼ばれる方式でデータがライトされる。ＣＭＲは、各トラックが重ならないようにライトを行う記録方式である。
【００５６】
図７は、実施形態の非ＳＭＲ領域１１１の構成の一例を示す図である。本図に示されるように、非ＳＭＲ領域１１１には、冗長な領域である一時領域１４０を備える。
【００５７】
各バンド１２０には、設定量に対応した複数トラックのデータがライトされる。一部のトラックのトラックピッチがｄ２に設定されることに備えて、各バンド１２０の径方向の幅は、すべてのトラックのトラックピッチをｄ１として全てのトラックを設定した場合の全トラックのトラックピッチの合計に比べてすこし大きくてもよい。
【００５８】
しかしながら、あるバンド１２０において、トラックピッチがｄ２であるトラックの数が多いと、設定量のデータをそのバンド１２０にライトできなくなる場合がある。そのバンド１２０にライトできなくなったデータは、一時領域１４０にライトされる。
【００５９】
換言すると、あるバンド１２０に、新たなトラックが設定できる余地がなくなるまで複数のトラックが設定されて当該複数のトラックにデータがライトされた際に、ライトされたデータの総量が設定量に満たない場合、残りの量のデータが一時領域１４０にライトされる。
【００６０】
なお、一時領域１４０にライトされたデータは、例えば、そのデータが本来ライトされる予定であったバンド１２０の内容が別のバンド１２０に移動せしめられる際に、移動元のバンド１２０からリードされたデータとともに移動先のバンド１２０にライトされる。なお、一時領域１４０にライトされたデータの扱いはこれに限定されない。
【００６１】
次に、実施形態の磁気ディスク装置１の動作を説明する。図８は、実施形態の磁気ディスク装置１のライトにかかる一連の手順の一例を示すフローチャートである。具体的には、図８は、あるバンド（バンド＃Ｍとする）に新しいトラック（トラック＃Ｎとする）のデータをライトする動作を示している。トラック＃１からトラック＃Ｎ−１はすでに設定されて、データのライトなどが行われたこととしている。
【００６２】
まず、制御回路３０は、残りのデータのライトに要するトラックの数（Ａとする）を取得する（Ｓ１０１）。
【００６３】
前述したように、各バンドにライトされるデータの最大の量（設定量）は、予め設定されている。残りのデータのライトに要するトラックの数とは、設定量からすでにバンド＃Ｍにライトされたデータの総量を減算して得られる量のデータのライトに要するトラックの数である。
【００６４】
Ｓ１０１の後、制御回路３０は、バンド＃Ｍの残りの幅（Ｄとする）を取得する（Ｓ１０２）。バンド＃Ｍの残りの幅は、換言すると、バンド＃Ｍのうちのまだトラックが設定されていない領域の幅である。
【００６５】
Ｓ１０２の処理の後、制御回路３０は、トラック＃Ｎ−１のトラックＥＣＣの状態を取得する（Ｓ１０３）。そして、制御回路３０は、トラック＃Ｎ−１のトラックＥＣＣが有効であるか否かを判定する（Ｓ１０４）。
【００６６】
Ｓ１０３、Ｓ１０４の処理の実現方法は、特定の方法に限定されない。
【００６７】
一例では、制御回路３０は、各トラックへのライトを完了する毎に、データおよびＥＣＣのライトが無事に完了した旨を、トラック番号と対応付けて例えばテーブルなどに記録する。制御回路３０は、Ｓ１０３では、そのテーブルを参照する。テーブルの参照によって、トラック＃Ｎ−１に対するデータおよびＥＣＣのライトが無事に完了したことが判明した場合、制御回路３０は、Ｓ１０４において、トラック＃Ｎ−１のトラックＥＣＣが有効であると判定する。トラック＃Ｎ−１に対するデータおよびＥＣＣのライトが完了していないことが判明した場合、制御回路３０は、Ｓ１０４において、トラック＃Ｎ−１のトラックＥＣＣが無効であると判定する。
【００６８】
例えば、トラック＃Ｎ−１がデータ用の１０個のセクタとＥＣＣ用の１つのセクタとを備え、１０個のデータ用のセクタのうちの途中のセクタまでデータがライトされた後にトラック＃Ｎのライトの動作が開始された場合、トラック＃Ｎ−１のライトが無事に完了した旨が記録されない。その場合には、制御回路３０は、トラック＃Ｎ−１のライトが無事に完了した旨が記録されていないため、トラック＃Ｎ−１のトラックＥＣＣは無効であると判定する。
【００６９】
トラック＃Ｎ−１が備える１０個のデータ用のセクタの全てにデータがライトされ、ＥＣＣ用の１つのセクタにＥＣＣがライトされた後に、トラック＃Ｎのライトの動作が開始された場合、トラック＃Ｎ−１のライトが無事に完了した旨が記録されている。その場合には、制御回路３０は、記録された内容に基づき、トラック＃Ｎ−１のトラックＥＣＣは有効であると判定する。
【００７０】
トラック＃Ｎ−１のトラックＥＣＣが有効であると判定された場合（Ｓ１０４、Ｙｅｓ）、制御回路３０は、バンド＃Ｍの残りの幅Ｄがｄ１以上であるか否かを判定する（Ｓ１０５）。
【００７１】
バンド＃Ｍの残りの幅Ｄがｄ１以上である場合、トラック＃Ｎ−１の位置からｄ１だけ離れた位置にトラック＃Ｎを設定することが可能である。バンド＃Ｍの残りの幅Ｄがｄ１未満である場合、トラック＃Ｎ−１の位置からｄ１だけ離れた位置にトラック＃Ｎを設定すると、トラック＃Ｎがバンド＃Ｍからはみ出る。つまり、制御回路３０は、Ｓ１０５では、トラック＃Ｎ−１の位置からｄ１だけ離れた位置にトラック＃Ｎを設定した場合にトラック＃Ｎがバンド＃Ｍ内に収まるか否かを判定する。
【００７２】
バンド＃Ｍの残りの幅Ｄがｄ１以上であると判定された場合（Ｓ１０５、Ｙｅｓ）、制御回路３０は、トラック＃Ｎ−１の位置からｄ１だけ離れた位置にトラック＃Ｎを設定する（Ｓ１０６）。
【００７３】
そして、制御回路３０は、トラック＃Ｎに、データおよびＥＣＣをライトする（Ｓ１０７）。つまり、制御回路３０は、トラック＃Ｎにライトされる当該データに基づいて当該ＥＣＣを生成し、当該データと当該ＥＣＣとをトラック＃Ｎにライトする。
【００７４】
Ｓ１０７によって、バンド＃Ｍにトラック＃Ｎのデータをライトする一連の処理が終了する。
【００７５】
バンド＃Ｍの残りの幅Ｄがｄ１に満たないと判定された場合（Ｓ１０５、Ｎｏ）、制御回路３０は、一時領域１４０に、トラック＃Ｎのデータライトする（Ｓ１０８）。そして、バンド＃Ｍにトラック＃Ｎのデータをライトする一連の処理が終了する。
【００７６】
なお、一時領域１４０には、後述するＳ１１２の処理によって１以上のトラックに対応する領域が予め予約されている。Ｓ１０８では、制御回路３０は、当該予約された領域にトラック＃Ｎのデータをライトする。制御回路３０は、一時領域１４０にトラック＃ＮのデータとともにＥＣＣをライトしてもよいし、当該ＥＣＣをライトしなくてもよい。例えばＣＭＲによれば、各トラックの幅がＳＭＲに比べて広いため、リードの際に誤りが発生しにくい。よって、非ＳＭＲ領域１１１へのデータのライトの方式としてＣＭＲが採用される場合には、一時領域１４０へのライトの際に、ＥＣＣのライトを省略することが可能である。  
【００７７】
Ｓ１０４において、トラック＃Ｎ−１のトラックＥＣＣが有効ではないと判定された場合（Ｓ１０４、Ｎｏ）、制御回路３０は、Ａがゼロであるか否かを判定する（Ｓ１０９）。
【００７８】
Ａがゼロであることは、トラック＃Ｎがバンド＃Ｍに設定される最後のトラックであることを意味する。つまり、制御回路３０は、Ｓ１０９では、トラック＃Ｎがバンド＃Ｍの最後に設定されるトラックであるか否かを判定する。
【００７９】
Ａがゼロではないと判定された場合（Ｓ１０９、Ｎｏ）、制御回路３０は、残りの幅Ｄは、ｄ１＊Ａ＋ｄ２の演算によって得られる値以上であるか否かを判定する（Ｓ１１０）。つまり、制御回路３０は、トラック＃Ｎ−１のトラックピッチをｄ２とした場合に、設定量に対応した全てのトラックをバンド＃Ｍ内に設定することが可能であるか否かを判定する。
【００８０】
残りの幅Ｄはｄ１＊Ａ＋ｄ２の演算によって得られる値未満であると判定された場合（Ｓ１１０、Ｎｏ）、全てのトラックをバンド＃Ｍ内に収めることができないため、制御回路３０は、一時領域１４０内の領域の予約を試みる。
【００８１】
即ち、まず、制御回路３０は、一時領域１４０に１トラック分の空き領域があるか否かを判定する（Ｓ１１１）。一時領域１４０に１トラック分の空き領域があると判定された場合（Ｓ１１１、Ｙｅｓ）、制御回路３０は、その空き領域を予約する（Ｓ１１２）。
【００８２】
そして、制御回路３０は、バンド＃Ｍの残りの幅Ｄがｄ２以上であるか否かを判定する（Ｓ１１３）。
【００８３】
バンド＃Ｍの残りの幅Ｄがｄ２以上である場合、トラック＃Ｎ−１の位置からｄ２だけ離れた位置にトラック＃Ｎを設定することが可能である。バンド＃Ｍの残りの幅Ｄがｄ１未満である場合、トラック＃Ｎ−１の位置からｄ２だけ離れた位置にトラック＃Ｎを設定すると、トラック＃Ｎがバンド＃Ｍからはみ出る。つまり、制御回路３０は、Ｓ１１３では、トラック＃Ｎ−１の位置からｄ２だけ離れた位置にトラック＃Ｎを設定した場合にトラック＃Ｎがバンド＃Ｍ内に収まるか否かを判定する。
【００８４】
バンド＃Ｍの残りの幅Ｄがｄ２以上であると判定された場合（Ｓ１１３、Ｙｅｓ）、制御回路３０は、トラック＃Ｎ−１の位置からｄ２だけ離れた位置にトラック＃Ｎを設定し（Ｓ１１４）、トラック＃Ｎに、データおよびＥＣＣをライトする（Ｓ１１５）。そして、バンド＃Ｍにトラック＃Ｎのデータをライトする一連の処理が終了する。
【００８５】
なお、バンド＃Ｍの残りの幅Ｄがｄ２未満であると判定された場合（Ｓ１１３、Ｎｏ）、制御回路３０は、Ｓ１０８の処理を実行する。
【００８６】
また、Ａがゼロであると判定された場合（Ｓ１０９、Ｙｅｓ）、または、残りの幅Ｄはｄ１＊Ａ＋ｄ２の演算によって得られる値以上であると判定された場合（Ｓ１１０、Ｙｅｓ）、制御回路３０は、Ｓ１１３の処理を実行する。
【００８７】
図８に示される一連の手順は、トラック毎に実行される。つまり、例えば、トラック＃ｉのデータのライトの際に図８に示される一連の手順が実施され、次に、トラック＃ｉに隣接するトラック＃ｉ＋１のデータのライトが実施される。トラック＃ｉ＋１のデータのライトの際にも、図８に示される一連の手順が実施される。図８に示される一連の手順がトラック毎に繰り返されることによって、図６に示される特徴的な動作が実現する。
【００８８】
以上述べたように、実施形態によれば、制御回路３０は、あるバンド１２０に、第１のトラック（例えばトラック＃Ｎ−１）を設定して、第１のトラックにデータをライトする。制御回路３０は、第１のトラックにライトされたデータが誤り訂正符号によって保護されているか否かの判定を実行する。そして、制御回路３０は、第２のトラックを設定する位置を、第１のトラックにライトされたデータが誤り訂正符号によって保護されているか否かの判定の結果に基づいて決定する。
【００８９】
具体的には、例えば、第１のトラックにライトされたデータが誤り訂正符号によって保護されていると判定された場合、制御回路３０は、第１のトラックの位置から第１の長さ（例えばｄ１）だけ離れた位置に第２のトラック（例えばトラック＃Ｎ）を設定する。第１のトラックにライトされたデータが誤り訂正符号によって保護されていないと判定された場合、制御回路３０は、第１のトラックの位置から第１の長さよりも長い第２の長さ（例えばｄ２）だけ離れた位置に第２のトラックを設定する。
【００９０】
この構成により、第１のトラックのトラックＥＣＣが無効である場合、トラックＥＣＣが無効であることによる第１のトラックのデータの品質の低下を、第１のトラックのトラックピッチが拡大せしめられることによって補うことができる。つまり、データの品質の低下を抑制することが可能となる。
【００９１】
なお、上記の説明では、バンド１２０にはＳＭＲの方式でデータがライトされるとした。よって、第１のトラックの位置から第１の長さだけ離れた位置に第２のトラックの位置が設定された場合、第２のトラックは、第１のトラックの一部に重なる。なお、第１のトラックの位置から第２の長さだけ離れた位置に第２のトラックが設定された場合、第２のトラックは、第１のトラックの一部に重なってもよいし、第１のトラックと重ならなくてもよい。
【００９２】
さらに、実施形態によれば、制御回路３０は、あるバンド１２０に、新たなトラックが設定できる余地がなくなるまで複数のトラックを設定して当該複数のトラックにデータをライトした後、ライトされたデータの総量が設定された量に満たない場合、残りの量のデータを一時領域１４０にライトする。
【００９３】
この構成により、あるトラックのトラックピッチを第２の長さとすることによって設定量のデータがバンド１２０に収まらなくなった場合であっても、ライトを続行することが可能となる。
【００９４】
さらに、実施形態によれば、制御回路３０は、第２のトラックの位置を、第１のトラックにライトされたデータが誤り訂正符号によって保護されているか否かの判定の結果と、一時領域１４０の空き領域の容量とに基づいて決定する。
【００９５】
具体的には、図８の例に従えば、制御回路３０は、トラック＃Ｎ−１（第２のトラック）の位置からｄ２（第２の長さ）だけ離れた位置にトラック＃Ｎ（第１のトラック）の位置を設定したと仮定して、トラック＃Ｎ−１およびトラック＃Ｎを含む設定量に対応した全てのトラックはバンド＃Ｍに設定可能であるか否かを判定する。設定量に対応した全てのトラックはバンド＃Ｍに設定可能でないと判定された場合、制御回路３０は、一時領域１４０に１トラック分の空き領域があるか否かを判定する。一時領域１４０に１トラック分の空き領域があると判定された場合、制御回路３０は、トラック＃Ｎ−１の位置からｄ２だけ離れた位置にトラック＃Ｎの位置を設定する。
【００９６】
この構成により、あるトラックのトラックピッチを第２の長さとすることによって設定量のデータがバンド１２０に収まらなくなった場合であっても、ライトを続行することが可能となる。
【００９７】
なお、設定量に対応した複数のトラックはバンドに設定可能でないと判定された後に第１のトラックの位置から第２の長さだけ離れた位置に第２のトラックの位置を設定する際に、一時領域１４０の空き領域に１トラック分の領域を予約する。
【００９８】
この構成により、あるトラックのトラックピッチを第２の長さとすることによって設定量のデータがバンド１２０に収まらなくなった場合であっても、残りの量のデータを一時領域１４０にライトすることが可能となる。
【００９９】
なお、以上の説明では、制御回路３０は、第１のトラックにライトされたデータが誤り訂正符号によって保護されているか否かの判定方法の一例として、データおよびＥＣＣのライトが完了しているか否かに基づく判定方法を挙げた。
【０１００】
具体的には、制御回路３０は、トラック＃Ｎ−１（第１のトラック）にライトされるデータに基づいてＥＣＣを生成し、データと生成されたＥＣＣとをトラック＃Ｎ−１にライトするよう、構成されている。制御回路３０は、トラック＃Ｎ−１へのデータおよびＥＣＣのライトが完了したか否かを判定する。トラック＃Ｎ−１へのデータおよびＥＣＣのライトが完了したと判定された場合には、制御回路３０は、トラック＃Ｎ−１にライトされたデータは誤り訂正符号によって保護されている、と判定する。トラック＃Ｎ−１へのデータおよびＥＣＣのライトが完了していないと判定された場合には、制御回路３０は、トラック＃Ｎ−１にライトされたデータは誤り訂正符号によって保護されていない、と判定する。
【０１０１】
この方法によれば、第１のトラックにライトされたデータが誤り訂正符号によって保護されているか否かを簡単に判定できる。しかしながら、第１のトラックにライトされたデータが誤り訂正符号によって保護されているか否かの判定の方法は、これに限定されない。
【０１０２】
なお、磁気ディスク装置１の制御方式として、ドライブマネージド方式と、ホストマネージド方式とが知られている。
【０１０３】
ドライブマネージド方式によれば、制御回路３０は、ホスト４０から受信したデータをバッファメモリ２９や一時領域１４０にバッファしておき、バッファされたデータを所望のタイミングで対象のバンド１２０にライトすることができる。つまり、ドライブマネージド方式によれば、バンド１２０単位のライトが簡単に実現する。
【０１０４】
これに対し、ホストマネージド方式によれば、ホスト４０は、ライト先の位置（バンド１２０）を指定する。制御回路３０は、指定されたライト先の位置へのデータのライトが完了すると、データのライトの完了をホスト４０に通知することができる。ディスク媒体１１へのライトのタイミングは、ホスト４０からのコマンドに依存するので、バンド１２０単位のライトを制御回路３０が直接的に制御することができない。よって、ホストマネージド方式によれば、ドライブマネージド方式に比べてトラックの途中でのライトの中断が起こりやすい可能性がある。つまり、ホストマネージド方式の磁気ディスク装置においては、トラックＥＣＣが効かないトラックの数が、ドライブマネージド方式に比べて多くなる可能性がある。
【０１０５】
実施形態のトラックの設定の方法は、ドライブマネージド方式が採用された磁気ディスク装置にも適用することができるし、ホストマネージド方式が採用された磁気ディスク装置にも適用することができる。ホストマネージド方式が採用された磁気ディスク装置において、トラックＥＣＣが効かないトラックが多く発生しても、トラックＥＣＣが効かないことによる品質の低下を補うことが可能である。
【０１０６】
なお、以上では、ホスト４０から送られてきたデータがＳＭＲの方式でライトされる場合について説明した。以上に述べたトラックの設定の方法は、ホスト４０から送られてきたデータがＣＭＲの方式でライトされる磁気ディスク装置においても適用され得る。
【０１０７】
また、以上の説明では、制御回路３０は、第１のトラック（例えばトラック＃Ｎ−１）のトラックピッチを、第１の長さ（例えばｄ１）および第２の長さ（例えばｄ２）のうちから選択した。制御回路３０は、３以上の長さから第１のトラックのトラックピッチを選択してもよい。
【０１０８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０９】
１  磁気ディスク装置、１１  ディスク媒体、１２  スピンドルモータ、１３  ランプ、１５  アクチュエータアーム、１６  ボイスコイルモータ、２１  モータドライバ、２２  磁気ヘッド、２２ｒ  リード素子、２２ｗ  ライト素子、２３  ハードディスクコントローラ、２４  プリアンプ、２５  リードライトチャネル、２６  プロセッサ、２７  動作用メモリ、２８  不揮発性メモリ、２９  バッファメモリ、３０  制御回路、４０  ホスト、１０１  ディスク媒体、１１０  ＳＭＲ領域、１１１  非ＳＭＲ領域、１２０  バンド、１３０  ガード領域、１４０  一時領域。
【図１】
2020042888.tif 000003
【図２】
2020042888.tif 000004
【図３】
2020042888.tif 000005
【図４】
2020042888.tif 000006
【図５】
2020042888.tif 000007
【図６】
2020042888.tif 000008
【図７】
2020042888.tif 000009
【図８】
2020042888.tif 000010