JP2021047946A - 磁気ディスク装置及びライト処理方法 - Google Patents

磁気ディスク装置及びライト処理方法 Download PDF

Info

Publication number
JP2021047946A
JP2021047946A JP2019169201A JP2019169201A JP2021047946A JP 2021047946 A JP2021047946 A JP 2021047946A JP 2019169201 A JP2019169201 A JP 2019169201A JP 2019169201 A JP2019169201 A JP 2019169201A JP 2021047946 A JP2021047946 A JP 2021047946A
Authority
JP
Japan
Prior art keywords
sector
track
sectors
write
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019169201A
Other languages
English (en)
Other versions
JP2021047946A5 (ja
JP7134933B2 (ja
Inventor
河辺 享之
Takayuki Kawabe
享之 河辺
原 武生
Takeo Hara
武生 原
信宏 前東
Nobuhiro Maeto
信宏 前東
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Original Assignee
Toshiba Corp
Toshiba Electronic Devices and Storage Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Electronic Devices and Storage Corp filed Critical Toshiba Corp
Priority to JP2019169201A priority Critical patent/JP7134933B2/ja
Priority to CN202010051695.1A priority patent/CN112530466B/zh
Priority to US16/804,537 priority patent/US10910013B1/en
Publication of JP2021047946A publication Critical patent/JP2021047946A/ja
Publication of JP2021047946A5 publication Critical patent/JP2021047946A5/ja
Application granted granted Critical
Publication of JP7134933B2 publication Critical patent/JP7134933B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1876Interpolating methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B15/00Driving, starting or stopping record carriers of filamentary or web form; Driving both such record carriers and heads; Guiding such record carriers or containers therefor; Control thereof; Control of operating function
    • G11B15/18Driving; Starting; Stopping; Arrangements for control or regulation thereof
    • G11B15/1808Driving of both record carrier and head
    • G11B15/1825Driving of both record carrier and head driving or moving the head in a direction which cuts across the direction of travel of the tape, e.g. for helicoïdal scanning
    • G11B15/1833Driving of both record carrier and head driving or moving the head in a direction which cuts across the direction of travel of the tape, e.g. for helicoïdal scanning with head driven in a plane, cyclically around an axis, e.g. on headwheel
    • G11B15/1841Driving of both record carrier and head driving or moving the head in a direction which cuts across the direction of travel of the tape, e.g. for helicoïdal scanning with head driven in a plane, cyclically around an axis, e.g. on headwheel with provision for information tracking by moving the transducing part of the head relative to the headwheel, in the direction of the scanning movement, e.g. for skew or time base correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • G11B19/041Detection or prevention of read or write errors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/58Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following
    • G11B5/596Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following for track following on disks
    • G11B5/59627Aligning for runout, eccentricity or offset compensation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B2020/1218Formatting, e.g. arrangement of data block or words on the record carriers on discs wherein the formatting concerns a specific area of the disc
    • G11B2020/1222ECC block, i.e. a block of error correction encoded symbols which includes all parity data needed for decoding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • G11B2020/183Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/58Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head for the purpose of maintaining alignment of the head relative to the record carrier during transducing operation, e.g. to compensate for surface irregularities of the latter or for track following

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Digital Magnetic Recording (AREA)
  • Recording Or Reproducing By Magnetic Means (AREA)

Abstract

【課題】 ライト性能を向上可能な磁気ディスク装置及びライト処理方法を提供することである。【解決手段】 本実施形態に係る磁気ディスク装置は、半径方向の第1方向に第1位置決め誤差で位置する第1セクタ、第1方向に前記第1位置決め誤差よりも小さい第2位置決め誤差で位置する第2セクタ、及び第1パリティセクタを含む第1トラックを有するディスクと、ヘッドと、第1トラックの第1方向に隣接する第2トラックをライトする際に、第1セクタの第1方向に隣接する第2トラックの第3セクタで、第1セクタの第1位置決め誤差に応じて決定される第1方向と反対の第2方向への位置決め誤差の第1上限値を超えた場合でも第3セクタへのライト処理を継続し、第2セクタの第1方向に隣接する第2トラックの第4セクタで、第2セクタの第2位置決め誤差に応じて決定される第2方向への位置決め誤差の第2上限値を超えた場合に第4セクタへのライト処理を停止する、コントローラと、を備える。【選択図】 図1

Description

本発明の実施形態は、磁気ディスク装置及びライト処理方法に関する。
磁気ディスク装置は、ディスクの所定のトラックの1周分のデータに対応するパリティデータを生成し、ディスクの所定の領域にライトする。磁気ディスク装置は、所定のトラックの所定のセクタにライトしたデータをリードできない場合に、パリティデータに基づいてリードできないセクタのデータにエラー訂正を実行する。所定のトラックにおいて、パリティデータに基づいてエラー訂正可能なセクタの数には制限がある。
米国特許第9236073号明細書 米国特許第8587889号明細書 米国特許第7245447号明細書
本発明の実施形態が解決しようとする課題は、ライト性能を向上可能な磁気ディスク装置及びライト処理方法を提供することである。
本実施形態に係る磁気ディスク装置は、半径方向の第1方向に第1位置決め誤差で位置する第1セクタ、前記第1方向に前記第1位置決め誤差よりも小さい第2位置決め誤差で位置する第2セクタ、及び第1パリティセクタを含む第1トラックを有するディスクと、前記ディスクに対してデータをライトし、前記ディスクからデータをリードするヘッドと、前記第1トラックの前記第1方向に隣接する第2トラックをライトする際に、前記第1セクタの前記第1方向に隣接する前記第2トラックの第3セクタで、前記第1セクタの前記第1位置決め誤差に応じて決定される前記第1方向と反対の第2方向への位置決め誤差の第1上限値を超えた場合でも前記第3セクタへのライト処理を継続し、前記第2セクタの前記第1方向に隣接する前記第2トラックの第4セクタで、前記第2セクタの前記第2位置決め誤差に応じて決定される前記第2方向への位置決め誤差の第2上限値を超えた場合に前記第4セクタへのライト処理を停止する、コントローラと、を備える。
図1は、第1実施形態に係る磁気ディスク装置の構成を示すブロック図である。 図2は、第1実施形態に係るディスクに対するヘッドの配置の一例を示す模式図である。 図3は、データがライトされた瓦記録領域の一例を示す模式図である。 図4は、DDOLの一例を示す模式図である。 図5は、第1実施形態に係るトラック単位のエラー訂正の方法の一例を示す模式図である。 図6Aは、第1実施形態に係る訂正対象セクタの設定方法の一例を示す模式図である。 図6Bは、第1実施形態に係る所定のトラックの各セクタに設定した優先番号のテーブルの一例を示す模式図である。 図7は、第1実施形態に係るライト処理時のヘッドの位置決め制御系SYの一例を示すブロック図である。 図8は、図7に示したチェッカの処理の一例を示す模式図である。 図9は、第1実施形態に係るライト処理方法の一例を示すフローチャートである。 図10は、第1実施形態に係るライト処理方法の一例を示すフローチャートである。 図11は、第1実施形態に係るテーブルの生成方法の一例を示すフローチャートである。 図12Aは、変形例1に係る訂正対象セクタの設定方法の一例を示す模式図である。 図12Bは、変形例1に係る所定のトラックの各セクタに設定した優先番号のテーブルの一例を示す模式図である。 図13は、変形例1に係る示したチェッカの処理の一例を示す模式図である。 図14Aは、変形例2に係る訂正対象セクタの設定方法の一例を示す模式図である。 図14Bは、変形例2に係る所定のトラックの各セクタに設定した優先番号のテーブルの一例を示す模式図である。 図15は、ATC制御の一例を示す模式図である。 図16Aは、変形例3に係る訂正対象セクタの設定方法の一例を示す模式図である。 図16Bは、変形例3に係る所定のトラックの幾つかのセクタに設定した優先番号のテーブルの一例を示す模式図である。 図17は、変形例3に係る図7に示したチェッカの処理の一例を示す模式図である。
以下、実施の形態について図面を参照して説明する。なお、図面は、一例であって、発明の範囲を限定するものではない。
(第1実施形態)
図1は、第1実施形態に係る磁気ディスク装置1の構成を示すブロック図である。
磁気ディスク装置1は、後述するヘッドディスクアセンブリ(HDA)と、ドライバIC20と、ヘッドアンプ集積回路(以下、ヘッドアンプIC、又はプリアンプと称する場合もある)30と、揮発性メモリ70と、不揮発性メモリ80と、バッファメモリ(バッファ)90と、1チップの集積回路であるシステムコントローラ130とを備える。また、磁気ディスク装置1は、ホストシステム(ホスト)100と接続される。
HDAは、磁気ディスク(以下、ディスクと称する)10と、スピンドルモータ(SPM)12と、ヘッド15を搭載しているアーム13と、ボイスコイルモータ(VCM)14とを有する。ディスク10は、スピンドルモータ12に取り付けられ、スピンドルモータ12の駆動により回転する。アーム13及びVCM14は、アクチュエータを構成している。アクチュエータは、VCM14の駆動により、アーム13に搭載されているヘッド15をディスク10の所定の位置まで移動制御する。ディスク10およびヘッド15は、2つ以上の数が設けられてもよい。以下、磁気ディスク装置1の各部及び外部機器、例えば、ディスク10にライトするデータをライトデータと称する場合もあるし、磁気ディスク1装置1の各部及び外部機器、例えば、ディスク10からリードされたデータをリードデータと称する場合もある。ライトデータを単にデータと称する場合もあるし、リードデータを単にデータと称する場合もあるし、ライトデータ及びリードデータをまとめてデータと称する場合もある。
ディスク10は、その記録領域に、瓦記録(Shingled Magnetic Recording:SMR)領域10sと、メディアキャッシュ(media cache)領域10mと、が割り当てられている。以下、ディスク10の円周に沿う方向を円周方向と称し、円周方向に交差する方向を半径方向と称する。ディスク10の所定の円周方向の所定の位置を円周位置と称し、ディスク10の所定の半径方向の所定の位置を半径位置と称する。また、半径位置及び円周位置をまとめて単に位置と称する場合もある。
瓦記録領域10sは、ホスト100からライト要求されたユーザデータ等が記録される。メディアキャッシュ領域10mは、瓦記録領域10sのキャッシュとして利用され得る。瓦記録領域10sでは、トラックの一部に次にライトするトラックが重ね書きされる。そのため、瓦記録領域10sのトラック密度(Track Per Inch:TPI)は、重ね書きされていない記録領域のトラック密度よりも高くなる。瓦記録領域10sでは、半径方向において一方向に連続的に重ね書きされた複数のトラックをそれぞれ含む複数のトラック群が互いに間隔(ギャップ)を空けて配置される。以下で、半径方向において一方向に連続的に重ね書きされた複数のトラックを含むトラック群をバンド領域と称する。バンド領域は、一部に半径方向に隣接するトラック(以下、隣接トラックと称する場合もある)が重ね書きされた少なくとも1つのトラックと、最後に重ね書きされたトラック(以下、最終トラックと称する場合もある)とを含む。ここで、”隣接“とは、データ、物体、領域、及び空間等が接して並んでいることはもちろん、所定の間隔を置いて並んでいることも含む。最終トラックは、一部に他のトラックが重ね書きされていないため、一部に重ね書きされているトラックよりもトラックの半径方向の幅(以下、トラック幅と称する場合もある)が広い。なお、瓦記録領域10sでは、瓦記録型式ではない通常の記録型式でデータがライトされていてもよい。メディアキャッシュ領域10mは、システム管理に必要な情報がライトされる領域等として利用されてもよい。また、瓦記録型式あるいは通常の記録型式のいずれにおいてもメディアキャッシュ領域10mを備えていなくても良い。以下で、“トラック”は、“ディスク10の半径方向に区分した複数の領域の内の1つの領域”、“ディスク10の円周方向に沿ってライトされた1周分のデータ”、“ディスク10の円周方向に沿って1周する経路”や、その他の種々の意味で用いる。トラックは、複数のセクタを含む。“セクタ”は、“トラックを円周方向に区分した複数の領域の内の1つの領域”、“トラックを円周方向に区分した複数の領域の内の1つの領域にライトされたデータ”や、その他の種々の意味で用いる。所定のセクタに半径方向で隣接するセクタを“隣接セクタ”と称する場合もある。トラックの半径方向の幅をトラック幅と称する。所定のトラックの所定の円周位置におけるトラック幅の中心位置をトラックセンタと称する場合もあるし、所定のトラックにおいてトラック幅の中心を通る経路をトラックセンタと称する場合もある。また、”ライトされたトラック“を”ライトトラック“と称する。”隣接トラックが重ね書きされた領域を除いた残りのライトトラックの領域“を”リードトラック“と称する場合もある。また、”ライトトラック“を単に”トラック“と称する場合もあるし、”リードトラック“を単に”トラック“と称する場合もあるし、”ライトトラック“及び”リードトラック“をまとめて単に”トラック“と称する場合もある。“ライトトラックの半径方向の幅”を“ライトトラック幅”と称し、“リードトラックの半径方向の幅”を“リードトラック幅”と称する場合もある。“ライトトラック幅”及び“リードトラック幅”をまとめて“トラック幅”と称する場合もある。
ヘッド15は、スライダを本体として、当該スライダに実装されているライトヘッド15Wとリードヘッド15Rとを備える。ライトヘッド15Wは、ディスク10にデータをライトする。例えば、ライトヘッド15Wは、ディスク10に所定のトラックをライトする。リードヘッド15Rは、ディスク10に記録されているデータをリードする。例えば、リードヘッド15Rは、ディスク10の所定のトラックをリードする。
図2は、本実施形態に係るディスク10に対するヘッド15の配置の一例を示す模式図である。図2に示すように、半径方向においてディスク10の外周に向かう方向を外方向(外側)と称し、外方向と反対方向を内方向(内側)と称する。また、図2に示すように、円周方向において、ディスク10に対して右回り(時計回り)方向を右方向と称し、右回り方向と反対(反時計回り)方向を左方向と称する。円周方向において、ディスク10の回転する方向を回転方向と称する。なお、図2に示した例では、回転方向は、左方向(反時計回り方向)で示しているが、逆向き(右方向又は時計回り方向)であってもよい。
ヘッド15は、ディスク10に対してVCM14の駆動により内方向から外方向に向かって所定の位置に移動する、又は外方向から内方向に向かって所定の位置に移動する。
ディスク10は、パリティ領域PAを有している。パリティ領域PAは、ディスク10の内周から外周に向かって延出している。パリティ領域PAは、複数のパリティセクタを有している。例えば、複数のパリティセクタは、それぞれ、複数のパリティデータを有している。複数のパリティデータは、それぞれ、ディスク10にライトされた複数のトラックに対応している。したがって、パリティ領域PAは図示のようにディスク10の半径方向に連続的に設けても良いし、また、分散させて設けても良い。以下、“パリティセクタにライトされたパリティデータ“や”パリティデータ“を”パリティセクタ“と称する場合もある。ディスク10は、例えば、図示しない複数のサーボ領域も有している。複数のサーボ領域は、例えば、半径方向に放射状に延出して円周方向に所定の間隔を空けて離散的に配置されている。サーボ領域は、複数のサーボセクタを有している。ディスク10の瓦記録領域10sにおいて、パリティ領域PA及びサーボ領域以外の領域には、ユーザデータ等がライトされる。例えば、セクタは、サーボセクタとこのサーボセクタの直後に続くデータ部とを含む。
図3は、データがライトされた瓦記録領域10sの一例を示す模式図である。図3には、説明に必要な構成のみを示している。図3に示すように、半径方向において、シーケンシャルにデータをライト及びリードする方向を順方向と称する。順方向は、例えば、所定のトラックに他のトラックを重ね書きしていく方向に相当する。図3において、順方向は、内方向である。なお、順方向は、外方向であってもよい。図3に示すように、円周方向において、リード/ライトする方向をリード/ライト方向と称する。リード/ライト方向は、ディスク10に対してヘッド15の進行する方向に相当する。図3において、リード/ライト方向は、右方向である。なお、リード/ライト方向は、左方向であってもよい。
図3に示した例では、瓦記録領域10sは、バンド領域TGnを含む。図3では、バンド領域TGnにおける各トラックは、説明の便宜上、直線状に延出している。実際には、バンド領域TGnにおける各トラックは、ディスク10の形状に沿って湾曲している同心円状である。つまり、実際には、バンド領域TGnにおける各トラックの左方向の端部と右方向の端部とは、一致している。また、バンド領域TGnにおける各トラックは、実際には外乱やその他の構造等の影響によるずれ等が生じている。なお、瓦記録領域10sは、2つ以上のバンド領域を含んでいてもよい。
図3に示した例では、バンド領域TGnは、ライトトラックWTn、WTn+1、WTn+2、WTn+3、及びWTn+4を含む。ライトトラックWTn及びWTn+1は、互いに一部が重なっている。ライトトラックWTn+1及びWTn+2は、互いに一部が重なっている。ライトトラックWTn+2及びWTn+3は、互いに一部が重なっている。ライトトラックWTn+3及びWTn+4は、互いに一部が重なっている。バンド領域TGnでは、ライトトラックWTn乃至WTn+4が半径方向にこの順番で重ね書きされている。なお、バンド領域TGnは、5つのトラックを含むとしたが、5つよりも少ない数のトラックを含んでいてもよいし、5つよりも多い数のトラックを含んでいてもよい。
ライトトラックWTnは、トラックエッジEnAとトラックエッジEnBとを有している。図3に示した例では、トラックエッジEnAは、ライトトラックWTnの外方向の端部であり、トラックエッジEnBは、ライトトラックWTnの内方向(順方向)の端部である。ライトトラックWTn+1は、トラックエッジEn+1AとトラックエッジEn+1Bとを有している。図3に示した例では、トラックエッジEn+1Aは、ライトトラックWTn+1の外方向の端部であり、トラックエッジEn+1Bは、ライトトラックWTn+1の内方向(順方向)の端部である。ライトトラックWTn+2は、トラックエッジEn+2AとトラックエッジEn+2Bとを有している。図3に示した例では、トラックエッジEn+2Aは、ライトトラックWTn+2の外方向の端部であり、トラックエッジEn+2Bは、ライトトラックWTn+2の内方向(順方向)の端部である。ライトトラックWTn+3は、トラックエッジEn+3AとトラックエッジEn+3Bとを有している。図3に示した例では、トラックエッジEn+3Aは、ライトトラックWTn+3の外方向の端部であり、トラックエッジEn+3Bは、ライトトラックWTn+3の内方向(順方向)の端部である。ライトトラック(最終トラック)WTn+4は、トラックエッジEn+4AとトラックエッジEn+4Bとを有している。図3に示した例では、トラックエッジEn+4Aは、ライトトラックWTn+4の外方向の端部であり、トラックエッジEn+4Bは、ライトトラックWTn+4の内方向(順方向)の端部である。
ライトトラックWTnのライトトラック幅WWnは、トラックエッジEnA及びEnBの間の半径方向の長さである。ライトトラックWTn+1のライトトラック幅WWn+1は、トラックエッジEn+1A及びEn+1Bの間の半径方向の長さである。ライトトラックWTn+2のライトトラック幅WWn+2は、トラックエッジEn+2A及びEn+2Bの間の半径方向の長さである。ライトトラックWTn+3のライトトラック幅WWn+3は、トラックエッジEn+3A及びEn+3Bの間の半径方向の長さである。ライトトラックWTn+4のライトトラック幅WWn+4は、トラックエッジEn+4A及びEn+4Bの間の半径方向の長さである。ライトトラック幅WWn乃至WWn+4は、例えば、同等である。なお、ライトトラック幅WWn乃至WWn+4は、異なっていてもよい。
リードトラックRTnは、ライトトラックWTn+1が重ね書きされたライトトラックWTnの一部を除いた残りの領域である。リードトラックRTn+1は、ライトトラックWTn+2が重ね書きされたライトトラックWTn+1の一部を除いた残りの領域である。リードトラックRTn+2は、ライトトラックWTn+3が重ね書きされたライトトラックWTn+2の一部を除いた残りの領域である。リードトラックRTn+3は、ライトトラックWTn+4が重ね書きされたライトトラックWTn+3の一部を除いた残りの領域である。リードトラックRTn+4は、ライトトラックWTn+4に対応している。リードトラックRTn+4は、バンド領域TGnにおける最終トラックに相当する。
リードトラックRTnのリードトラック幅RWnは、トラックエッジEnA及びEn+1Aの間の半径方向の長さである。リードトラックRTn+1のリードトラック幅RWn+1は、トラックエッジEn+1A及びEn+2Aの間の半径方向の長さである。リードトラックRTn+2のリードトラック幅RWn+2は、トラックエッジEn+2A及びEn+3Aの間の半径方向の長さである。リードトラックRTn+3のリードトラック幅RWn+3は、トラックエッジEn+3A及びEn+4Aの間の半径方向の長さである。リードトラックRTn+4のリードトラック幅RWn+4は、トラックエッジEn+4A及びEn+4Bの間の半径方向の長さである。つまり、リードトラック幅RWn+4は、ライトトラック幅WWn+4と同等である。
ドライバIC20は、システムコントローラ130(詳細には、後述するMPU60)の制御に従って、SPM12およびVCM14の駆動を制御する。
ヘッドアンプIC(プリアンプ)30は、リードアンプ及びライトドライバを備えている。リードアンプは、ディスク10からリードしたリード信号を増幅して、システムコントローラ130(詳細には、後述するリード/ライト(R/W)チャネル40)に出力する。ライトドライバは、R/Wチャネル40から出力されるライトデータに応じたライト電流をヘッド15に出力する。
揮発性メモリ70は、電力供給が断たれると保存しているデータが失われる半導体メモリである。揮発性メモリ70は、磁気ディスク装置1の各部での処理に必要なデータ等を格納する。揮発性メモリ70は、例えば、DRAM(Dynamic Random Access Memory)、又はSDRAM(Synchronous Dynamic Random Access Memory)である。
不揮発性メモリ80は、電力供給が断たれても保存しているデータを記録する半導体メモリである。不揮発性メモリ80は、例えば、NOR型またはNAND型のフラッシュROM(Flash Read Only Memory :FROM)である。
バッファメモリ90は、磁気ディスク装置1とホスト100との間で送受信されるデータ等を一時的に記録する半導体メモリである。なお、バッファメモリ90は、揮発性メモリ70と一体に構成されていてもよい。バッファメモリ90は、例えば、DRAM、SRAM(Static Random Access Memory)、SDRAM、FeRAM(Ferroelectric Random Access memory)、又はMRAM(Magnetoresistive Random Access Memory)等である。
システムコントローラ(コントローラ)130は、例えば、複数の素子が単一チップに集積されたSystem-on-a-Chip(SoC)と称される大規模集積回路(LSI)を用いて実現される。システムコントローラ130は、リード/ライト(R/W)チャネル40、ハードディスクコントローラ(HDC)50、及びマイクロプロセッサ(MPU)60等を含む。R/Wチャネル40、HDC50、及びMPU60は、それぞれ、互いに電気的に接続されている。システムコントローラ130は、例えば、ドライバIC20、ヘッドアンプIC30、揮発性メモリ70、不揮発性メモリ80、バッファメモリ90、及びホストシステム100等に電気的に接続されている。
R/Wチャネル40は、後述するMPU60からの指示に応じて、ディスク10からホスト100に転送されるリードデータ及びホスト100から転送されるライトデータの信号処理を実行する。R/Wチャネル40は、リードデータの信号品質を測定する回路、又は機能を有している。R/Wチャネル40は、例えば、ヘッドアンプIC30、HDC50、及びMPU60等に電気的に接続されている。
HDC50は、後述するMPU60からの指示に応じて、ホスト100とR/Wチャネル40との間のデータ転送を制御する。HDC50は、例えば、R/Wチャネル40、MPU60、揮発性メモリ70、不揮発性メモリ80、及びバッファメモリ90等に電気的に接続されている。
MPU60は、磁気ディスク装置1の各部を制御するメインコントローラである。MPU60は、ドライバIC20を介してVCM14を制御し、ヘッド15の位置決めを行うサーボ制御を実行する。MPU60は、ドライバIC20を介してSPM12を制御し、ディスク10を回転させる。MPU60は、ディスク10へのデータのライト動作を制御すると共に、ホスト100から転送されるライトデータの保存先を選択する。また、MPU60は、ディスク10からのデータのリード動作を制御すると共に、ディスク10からホスト100に転送されるリードデータの処理を制御する。MPU60は、磁気ディスク装置1の各部に接続されている。MPU60は、例えば、ドライバIC20、R/Wチャネル40、及びHDC50等に電気的に接続されている。
MPU60は、リード/ライト制御部610、パリティデータ管理部620、及びエラー訂正制御部630等を含む。MPU60は、これら各部、例えば、リード/ライト制御部610、パリティデータ管理部620、及びエラー訂正制御部630等の処理をファームウェア上で実行する。なお、MPU60は、これら各部、例えば、リード/ライト制御部610、パリティデータ管理部620、及びエラー訂正制御部630を回路として備えていてもよい。
リード/ライト制御部610は、ホスト100等からのコマンドに従って、データのリード処理及びライト処理を制御する。リード/ライト制御部610は、ドライバIC20を介してVCM14を制御し、ヘッド15をディスク10上の所定の位置に位置決めし、データをリード又はライトする。例えば、リード/ライト制御部610は、ディスク10上に設けられているサーボセクタのデータをリードして得られるヘッド15の位置情報に基づいてシークして、所定のトラックの目標とする半径位置(以下、目標位置と称する場合もある)にヘッド15を位置決めし、所定の円周位置にデータをライトする、又は所定の円周位置からデータをリードする。言い換えると、リード/ライト制御部610は、シークして、目標とするトラック(以下、目標トラックと称する場合もある)にヘッド15を位置決めし、目標トラックの所定のセクタにデータをライトする、又は目標トラックの所定のセクタからデータをリードする。リード/ライト制御部610は、ディスク10と同心円状に並んでいる複数の円周位置のそれぞれに対応する複数の目標位置にヘッド15をそれぞれ位置決めして所定のトラックをライトする。以下、所定のトラックの各円周位置における各目標位置で示されるヘッド15の経路を目標経路と称する。瓦記録を実行する場合、リード/ライト制御部610は、所定のバンド領域の所定のセクタからシーケンシャルにデータをライトする。所定のバンド領域をリードする場合、リード/ライト制御部610は、このバンド領域の所定のセクタからシーケンシャルにデータをリードする。以下、”ヘッド15(ライトヘッド15W又はリードヘッド15R)の中心部を所定の位置に位置決め、又は配置する”ことを単に”ヘッド15(ライトヘッド15W又はリードヘッド15R)を所定の位置に位置決め、又は配置する”と称する場合もある。また、“ヘッド15(ライトヘッド15W又はリードヘッド15R)を所定の地祇に位置決め、又は配置する”ことを単に“位置決めする”又は“配置する”と称する場合もある。なお、リード/ライト制御部610は、隣接トラックの半径方向に他のトラックを重ね書きする瓦記録型式ではなく、隣接トラックから半径方向に所定の間隔を空けて他のトラックをライトする通常の記録型式でデータをライトしてもよい。
リード/ライト制御部610は、目標位置とヘッド15の実際の半径位置(以下、実位置と称する)との誤差(以下、オフセット量、位置決め誤差、又はずれ量と称する)に基づいて、ライト処理を制御する。例えば、リード/ライト制御部610は、前に、例えば、1つ前にライトしたトラック(以下、前のトラックと称する場合もある)に対応するオフセット量(以下、前のオフセット量と称する場合もある)に基づいて、現在ライトする前のトラックの半径方向(順方向)に隣接するトラック(以下、現在のトラックと称する場合もある)に対応するオフセット量(以下、現在のオフセット量と称する場合もある)の閾値(以下、DOL(Drift-Off Level)と称する)を設定する。以下、順方向に対して逆方向のDOLを単に“DOL”と称する場合もある。なお、順方向のDOLを“DOL”と称する場合もある。言い換えると、リード/ライト制御部610は、前のトラックの各セクタ(各隣接セクタ)における各前のオフセット量に基づいて、現在のトラックの各セクタにおける各DOLを設定する。現在のトラックの所定の円周位置で現在のトラックに対応するオフセット量がDOLを超えた(又は、より大きい)場合、リード/ライト制御部610は、ライト処理を中断(停止又は禁止)し、回転待ちをしてこの所定の円周位置から再度ライト処理を開始する。言い換えると、現在のトラックの所定のセクタにおける現在のオフセット量がこのセクタのDOLを超えた場合、リード/ライト制御部610は、このセクタへのライト処理を中断し、回転待ちをしてこのセクタから再度ライト処理を開始する。“所定の円周位置におけるオフセット量がこの円周位置のDOLを超えた場合にこの円周位置へのライト処理を停止し、回転待ちをしてこの円周位置から再度ライト処理を開始する処理”を“リトライ処理”と称する場合もある。このように、前のオフセット量と現在のオフセット量とに基づいてライト処理を制御する機能をDDOL(Dynamic Drift-Off Level)機能、又はDDOLと称する場合もある。
図4は、DDOLの一例を示す模式図である。
図4に示した例では、バンド領域TGmは、ライトトラックWTmと、ライトトラックWTm+1と、ライトトラックWTm+2とを示す。バンド領域TGmでは、ライトトラックWTm乃至WTm+2が順方向にこの順番で重ね書きされている。図4には、ライトトラックWTmにおける目標経路TWTm及び各円周位置における各実位置で示されるヘッド15の経路(以下、実経路と称する)SWTmを示している。ライトトラックWTmは、実経路SWTmにヘッド15を位置決めしてライトされている。ライトトラックWTmは、トラックエッジEmAを有している。トラックエッジEmAは、ライトトラックWTmの外方向の端部である。図4には、ライトトラックWTm+1における目標経路TWTm+1及び実経路SWTm+1を示している。ライトトラックWTm+1は、実経路SWTm+1にヘッド15を位置決めしてライトされている。ライトトラックWTm+1は、トラックエッジEm+1Aを有している。トラックエッジEm+1Aは、ライトトラックWTm+1の外方向の端部である。リードトラックRTmは、トラックエッジEmA及びEm+1Aの間に配置されている。図4には、ライトトラックWTm+2における目標経路TWTm+2及び実経路SWTm+2を示している。ライトトラックWTm+2は、実経路SWTm+2にヘッド15を位置決めしてライトされている。ライトトラックWTm+2は、トラックエッジEm+2Aを有している。トラックエッジEm+2Aは、ライトトラックWTm+1の外方向の端部である。リードトラックRTm+1は、トラックエッジEm+1A及びEm+2Aの間に配置されている。リードトラック幅RWcは、円周位置P0におけるリードトラックRTm+1の半径方向の長さである。リードトラック幅RWcは、例えば、リードトラックRTm+1をリード可能なリードトラック幅の下限値である。図4において、目標経路TWTm、TWTm+1、及びTWTm+2は、例えば、ディスク10と同心円状の経路である。
リード/ライト制御部610は、目標経路TWTmを追従するようにヘッド15、例えば、ライトヘッド15Wを位置決めしてライトトラックWTmをライトする。実際には、ライトトラックWTmをライトする場合、ライトヘッド15Wは、実経路SWTm上を走行する。そのため、リード/ライト制御部610は、実経路SWTmに基づいてライトトラックWTmをライトする。
リード/ライト制御部610は、目標経路TWTm+1を追従するようにライトヘッド15Wを位置決めしてライトトラックWTm+1をライトする。実際には、ライトトラックWTm+1をライトする場合、ライトヘッド15Wは、実経路SWTm+1上を走行する。そのため、リード/ライト制御部610は、実経路SWTm+1に基づいてライトトラックWTm+1をライトする。ライトトラックWTm+1をライトした際に、リード/ライト制御部610は、円周位置P0で順方向にオフセット量Dm+1でずれてライトしている。
リード/ライト制御部610は、目標経路TWTm+2を追従するようにヘッド15、例えば、ライトヘッド15Wを位置決めしてライトトラックWTm+2をライトする。実際には、ライトトラックWTm+2をライトする場合、ライトヘッド15Wは、実経路SWTm+2上を走行する。そのため、リード/ライト制御部610は、実経路SWTm+2に基づいてライトトラックWTm+2をライトする。ライトトラックWTm+2をライトした際に、リード/ライト制御部610は、円周位置P0で順方向に対して逆方向(外方向)にオフセット量Dm+2でずれてライトしている。
リード/ライト制御部610は、例えば、ライトトラックWTm+1の円周位置P0のオフセット量Dm+1に基づいてライトトラックWTm+2の円周位置P0におけるDOLを設定している。オフセット量Dm+2がライトトラックWTm+2の円周位置P0におけるDOLを超えている場合、リード/ライト制御部610は、ライト処理を中断(又は停止)し、ディスク10の回転待ちをしてライトトラックWTm+2の円周位置P0からライト処理を再開する。
パリティデータ管理部620は、排他的論理和(Exclusive OR:XOR)演算により取得したXOR演算値(以下、パリティデータ又は演算値と称する)を管理する。例えば、パリティデータ管理部620は、ホスト100から転送されたデータ、又はディスク10からリードしたデータにXOR演算を実行し、XOR演算の結果としてパリティデータを取得する。パリティデータ管理部620は、リード/ライト制御部610を介してパリティデータをディスク10の所定のトラックの所定のセクタ、例えば、パリティセクタ(パリティ領域PA)にライトする。一例では、パリティデータ管理部620は、所定のトラックからリードした、又は所定のトラックにライトする全てセクタのデータにXOR演算を実行し、全てのセクタのデータに対するXOR演算の結果として取得したパリティデータをこのトラックのパリティセクタにライトする。パリティデータ管理部620は、例えば、所定のトラックにおいてこのトラックの1周に亘ってライトするデータのライト処理を開始したセクタ(以下、開始セクタを称する場合もある)の直前に位置するサーボセクタ以外のセクタをパリティセクタとしてパリティデータをライトする。言い換えると、パリティデータ管理部620は、例えば、所定のトラックにおいてこのトラックの1周に亘ってライトするデータのライト処理を終了したセクタ(以下、終了セクタと称する場合もある)の直後に位置するサーボセクタ以外のセクタをパリティセクタとしてパリティデータをライトする。パリティデータ管理部620は、ディスク10の各トラックに対応する各パリティデータを各トラックに対応する各パリティセクタにライトする。なお、パリティデータ管理部620は、パリティデータが有効であるか有効でないかをテーブル等で管理していてもよい。また、パリティデータ管理部620は、所定のトラックの全てのセクタの内の幾つかのセクタ毎のデータにXOR演算を実行し、幾つかのセクタのデータに対するXOR演算の結果として取得したパリティデータを所定の記録領域、例えば、瓦記録領域10s、メディアキャッシュ10m、揮発性メモリ70、不揮発性メモリ80、又はバッファメモリ90に記録してもよい。
エラー訂正制御部630は、リード処理時に、リードできない、又は所定の回数以上リードしてもリードできないセクタ(以下、リードエラーセクタと称する)にライトされたデータ(以下、リードエラーデータと称する)を検出し、検出したリードエラーデータのエラーを訂正する(以下、エラー訂正、又は訂正と称する)。以下、“リードエラーセクタにライトされたリードエラーデータ”及び“リードエラーデータ”を“リードエラーセクタ”と称する場合もある。エラー訂正制御部630は、例えば、トラック単位でエラー訂正を実行する。所定のトラックでリードエラーセクタを検出した場合、エラー訂正制御部630は、このトラックに対応するパリティデータ(パリティセクタ)に基づいて、検出したリードエラーセクタを訂正する。パリティデータ(パリティセクタ)に基づいてリードエラーセクタのエラー訂正を実行する処理をTrack ECC(Track Error Correction Code)と称する場合もある。エラー訂正制御部630は、所定のトラックに対応するパリティデータに基づいて、このトラックに生じた複数のリードエラーセクタの内の所定の数(以下、訂正セクタ数と称する場合もある)のリードエラーセクタのエラー訂正を実行できる。一例では、エラー訂正制御部630は、所定のトラックに対応するパリティデータに基づいて、5つ(訂正セクタ数=5)のリードエラーセクタのエラー訂正を実行できる。なお、エラー訂正制御部630は、所定のトラックに対応するパリティデータに基づいて、5つより少ない訂正セクタ数(訂正セクタ数<5)のリードエラーセクタのエラー訂正が可能であってもよいし、6つ以上(訂正セクタ数≧6)のリードエラーセクタのエラー訂正が可能であってもよい。なお、エラー訂正制御部630は、誤り訂正符号に基づいてエラー訂正を実行してもよい。
エラー訂正制御部630は、所定のトラックの複数のセクタ、例えば、全てのセクタにエラー訂正を優先的に実行する順番(以下、優先番号と称する場合もある)を設定(又は決定)する。優先番号は、エラー訂正を実行する優先度(以下、訂正対象優先度と称する場合もある)の高い番号程小さい。エラー訂正制御部630は、前のトラックの各セクタの各オフセット量、又は現在のトラックの各セクタの各DOLに基づいて、前のトラックの各セクタに優先番号を設定する。例えば、エラー訂正制御部630は、順方向へのオフセット量が大きい順に前のトラックの各セクタに優先番号を設定する。例えば、エラー訂正制御部630は、順方向に隣接する現在のトラックのセクタにおけるDOLが小さい順に前のトラックの各セクタに優先番号を設定する。エラー訂正制御部630は、前のトラックの各セクタと前のトラックの各セクタに設定した優先番号とを関連付けて所定の記録領域、例えば、メディアキャッシュ領域10m、揮発性メモリ70、又は不揮発性メモリ80等にテーブルとして記録していてもよい。エラー訂正制御部630は、現在のトラックの各セクタの各DOLと現在のトラックにおける前のトラック側、つまり、順方向に対して逆方向への最大のオフセット量の推定値(以下、最大オフセット推定値と称する場合もある)とに基づいて、優先番号の小さい(又は若い)番号から順に所定の優先番号までの前のトラックの少なくとも1つのセクタをリードエラーとなった際にエラー訂正を実行するセクタ(以下、訂正対象セクタと称する場合もある)に設定する。最大オフセット推定値は、例えば、所定のトラックにおいて一定である。なお、最大オフセット推定値は、所定のトラックにおいてセクタ毎に変化していてもよい。エラー訂正制御部630は、試験等で各ヘッド15及び各ディスク10の各トラックに対応する最大オフセット推定値を測定又は算出し、測定又は算出した各ヘッド15及び各ディスク10の各トラックに対応する最大オフセット推定値を所定の記録領域、例えば、メディアキャッシュ領域10m、揮発性メモリ70、又は不揮発性メモリ80等に記録しておいてもよい。例えば、エラー訂正制御部630は、最大オフセット推定値よりDOLが小さい現在のトラックの少なくとも1つのセクタにそれぞれ対応する前のトラックの少なくとも1つのセクタの内の優先番号の小さいセクタから順に訂正セクタ数までの前のトラックの少なくとも1つのセクタを訂正対象セクタに設定する。エラー訂正制御部630は、少なくとも1つの訂正対象セクタを所定の記録領域、例えば、メディアキャッシュ領域10m、揮発性メモリ70、又は不揮発性メモリ80等にテーブルとして記録しておいてもよい。エラー訂正制御部630は、少なくとも1つの訂正対象セクタの順方向に隣接する現在のトラックの少なくとも1つのセクタを訂正対象関連セクタに設定する。エラー訂正制御部630は、所定の訂正対象関連セクタにデータをライトしている際に、この訂正対象関連セクタにおけるオフセット量がこの訂正対象関連セクタに対応するDOLを超えた場合、「この訂正対象関連セクタへのライト処理を中断(停止又は禁止)し、回転待ちをしてこの訂正対象関連セクタからライト処理を再開する処理(リトライ処理)」を抑制又は停止する。言い換えると、エラー訂正制御部630は、所定の訂正対象関連セクタにデータをライトしている際に、この訂正対象関連セクタにおけるオフセット量がこの訂正対象関連セクタにけるDOLを超えてもライト処理を継続する。エラー訂正制御部630は、所定の訂正対象セクタがリードエラーセクタであると判定した場合、リードエラーセクタであると判定した訂正対象セクタにエラー訂正を実行する。エラー訂正制御部630は、前のトラックの訂正対象セクタ以外の少なくとも1つのセクタをオフセット量がDOLを超えた際にリトライ処理を実行するセクタ(以下、非対象セクタと称する場合もある)に設定する。なお、前のトラックの訂正対象セクタ以外、且つ最大オフセット推定値以下である前のトラックの少なくとも1つのセクタを非対象セクタに設定してもよい。エラー訂正制御部630は、少なくとも1つの非対象セクタの順方向に隣接する現在のトラックの少なくとも1つのセクタを非対象関連セクタに設定する。エラー訂正制御部630は、少なくとも1つの非対象セクタを所定の記録領域、例えば、メディアキャッシュ領域10m、揮発性メモリ70、又は不揮発性メモリ80等にテーブルとして記録しておいてもよい。エラー訂正制御部630は、少なくとも1つの非対象関連セクタにデータをライトしている際に、所定の非対象関連セクタにおけるオフセット量がこの非対象関連セクタにおけるDOLを超えた場合、この非対象関連セクタへのライト処理を中断し、回転待ちをしてこの非対象関連セクタからライト処理を再開するリトライ処理を実行する。
図5は、本実施形態に係るトラック単位のエラー訂正の方法の一例を示す模式図である。
図5には、トラックTRnを示している。トラックTRnは、所定のバンド領域の1つのライトトラック又はリードトラックであってもよいし、通常の記録型式でライトされたトラックであってもよい。例えば、トラックTRnは、図3に示したライトトラックWTnであってもよいし、図3に示したリードトラックRTnであってもよい。図5において、トラックTRnは、ディスク10と同心円状であるが、円状以外の形状であってもよい。トラックTRnは、セクタSn0、Sn1、Sn2、Sn3、Sn4、Sn5、Sn6、Sn7、Sn8、Sn9、…、Snn、及び、パリティセクタPSnを含む。図5において、セクタSn0が開始セクタに相当し、セクタSnnが終了セクタに相当する。なお、トラックTRnは、他のセクタをさらに含んでいてもよいし、セクタSn0乃至セクタSnnの内のいくつかのセクタを含んでいなくともよい。図5において、セクタSn8は、リードエラーセクタである。
リード/ライト制御部610は、例えば、トラックTRnにおいて最初にセクタSn0にユーザデータをライトする。リード/ライト制御部610は、セクタSn0からセクタSnnまでリード/ライト方向にユーザデータをライトする。
パリティデータ管理部620は、セクタSn0乃至Snnにそれぞれ対応する複数のユーザデータにXOR演算を実行し、セクタSn0乃至Snnにそれぞれ対応する複数のユーザデータに対するXOR演算の結果としてパリティデータを算出する。
パリティデータ管理部620は、トラックTRnにおいて最後にユーザデータをライトしたセクタSnnのリード/ライト方向の次に位置する(隣接する)パリティセクタPSnにセクタSn0乃至Snnに対応するパリティデータをライトする。
リード/ライト制御部610は、リード/ライト方向に沿ってセクタSn0からセクタSnnまでリードする。
エラー訂正制御部630は、リードエラーセクタSn8のリードエラーデータを検出し、パリティセクタPSnにライトしたパリティデータに基づいて、リードエラーセクタSn8にライトされたリードエラーデータを訂正する。
図6Aは、本実施形態に係る訂正対象セクタの設定方法の一例を示す模式図である。図6Bは、本実施形態に係る所定のトラックの各セクタに設定した優先番号のテーブルTB1の一例を示す模式図である。図6Aには、トラックTR0と、トラックTR1とを示している。図6Aには、トラックTR0をライト後に、トラックTR0の順方向に隣接するトラックTR1のライト処理を開始する状態を示している。つまり、トラックTR1を現在のトラックとすると、トラックTR0は前のトラックに相当する。トラックTR0は、セクタSc00、Sc01、Sc02、Sc03、Sc04、Sc05、Sc06、Sc07、Sc08、Sc09、…、及び、パリティセクタPc0を有している。なお、トラックTR1は、セクタSc00乃至Sc09及びパリティセクタPc0以外にも複数のセクタを有していてもよいし、セクタSc00乃至Sc09の内の幾つかのセクタを有していなくともよい。図6Aにおいて、セクタSc00乃至Sc09は、リード/ライト方向に向かって連続的に並んでいる。つまり、セクタSc00のリード/ライト方向にセクタSc01が隣接し、セクタSc01のリード/ライト方向にセクタSc02が隣接し、セクタSc02のリード/ライト方向にセクタSc03が隣接し、セクタSc03のリード/ライト方向にセクタSc04が隣接し、セクタSc04のリード/ライト方向にセクタSc05が隣接し、セクタSc05のリード/ライト方向にセクタSc06が隣接し、セクタSc06のリード/ライト方向にセクタSc07が隣接し、セクタSc07のリード/ライト方向にセクタSc08が隣接し、セクタSc08のリード/ライト方向にセクタSc09が隣接している。図6Aには、トラックTR0をライトする際の目標経路(トラックセンタ)TRC0と、トラックTR0をライトした際の実経路SP0とを示している。図6Aにおいて、目標経路TRC0は、例えば、ディスク10と同心円状の経路である。実経路SP0は、円周方向に延出し、半径方向において目標経路TRC0に対して変動している。実経路SP0は、セクタSc00乃至Sc09の中心部を通る経路に相当する。トラックTR1は、セクタSc10、Sc11、Sc12、Sc13、Sc14、Sc15、Sc16、Sc17、Sc18、及びSc19を有している。なお、トラックTR1は、セクタSc10乃至Sc19以外にも複数のセクタを有していてもよいし、セクタSc10乃至Sc19の内の幾つかのセクタを有していなくともよい。図6Aにおいて、セクタSc10乃至Sc19は、リード/ライト方向に向かって連続的に並んでいる。つまり、セクタSc10のリード/ライト方向にセクタSc11が隣接し、セクタSc11のリード/ライト方向にセクタSc12が隣接し、セクタSc12のリード/ライト方向にセクタSc13が隣接し、セクタSc13のリード/ライト方向にセクタSc14が隣接し、セクタSc14のリード/ライト方向にセクタSc15が隣接し、セクタSc15のリード/ライト方向にセクタSc16が隣接し、セクタSc16のリード/ライト方向にセクタSc17が隣接し、セクタSc17のリード/ライト方向にセクタSc18が隣接し、セクタSc18のリード/ライト方向にセクタSc19が隣接している。図6Aにおいて、セクタSc10は、セクタSc00の順方向に隣接し、セクタSc11は、セクタSc01の順方向に隣接し、セクタSc12は、セクタSc02の順方向に隣接し、セクタSc13は、セクタSc03の順方向に隣接し、セクタSc14は、セクタSc04の順方向に隣接し、セクタSc15は、セクタSc05の順方向に隣接し、セクタSc16は、セクタSc06の順方向に隣接し、セクタSc17は、セクタSc07の順方向に隣接し、セクタSc18は、セクタSc08の順方向に隣接し、セクタSc19は、セクタSc09の順方向に隣接している。図6Aには、トラックTR1の目標経路(トラックセンタ)TRC1を示している。図6Aにおいて、目標経路TRC1は、例えば、ディスク10と同心円状の経路である。図6Aでは、説明の便宜上、セクタSc10乃至Sc19を目標経路TRC1に沿って配置しているが、実際にトラックTR1がライトされた際にはセクタSc10乃至Sc19はそれぞれ目標経路TRC1に対してずれて配置され得る。図6Aには、トラックTR1における最大オフセット推定値OT1を示している。また、図6Aには、セクタSc10におけるDOL DL10と、セクタSc11におけるDOL DL11と、セクタSc12におけるDOL DL12と、セクタSc13におけるDOL DL13と、セクタSc14におけるDOL DL14と、セクタSc15におけるDOL DL15と、セクタSc16におけるDOL DL16と、セクタSc17におけるDOL DL17と、セクタSc18におけるDOL DL18と、セクタSc19におけるDOL DL19と、を示している。図6Aにおいて、DL14>DL15>DL13>DL10>DL16>DL11>DL19>DL12>DL17>DL18である。図6Bには、前のトラックの各セクタの各セクタ番号と前のトラックの各セクタに各セクタ番号に対応する各優先番号と含むテーブルTB1を示している。セクタ番号は、例えば、半径方向に並ぶセクタで同じになる。
図6Aに示した例では、エラー訂正制御部630は、トラックTR0をライトした後にトラックTR0の順方向にトラックTR1をライトする際(又は前)に、トラックTR0の各セクタ、例えば、セクタSc00乃至Sc09の各オフセット量に基づいて、セクタSc10乃至Sc19の順方向に対して逆方向にそれぞれ隣接するセクタSc00乃至Sc09に優先番号を設定する。なお、エラー訂正制御部630は、トラックTR0をライトした後にトラックTR0の順方向にトラックTR1をライトする際(又は前)に、トラックTR1の各セクタ、例えば、セクタSc10乃至Sc19の各DOL、例えば、DOL DL10乃至DL19に基づいて、セクタSc10乃至Sc19の順方向に対して逆方向にそれぞれ隣接するセクタSc00乃至Sc09に優先番号を設定してもよい。エラー訂正制御部630は、セクタSc08に優先番号0を設定し、セクタSc07に優先番号1を設定し、セクタSc02に優先番号2を設定し、セクタSc09に優先番号3を設定し、セクタSc01に優先番号4を設定し、セクタSc06に優先番号5を設定し、セクタSc00に優先番号6を設定し、セクタSc03に優先番号7を設定し、セクタSc05に優先番号8を設定し、セクタSc04に優先番号9を設定する。エラー訂正制御部630は、図6Bに示すように、セクタSc00乃至Sc09とセクタSc00乃至Sc09にそれぞれ設定した優先番号と関連付けてテーブルTB1として所定の記録領域、例えば、メディアキャッシュ領域10m、揮発性メモリ70、又は不揮発性メモリ80等に記録する。エラー訂正制御部630は、最大オフセット推定値OT1よりも小さいDOL DL10、DL11、DL12、DL13、DL16、DL17、DL18、及びDL19にそれぞれ対応するセクタSc10、Sc11、Sc12、Sc13、Sc16、Sc17、Sc18、及びSc19の順方向に対して逆方向にそれぞれ隣接する前のトラックのセクタSc00、Sc01、Sc02、Sc03、Sc06、Sc07、Sc08、及びSc09の内の優先番号の小さい番号から順に訂正セクタ数、例えば、5のセクタSc08、Sc07、Sc02、Sc09、及びSc01を訂正対象セクタに設定する。エラー訂正制御部630は、訂正対象セクタSc08、Sc07、Sc02、Sc09、及びSc01の順方向にそれぞれ隣接するセクタSc18、Sc17、Sc12、Sc19、及びSc11を訂正対象関連セクタに設定する。
エラー訂正制御部630は、トラックTR1のライト処理を開始した際に、訂正対象関連セクタSc18、Sc17、Sc12、Sc19、又はSc11におけるオフセット量が訂正対象関連セクタSc18、Sc17、Sc12、Sc19、又はSc11におけるDOL DL18、DL17、DL12、DL19、又はDL11を超えたとしても、訂正対象関連セクタSc18、Sc17、Sc12、Sc19、又はSc11へのライト処理を継続する。エラー訂正制御部630は、訂正対象セクタSc08、Sc07、Sc02、Sc09、及びSc01の少なくとも1つのセクタがリードエラーセクタであると判定した場合、パリティセクタPc0に基づいてリードエラーセクタであると判定した少なくとも1つのセクタにエラー訂正を実行する。
エラー訂正制御部630は、トラックTR1のライト処理を開始した際に、非対象関連セクタSc10、Sc13、Sc14、Sc15、又はSc16におけるオフセット量が非対象関連セクタSc10、Sc13、Sc14、Sc15、又はSc16におけるDOL DL10、DL13、DL14、DL15、又はDL16を超えた場合、非対象関連セクタSc10、Sc13、Sc14、Sc15、又はSc16へのライト処理を中断し、回転待ちをして非対象関連セクタSc10、Sc13、Sc14、Sc15、又はSc16からライト処理を再開するリトライ処理を実行する。
前述したように、現在のトラックのDOLの小さいセクタに順方向に対して逆方向に隣接する前のトラックのセクタをエラー訂正の対象として、このDOLの小さい現在のトラックのセクタにおいてリトライ処理を抑制することで、リトライ処理の発生頻度を軽減できる。また、リトライ処理の発生頻度を軽減可能なことにより、各セクタを連続的にライトすることで途切れることなく滑らかなトラックをライトすることが可能となる。そのため、ライト性能を向上することが可能となる。
図7は、本実施形態に係るライト処理時のヘッド15の位置決め制御系SYの一例を示すブロック図である。
磁気ディスク装置1は、ライト処理時のヘッド15の位置決め制御系(以下、ライト制御系と称する)SYを有している。ライト制御系SYは、変換器A1と、制御器A2と、アクチュエータA3と、メモリA4と、演算比較器A5と、論理積回路器A6と、チェッカ(Checker)A7と、テーブルB1と、論理積回路器A8と、カウンタA9と、演算比較器A10と、演算器CL1、CL2、及びCL3とを有している。変換器A1、制御器A2、メモリA4、演算比較器A5、論理積回路器A6、チェッカ(Checker)A7、テーブルB1、論理積回路器A8、カウンタA9、演算比較器A10、演算器CL1、演算器CL2、及び演算器CL3は、例えば、システムコントローラ130、メディアキャッシュ10m、揮発性メモリ70、不揮発性メモリ80、及びバッファメモリ90に含まれている。アクチュエータA3は、例えば、アーム13及びVCM14等で構成されている。メモリA4は、例えば、揮発性メモリ70、不揮発性メモリ80、又はバッファメモリ90に含まれている。テーブルB1は、例えば、テーブルTB1に対応していてもよい。演算器CL1、制御器A2、及びアクチュエータA3は、フィードバックシステムを構成している。
図7において、現在のトラック(トラック番号C)においてライトしている所定のセクタ(以下、現在のセクタと称する場合もある)(C,S)と、現在のセクタに対応するセクタ番号Sと、現在のセクタ(C,S)における目標位置Xと、現在のセクタにおけるオフセット量X1(C,S)と、現在のセクタ(C,S)の順方向に対して逆方向に隣接する前のトラック(トラック番号C−1)の所定のセクタ(以下、前のセクタと称する場合もある)(C−1,S)におけるオフセット量X0(C−1,S)及びトラックC−1における全セクタ(セクタ数Ns)のオフセット量のセットX0(C−1,[0,1,2,....,Ns−1])は、いずれも、ライト制御系SY内で信号(又は、情報)として処理される。また、全セクタの基準DOL(以下、基準DOLと称する場合もある) D0と、オフセット量X0(C−1,S)で補正された現在のセクタ(C、S)のDOL D1(C,S)と、現在のセクタ(C,S)においてDOLを超えたことを示すフラグF0と、Track ECCでの訂正を前提としたライト禁止抑制機能を無効にしたことを示すフラグF1と、ライトを禁止することを示すフラグF2と、訂正対象セクタを示すフラグF3と、現在のセクタ(C,S)においてDOLを超えたことが有効であることを示すフラグF4と、訂正対象セクタの数Nと、訂正対象セクタの数の上限値N0と、現在のセクタにおけるライト誤差(オフセット量)eと、現在のセクタにおけるライト駆動量Uと、現在のセクタにおけるヘッド15の実位置Yとも、それぞれ、ライト制御系SY内で信号(又は、情報)として処理される。セクタ番号Sは、半径方向において隣接するセクタ同士で同じ番号になり得る。オフセット量X0(C−1,S)は、前のセクタ(C−1,S)におけるオフセット量X1(C−1,S)(図示されない)に相当する。トラックC−1における全セクタのオフセット量X0(C−1,[0,1,2,....,Ns−1])は、前のトラックC−1における全セクタのオフセット量X1(C−1,[0,1,2,....,Ns−1])(図示されない)に相当する。オフセット量X1(C,S)は、現在のセクタにおける位置誤差信号に相当する。
変換器A1は、上位装置、例えば、ホスト100から指定されたディスク10の論理的な位置(以下、論理位置と称する)に対応する物理的な位置(以下、物理位置と称する)をディスク10の半径位置に変換する。論理位置は、例えば、論理ブロックアドレス(LBA)であってもよいし、物理位置は、例えば、ディスク10の物理位置を示すサーボ情報配列であってもよい。変換器A1は、例えば、ホスト100から指定されたLBAに対応するサーボ情報配列(C:トラック又はシリンダ,S:セクタ)からヘッド15を位置決めするディスク10の同心円状の複数のトラックの内のトラックCとトラックCの複数のセクタの内の現在のセクタに対応するセクタ番号Sとの組み合わせ(C,S)を現在のセクタに対応するセクタ番号Sにおける目標位置Xに変換する。
制御器A2は、アクチュエータA3を制御する。制御器A2は、例えば、目標位置X及び実位置Yの差分値であるライト誤差eに基づいて、アクチュエータA3のライト処理時のヘッド15の駆動量(以下、ライト駆動量と称する)Uを生成する。なお、制御器A2は、ライト誤差e以外の値に基づいて、ライト駆動量Uを生成してもよい。
アクチュエータA3は、制御器A2の出力に応じて駆動する。アクチュエータA3は、例えば、ライト駆動量Uに基づいて駆動し、現在のセクタにおいてヘッド15を実位置Yに移動する。
メモリA4は、前のトラックC−1をライトした際の各セクタ(C−1,S)の各位置誤差信号(オフセット量)X1(C−1,S)(図示しない)が格納されており、ホスト100から指定されたLBAに対応するサーボ情報配列(C,S)に対して、前のトラックC−1における全セクタのオフセット量のセットX0(C−1,[0,1,2,....,Ns−1])あるいはそのうち前のセクタ(C−1,S)のオフセット量X0(C−1,S)として出力する。また、セクタ(C,S)をライトした際にはオフセット量X1(C,S)が新たに格納される。
演算比較器A5は、現在のセクタにおけるDOL D1(C,S)と現在のセクタにおけるオフセット量X1(C,S)とを比較してオフセット量X1(C,S)がDOL D1(C,S)を超えた場合にはフラグF0を生成する。
論理積回路器A6は、フラグF0及びF1が入力された場合にフラグF2を生成する。
チェッカA7は、前のトラックC−1における全セクタのオフセット量X0(C−1,[0,1,2,....,Ns−1])の大きい順(又は、現在のトラックCにおける全セクタのDOL D1(C,[0,1,2,....,Ns−1])の小さい順)にセクタ番号に優先番号を設定し、前のトラックの各セクタの各セクタ番号と前のトラックC−1の各セクタの各セクタ番号に対応する各優先番号とを関連付けたテーブルB1を生成する。チェッカA7は、現在のセクタ(C,S)のセクタ番号SとテーブルB1とを比較して前のセクタ(C−1,S)が訂正対象セクタである場合にフラグF3を生成する。
論理積回路器A8は、フラグF0及びF3が入力された場合にフラグF4を生成する。
カウンタA9は、前のトラックC−1上の訂正対象セクタの数Nをカウントする。
演算比較器A10は、前のトラックC−1上の訂正対象セクタの数Nと訂正対象セクタの数の上限値N0とを比較して訂正対象セクタの数Nが訂正対象セクタの数の上限値N0を超えている場合にフラグF1を生成する。
データをライトするディスク10の論理位置、例えば、LBAが上位装置、例えば、ホスト100により指定された場合、ライト制御系SYは、LBAを物理位置(C,S)に予め変換し、現在のセクタ(C,S)を変換器A1及びメモリA4に出力し、現在のセクタのセクタ番号SをチェッカA7に出力する。変換器A1は、位置(C,S)が入力される。変換器A1は、位置(C,S)を目標位置Xに変換し、演算器CL1及びCL2に出力する。演算器CL1は、目標位置X及び実位置Yが入力される。演算器CL1は、目標位置X及び実位置Yの差分からライト誤差eを算出し、算出したライト誤差eを制御器A2に出力する。制御器A2は、ライト誤差eが入力される。制御器A2は、ライト駆動量UをアクチュエータA3に出力する。アクチュエータA3は、ライト駆動量Uが入力される。アクチュエータA3は、ライト駆動量Uに応じて駆動し、ライト駆動量Uに対応する実位置Yにヘッド15、例えば、ライトヘッド15Wを移動する。アクチュエータA3は、実位置Yを演算器CL1及びCL2に出力する。
演算器CL2は、目標位置X及び実位置Yが入力される。演算器CL2は、目標位置X及び実位置Yの差分からオフセット量X1(C,S)を算出し、算出したオフセット量X1(C,S)を演算比較器A5に出力する。メモリA4は、現在のセクタ(C,S)が入力される。メモリA4は、現在のトラックCの順方向に対して逆方向に隣接する前のトラックC−1上の全セクタ(C−1,[0,1,2,...,Ns−1])のオフセット量のセットX0(C−1,[0,1,2,...,Ns−1])を、チェッカA7に出力する。また、メモリA4は、現在のセクタ(C,S)の順方向に対して逆方向に隣接する前のセクタのオフセット量X0(C−1,S)を演算器CL3に出力する。演算器CL3は、オフセット量X0(C−1,S)及び基準DOL D0が入力される。演算器CL3は、オフセット量X0(C−1,S)に基準DOL D0を加算した現在のセクタに対応するDOL D1(C,S)を演算比較器A5に出力する。演算比較器A5は、オフセット量X1(C,S)及び現在のセクタにおけるDOL D1(C,S)が入力される。演算比較器A5は、オフセット量X1(C,S)と現在のセクタにおけるDOL D1(C,S)とを比較してオフセット量X1(C,S)が現在のセクタにおけるDOL D1(C,S)を超えている場合にフラグF0を論理積回路器A6及びA8に出力する。
チェッカA7は、セクタ番号SとトラックC−1上の全セクタ(C−1,[0,1,2,...,Ns−1])のオフセット量のセットX0(C−1,[0,1,2,...,Ns−1])とが入力される。チェッカA7は、テーブルB1から前のセクタ(C−1,S)が訂正対象セクタである場合にフラグF3を論理積回路器A8に出力する。論理積回路器A8は、フラグF0及びF3が入力される。論理積回路器A8は、フラグF0及びF3が入力された場合にカウンタA9にフラグF4を出力する。カウンタA9は、フラグF4が入力される。カウンタA9は、訂正対象セクタの数Nをカウントし、訂正対象セクタの数Nを演算比較器A10に出力する。演算比較器A10は、訂正対象セクタの数Nと訂正対象セクタの数の上限値N0とが入力される。演算比較器A10は、訂正対象セクタの数Nと訂正対象セクタの数の上限値N0とを比較して訂正対象セクタの数Nが訂正対象セクタの数の上限値N0より大きい場合にフラグF1を論理積回路器A6に出力する。論理積回路器A6は、フラグF0及びF1が入力される。論理積回路器A6は、フラグF0及びF1が入力された場合にフラグF2を出力する。
図8は、図7に示したチェッカA7の処理の一例を示す模式図である。図8において、テーブルB1は、テーブルB11、及びテーブルB12を含む。テーブルB11は、前のトラックC−1に含まれる全セクタ(セクタ数Ns)のセクタ番号S(S=0,1,2,....,Ns−1)と、これに対応する前のセクタにおけるオフセット量X0(C−1,S)とを有している。テーブルB11において、セクタ番号Ns−1は、セクタ番号102よりも大きい。テーブルB12は、優先番号Np(Np=0,1,2,....,PNn−1)と、セクタ番号Sとを有している。一般的に優先番号の個数PNnは全セクタ数Nsに等しい。テーブルB12において、優先番号PNk−1は、優先番号3よりも大きく、優先番号PNkは、優先番号PNk−1よりも大きく、優先番号PNn−1は、優先番号PNkよりも大きい。
チェッカA7は、セクタ番号S及び前のトラックC−1上の全セクタ(C−1,[0,1,2,...,Ns−1])のオフセット量のセットX0(C−1,[0,1,2,...,Ns−1])が入力され、テーブルB11を生成する。チェッカA7は、テーブルB11においてオフセット量X0(C−1,S)の大きい順にセクタ番号Sを並び変える。チェッカA7は、テーブルB11においてオフセット量X0(C−1,S)の大きい順にセクタ番号Sに優先番号Npを設定する。あるいは、チェッカA7は、セクタ番号S及び前のセクタのオフセット量X0(C−1,S)に基づいて、現在のセクタ(C,S)におけるDOL D1(C,S)を生成して、セクタ番号Sとオフセット量X0(C−1,S)と現在のセクタ(C,S)におけるDOL D1(C,S)とを関連付けてテーブルB11に記録する。チェッカA7、テーブルB11において現在のセクタ(C,S)のDOL D1(C,S)の小さい順にセクタ番号Sを並び変える。チェッカA7は、テーブルB11において現在のセクタ(C,S)のDOL D1(C,S)の小さい順にセクタ番号Sに優先番号Npを設定してもよい。
図9は、本実施形態に係るライト処理方法の一例を示すフローチャートである。
MPU60は、前のトラックの各セクタにおける各オフセット量、又は現在のトラックの各セクタにおける各DOLに基づいて、前のトラックの各セクタに優先番号を設定する(B901)。MPU60は、現在のトラックの各セクタにおける各DOLと現在のトラックにおける最大オフセット推定値とに基づいて、優先番号の小さい番号から順に所定の優先番号までの前のトラックの少なくとも1つのセクタを訂正対象セクタに設定する(B902)。例えば、MPU60は、現在のトラックの各セクタにおける各DOLと現在のトラックにおける最大オフセット推定値とに基づいて、優先番号の小さい番号から順に訂正セクタ数までの前のトラックの少なくとも1つのセクタを訂正対象セクタに設定する。MPU60は、現在のセクタにおけるオフセット量が現在のセクタにおけるDOLよりも大きいかDOL以下であるかを判定する(B903)。現在のセクタにおけるオフセット量が現在のセクタにおけるDOL以下であると判定した場合(B903のNO)、MPU60は、処理を終了する。現在のセクタにおけるオフセット量が現在のセクタにおけるDOLよりも大きいと判定した場合(B903のYES)、MPU60は、現在のセクタの順方向に対して逆方向に隣接する前のセクタが訂正対象セクタであるか訂正対象セクタでないかを判定する(B904)。前のセクタが訂正対象セクタでない、例えば、非対象セクタであると判定した場合(B904のNO)、MPU60は、現在のセクタにリトライ処理を実行し(B905)、処理を終了する。前のセクタが訂正対象セクタであると判定した場合(B904のYES)、MPU60は、現在のセクタにおけるリトライ処理(又は、ライト処理の中断)を抑制して現在のセクタへのライト処理を継続する(B905)。
図10は、本実施形態に係るライト処理方法の一例を示すフローチャートである。
システムコントローラ130は、現在のセクタにおけるオフセット量X1(C,S)を算出し、メモリA4から前のセクタにおけるオフセット量X0(C−1,S)を取得する(B1001)。システムコントローラ130は、現在のセクタにおけるオフセット量X(C,S)が基準DOL DOに前のセクタにおけるオフセット量X0(C−1,S)を加算した現在のセクタ(C,S)におけるDOL D1(C,S)よりも大きい場合にフラグF0を生成する(B1002)。システムコントローラ130は、セクタ番号Sを確認し、フラグF3を生成する(B1003)。フラグF3が生成(又はアサート)した場合、システムコントローラ130は、フラグF4を生成する(B1004)。フラグF4を生成(又はアサート)した場合、システムコントローラ130は、訂正対象セクタの数Nをカウントする(B1005)。言い換えると、システムコントローラ130は、フラグF4を生成した場合に訂正対象セクタの数Nを所定の数値、例えば、1上げる。訂正対象セクタの数Nが訂正対象セクタの数の上限値N0よりも大きい場合、システムコントローラ130は、フラグF1を生成し、Track ECCでの訂正を前提としたライト禁止抑制機能を無効にする(B1006)。フラグF1及びF0を生成(又はアサート)した場合、システムコントローラ130は、フラグF2を生成し(B1007)、処理を終了する。言い換えると、システムコントローラ130は、フラグF1及びF0が入力された場合にリトライ処理を実行する。
図11は、本実施形態に係るテーブルB1の生成方法の一例を示すフローチャートである。
システムコントローラ130は、現在のトラック(シリンダ)のテーブルB1を生成したか生成していないかを判定する(B1101)。現在のトラックのテーブルB1を生成していないと判定した場合(B1101のNO)、システムコントローラ130は、既にライトした前のトラック(シリンダ)に含まれる全てのセクタにおけるオフセット量を所定の記録領域、例えば、メモリA4から取得する(B1102)。システムコントローラ130は、オフセット量が大きい順に前のトラックの各セクタに優先番号を設定し、オフセット量が大きい順に前のトラックの各セクタ番号を並び替えて、優先番号の小さい番号から順に訂正セクタ数までの前のトラックの少なくとも1つのセクタを訂正対象セクタに設定し、テーブルB1を生成し(B1103)、B1104の処理に進む。例えば、システムコントローラ130は、順方向に隣接する現在のトラックのセクタにおけるDOLが小さい順に前のトラックの各セクタに優先番号を設定し、順方向に隣接する現在のトラックのセクタにおけるDOLが小さい順に前のトラックの各セクタ番号を並び変えて、優先番号の小さい番号から順に訂正セクタ数までの前のトラックの少なくとも1つのセクタを訂正対象セクタに設定し、テーブルB1を生成してもよい。システムコントローラ130は、現在のセクタ番号SとテーブルB1とを比較して前のセクタ(C−1,S)が訂正対象セクタである場合にフラグF3を生成し(B1104)、処理を終了する。
本実施形態によれば、磁気ディスク装置1は、前のトラックの各セクタにおける各オフセット量、又は現在のトラックの各セクタにおける各DOLに基づいて、前のトラックの各セクタに優先番号を設定する。磁気ディスク装置1は、現在のトラックの各セクタにおける各DOLと現在のトラックにおける最大オフセット推定値とに基づいて、優先番号の小さい番号から順に訂正セクタ数までの前のトラックの少なくとも1つのセクタを訂正対象セクタに設定する。現在のセクタにおけるオフセット量が現在のセクタにおけるDOLよりも大きいと判定し、且つ前のセクタが訂正対象セクタであると判定した場合、磁気ディスク装置1は、リトライ処理(又は、ライト処理の中断)を抑制してライト処理を継続する。磁気ディスク装置1は、DOLの小さい現在のトラックのセクタの順方向に対して逆方向に隣接する前のトラックのセクタをエラー訂正の優先対象として、このDOLの小さい現在のトラックのセクタにおいてリトライ処理を抑制することで、リトライ処理の発生頻度を軽減することができる。そのため、磁気ディスク装置1は、ライト性能を向上することができる。
次に、第1実施形態の変形例に係る磁気ディスク装置について説明する。変形例において、前述の第1実施形態と同一の部分には同一の参照符号を付してその詳細な説明を省略する。
(変形例1)
変形例1に係る磁気ディスク装置1は、現在のトラックにシークしてきた場合に優先番号を変更する点が前述した第1実施形態の磁気ディスク装置1と異なる。
MPU60は、現在のトラックにシークして位置決めされた現在のトラックのセクタに対応する前のトラックのセクタを含む所定の数の前のトラックのセクタの優先番号を変更し、変更した前のトラックの各セクタの各優先番号に基づいて訂正対象セクタを設定する。例えば、MPU60は、現在のトラックにシークして現在のトラックの開始セクタからライト処理を開始する場合、開始セクタに対応する前のトラックのセクタの優先番号を小さくする。言い換えると、MPU60は、現在のトラックにシークして現在のトラックの開始セクタからライト処理を開始する場合、開始セクタに対応する前のトラックのセクタの優先度(訂正対象優先度)を高くする。一例では、MPU60は、現在のトラックにシークして現在のトラックの開始セクタからライト処理を開始する場合に、現在のトラックの最大オフセット推定値に基づいて、開始セクタに対応する前のトラックのセクタを含む前のトラックの幾つかのセクタの優先番号を変更し、これら幾つかのセクタの訂正対象セクタを変更する。
図12Aは、変形例1に係る訂正対象セクタの設定方法の一例を示す模式図である。図12Bは、変形例1に係る所定のトラックの各セクタに設定した優先番号のテーブルTB2の一例を示す模式図である。図12Aには、トラックTR0をライト後に、例えばホストからのリード要求によって半径方向に離間した別のトラックにシークしてリード動作を行ったのち、シークしてトラックTR0の順方向に隣接するトラックTR1のライト処理を開始する状態を示している。図12Aにおいて、シークしてきてセクタSc10を開始セクタとしてトラックTR1のライト処理を開始する。図12Aには、トラックTR1における最大オフセット推定値OT2を示している。最大オフセット推定値OT2は、セクタSc10及びセクタSc11で順方向に対して逆方向、つまり、トラックTR0側に他のセクタSc13乃至SC19よりも大きくなっている。図12Bには、前のトラックの各セクタのセクタ番号と、図6Bに示したDDOL機能によりトラックTR1をライトする場合の前のトラックの各セクタのセクタ番号に対応する優先番号(以下、DDOL優先番号と称する場合もある)と、現在のトラックにシークしてきてDDOL機能によりトラックTR1をライトする場合の前のトラックのセクタ番号に対応する優先番号(以下、SEEK優先番号と称する場合もある)と含むテーブルTB2を示している。DDOL優先番号及びSEEK優先番号において、番号の小さい順に優先度(訂正対象優先度)が高い。
図12Aに示した例では、MPU60は、トラックTR0をライトした後に、例えばホストからのリード要求によって半径方向に離間した別のトラックにシークしてリード動作を行ったのち、トラックTR1にシークしてセクタSc10からライト処理を開始する場合、最大オフセット推定値OT2に基づいて生成されたSEEK優先番号が選択される。DDOL優先番号とSEEK優先番号のいずれを選択するかは、ライト処理を開始するトラックTR1へのシーク距離によって決定する。MPU60は、図12Bに示すように、セクタSc00乃至Sc09と、セクタSc00乃至Sc09にそれぞれ設定したDDOL優先番号と、セクタSc00乃至Sc09にそれぞれ設定したSEEK優先番号のいずれかを選択的にテーブルTB2として所定の記録領域、例えば、メディアキャッシュ領域10m、揮発性メモリ70、又は不揮発性メモリ80等に記録する。MPU60は、最大オフセット推定値OT2よりも小さいDOL DL10、DL11、DL12、DL13、DL16、DL17、DL18、及びDL19にそれぞれ対応するセクタSc10、Sc11、Sc12、Sc13、Sc16、Sc17、Sc18、及びSc19の順方向に対して逆方向にそれぞれ隣接する前のトラックのセクタSc00、Sc01、Sc02、Sc03、Sc06、Sc07、Sc08、及びSc09の内のSEEK優先番号の小さい番号から順に訂正セクタ数、例えば、5のセクタSc08、Sc07、Sc01、Sc00、及びSc02を訂正対象セクタに設定する。MPU60は、訂正対象セクタSc08、Sc07、Sc01、Sc00、及びSc02の順方向にそれぞれ隣接するセクタSc18、Sc17、Sc11、Sc10、及びSc12を訂正対象関連セクタに設定する。
MPU60は、トラックTR1のライト処理を開始した際に、訂正対象関連セクタSc18、Sc17、Sc11、Sc10、又はSc12におけるオフセット量が訂正対象関連セクタSc18、Sc17、Sc11、Sc10、又はSc12におけるDOL DL18、DL17、DL11、DL10、又はDL12を超えたとしても、訂正対象関連セクタSc18、Sc17、Sc11、Sc10、又はSc12へのライト処理を継続する。
MPU60は、トラックTR1のライト処理を開始した際に、非対象関連セクタSc13、Sc14、Sc15、Sc16、又はSc19におけるオフセット量が非対象関連セクタSc13、Sc14、Sc15、Sc16、又はSc19におけるDOL DL13、DL14、DL15、DL16、又はDL19を超えた場合、非対象関連セクタSc13、Sc14、Sc15、Sc16、又はSc19へのライト処理を中断し、回転待ちをして非対象関連セクタSc13、Sc14、Sc15、Sc16、又はSc19からライト処理を再開するリトライ処理を実行する。
図13は、変形例1に係る図7に示したチェッカA7の処理の一例を示す模式図である。図13において、テーブルB1は、テーブルB13を含む。テーブルB13は、セクタ番号S(S=0,1,2,....,Ns−1)と、前のセクタにおけるオフセット量X0(C−1,S)と、優先番号Np(Np=0,1,2,....,PNn−1)とを有している。一般にセクタ番号数Nsと優先番号数PNnは等しい。テーブルB13において、優先番号PNk−2は、優先番号PNk−3よりも大きく、優先番号PNk−1は、優先番号PNk−2よりも大きく、優先番号241は、優先番号PNkよりも大きい。また、優先番号PNk+1は、優先番号PNkよりも大きい。なお、図13において、トラックTR1上のセクタ番号の小さいセクタからライト処理を開始する。
チェッカA7は、セクタ番号S及び前のトラックC−1における全セクタ(セクタ数Ns)のオフセット量のセットX0(C−1,[0,1,2,....,Ns−1])が入力され、テーブルB13を生成する。チェッカA7は、テーブルB13においてオフセット量X0(C−1,S)の大きい順にセクタ番号Sを並び変える。チェッカA7は、テーブルB13においてオフセット量X0(C−1,S)の大きい順にセクタ番号Sに優先番号Npを設定する。チェッカA7は、シークして現在のトラックをライトする場合、セクタ番号Sの小さい前のセクタ(C−1,S)の優先番号を小さくする。この場合、チェッカA7は、優先番号を小さくした前のセクタの数分の前のセクタの優先順位を繰り下げ、優先番号を大きくする。
変形例1によれば、磁気ディスク装置1は、現在のトラックにシークして位置決めされた現在のトラックのセクタに対応する前のトラックのセクタを含む所定の数のセクタの優先番号を変更し、変更した前のトラックの各セクタの各優先番号に基づいて訂正対象セクタを設定する。そのため、磁気ディスク装置1は、ライト性能を向上することができる。
(変形例2)
変形例2に係る磁気ディスク装置1は、現在のトラックのライト処理を開始した場合に優先番号を変更する点が前述した第1実施形態及び変形例1の磁気ディスク装置1と異なる。
MPU60は、現在のトラックのライト処理を開始した場合に未だライトしていない現在のトラックの少なくとも1つのセクタ(以下、未ライトセクタと称する場合もある)の順方向に対して逆方向に隣接する前のトラックの少なくとも1つのセクタ(以下、未ライト隣接セクタと称する場合もある)の優先番号を変更する。現在のトラックをライトしている際に、MPU60は、現在のトラックの各未ライトセクタの各DOLに基づいて、優先番号の小さい番号から順に訂正セクタ数までの未ライト隣接セクタを訂正対象セクタに設定する。MPU60は、現在のトラックをライトしている際に前のセクタがエラー訂正対象と判定された現在のセクタにおいて、オフセット量が小さいためにライト禁止動作の抑制処理が実行されなかった場合、ライトが未実行のセクタに対し、前のセクタの訂正対象優先度を繰り上げする。
図14Aは、変形例2に係る訂正対象セクタの設定方法の一例を示す模式図である。図14Bは、変形例2に係る所定のトラックの各セクタに設定した優先番号のテーブルTB3の一例を示す模式図である。図14Aには、トラックTR0と、トラックTR1とを示している。図14Aにおいて、トラックTR0をライト後に、トラックTR0の順方向に隣接するトラックTR1のライトしている状態を示している。図14Aにおいて、セクタSc10を開始セクタとしてトラックTR1のライト処理を実行する。図14Aには、トラックTR1をライトする際の目標経路(トラックセンタ)TRC1と、トラックTR1をライトした際の実経路SP1とを示している。実経路SP1は、円周方向に延出し、半径方向において目標経路TRC1に対して変動している。実経路SP1は、セクタSc10乃至Sc19の中心部を通る経路に相当する。図14Bには、前のトラックの各セクタのセクタ番号と前のトラックの各セクタのセクタ番号に対応する優先番号と含むテーブルTB3を示している。図14Bにおいて、テーブルTB3の優先番号の縦方向には、現在のトラックのライトしたセクタのセクタ番号を示している。図14BのテーブルTB3において、◎(二重丸)は、オフセットがDOL未満であるため正常にデータをライトした現在のトラックの所定のセクタに対応する前のトラックの所定のセクタであることを示し、〇(丸)は、オフセットがDOL超過したが訂正対象関連セクタであるためライト禁止が抑制された現在のトラックの所定のセクタに対応する前のトラックの所定のセクタであることを示し、×(バツ)は、オフセットがDOL超過しており訂正対象関連セクタでないためにライト禁止およびリトライ処理された現在のトラックの所定のセクタに対応する前のトラックの所定のセクタであることを示している。図14Bにおいて、優先番号0乃至4までのセクタの前のセクタが、訂正対象セクタである。つまり、図14Bにおいて、セクタSc08、Sc07、Sc02、Sc09、及びSc01のセクタが訂正対象セクタである。
図14Aに示した例では、MPU60は、トラックTR0のライトした後にトラックTR0の順方向にトラックTR1をライトしている際に、トラックTR1の各セクタ、例えば、セクタSc10乃至Sc19の内の未ライトセクタのDOLに基づいて、セクタSc00乃至Sc09の内の未ライト隣接セクタの優先番号を変更する。
MPU60は、実経路SP1に従ってセクタSc10にデータをライトする。セクタSc10は優先番号6であるため、訂正対象関連セクタではない。MPU60は、セクタSc10において実経路SP1がDOL DL10よりも順方向に位置しているため、セクタSc10に正常にデータをライトする。MPU60は、図14BのテーブルTB3において、セクタSc00を◎(二重丸)にする。優先番号6のセクタSc00が正常ライトされたので、優先番号7以上のセクタ、すなわちセクタSc03の優先番号7を優先番号6に変更し、セクタSc05の優先番号8を優先番号7に変更し、セクタSc04の優先番号9を優先番号8に変更する。
MPU60は、実経路SP1に従ってセクタSc10の次にセクタSc11にデータをライトする。セクタSc10は優先番号4であるため、訂正対象関連セクタである。MPU60は、セクタSc11において実経路SP1がDOL DL11よりも順方向に位置しているため、セクタSc11に正常にデータをライトする。MPU60は、図14BのテーブルTB3において、セクタSc01を◎(二重丸)にする。優先番号4のセクタSc11が正常ライトされたので、優先番号5以上のセクタ、すなわちセクタSc06の優先番号5を優先番号4に変更し、セクタSc03の優先番号6を優先番号5に変更し、セクタSc05の優先番号7を優先番号6に変更し、セクタSc04の優先番号8を優先番号7に変更する。このとき訂正対象セクタの数Nはカウントアップされないので、優先順位4となったSc06の前のセクタが新たに訂正対象関連セクタとなる。
MPU60は、実経路SP1に従ってセクタSc11の次にセクタSc12にデータをライトする。セクタSc12は優先番号2であるため、前のセクタはエラー訂正対象である。MPU60は、セクタSc12において実経路SP1がDOL DL12よりも順方向に対して逆方向に位置しているが、セクタSc12は優先番号2なのでライト禁止抑制処理が実行され、リトライ動作が行われず、セクタSc12に正常にデータをライトする。MPU60は、図14BのテーブルTB3において、セクタSc02を○(丸)にする。優先番号2のセクタSc11が正常ライトされたので、優先番号3以上のセクタ、すなわちセクタSc09の優先番号3を優先番号2に変更し、セクタSc06の優先番号4を優先番号3に変更し、セクタSc03の優先番号5を優先番号4に変更し、セクタSc05の優先番号6を優先番号5に変更し、セクタSc04の優先番号7を優先番号6に変更する。MPU60は、訂正対象セクタSc02に対応する訂正対象関連セクタSc12へのライト処理が正常に完了したため、セクタSc06の次に優先番号の小さいセクタSc03を訂正対象セクタに設定する。このとき訂正対象セクタの数Nが1にカウントアップされたので、訂正対象関連セクタの残り個数は残り4となり、優先順位0乃至3のセクタが訂正対象関連セクタとなる。優先順位3となったセクタSc06は新たに訂正対象関連セクタとなるが、優先順位4となったSc03は新たに訂正対象関連セクタとはならない。
MPU60は、実経路SP1に従ってセクタSc12の次にセクタSc13にデータをライトする。MPU60は、セクタSc13において実経路SP1がDOL DL13よりも順方向と反対側に位置しているため、DOL DL13よりも順方向と反対側にセクタSc13をライトする。Sc03は優先番号4であり、Sc13は訂正対象関連セクタにはならず、MPU60は、セクタSc13へのライト動作を停止し、リトライ処理を実行する。MPU60は、図14BのテーブルTB3において、セクタSc03を×(バツ)にし、優先番号4のセクタSc03のライト処理が完了したので、セクタSc05の優先番号5を優先番号4に変更し、セクタSc04の優先番号6を優先番号5に変更し、訂正セクタ数を1低減させ、訂正対象セクタSc08、Sc07、Sc09、及びSc06を維持する。
MPU60は、実経路SP1に従ってセクタSc13の次にセクタSc14にデータをライトする。MPU60は、セクタSc14において実経路SP1がDOL DL14よりも順方向に位置しているため、セクタSc14に正常にデータをライトする。MPU60は、図14BのテーブルTB3において、セクタSc04を◎(二重丸)にする。MPU60は、訂正対象セクタSc08、Sc07、Sc09、及びSc06を維持する。
MPU60は、実経路SP1に従ってセクタSc14の次にセクタSc15にデータをライトする。MPU60は、セクタSc15において実経路SP1がDOL DL15よりも順方向に位置しているため、セクタSc15に正常にデータをライトする。MPU60は、図14BのテーブルTB3において、セクタSc05を◎(二重丸)にする。MPU60は、訂正対象セクタSc08、Sc07、Sc09、及びSc06を維持する。
MPU60は、実経路SP1に従ってセクタSc15の次にセクタSc16にデータをライトする。MPU60は、セクタSc16において実経路SP1がDOL DL16よりも順方向に位置しているため、セクタSc16に正常にデータをライトする。MPU60は、図14BのテーブルTB3において、セクタSc06を◎(二重丸)にする。MPU60は、訂正対象セクタSc08、Sc07、及びSc09を維持する。
MPU60は、実経路SP1に従ってセクタSc16の次にセクタSc17にデータをライトする。MPU60は、セクタSc17において実経路SP1がDOL DL17よりも順方向に位置しているため、セクタSc17に正常にデータをライトする。MPU60は、図14BのテーブルTB3において、セクタSc07を◎(二重丸)にする。MPU60は、訂正対象セクタSc08、及びSc09を維持する。
MPU60は、実経路SP1に従ってセクタSc17の次にセクタSc18にデータをライトする。MPU60は、セクタSc18において実経路SP1がDOL DL17よりも順方向の反対側に位置しているが、セクタSc08が訂正対象セクタであるためライト処理を実行し、セクタSc18に正常にデータをライトする。MPU60は、図14BのテーブルTB3において、セクタSc08を○(丸)にする。MPU60は、訂正セクタ数を1低減させ、訂正対象セクタSc09を維持する。
MPU60は、実経路SP1に従ってセクタSc18の次にセクタSc19にデータをライトする。MPU60は、セクタSc19において実経路SP1がDOL DL17よりも順方向に位置しているため、セクタSc19に正常にデータをライトする。MPU60は、図14BのテーブルTB3において、セクタSc09を○(丸)にし、訂正セクタ数を1低減させる。
変形例2によれば、磁気ディスク装置1は、MPU60は、現在のトラックをライトしている場合に少なくとも1つの未ライト隣接セクタの優先番号を変更する。現在のトラックをライトしている際に、MPU60は、現在のトラックの各未ライトセクタの各DOLに基づいて、優先番号の小さい番号から順に訂正セクタ数までの未ライト隣接セクタを訂正対象セクタに設定する。MPU60は、現在のトラックをライトしている際に前のセクタのエラー訂正を前提としたライト禁止抑制を実行した場合、ライト禁止抑制を実行した回数に応じて訂正セクタ数を低減する。訂正対象関連セクタに対してライト禁止抑制が実行されなかった場合は、未ライトセクタに若い優先番号が割り当てられるので、初期状態において優先順位の低く訂正対象関連セクタにならなかったセクタへのライト時にリトライ処理される確率が減少する。そのため、磁気ディスク装置1は、ライト性能を向上することができる。
(変形例3)
変形例3に係る磁気ディスク装置1は、ATC(Adaptive Track Center、又はAutomatic Track width Control)制御を実行する点が前述した第1実施形態、変形例1、及び変形例2の磁気ディスク装置1と異なる。
MPU60は、前のトラックに対応する実経路に基づいて現在のトラックの経路(以下、調整経路と称する場合もある)を生成し、現在のトラックの調整経路に基づいてヘッド15(例えば、ライトヘッド15W)の制御(以下、ATC(Adaptive Track Center、又はAutomatic Track width Control)制御と称する場合もある)を実行する。
MPU60は、最大オフセット推定値に高周波成分を含む現在のトラックの少なくとも1つのセクタに対応する前のトラックの少なくとも1つのセクタの優先番号を小さくする。例えば、MPU60は、最大オフセット推定値に高周波成分を含む現在のトラックの少なくとも1つのセクタに対応する前のトラックの少なくとも1つのセクタの訂正対象優先度を高くする。一例では、MPU60は、現在のトラックの円周方向で互いに隣接する2つのセクタにおける最大オフセット推定値の差分値が大きい場合、これら2つのセクタにそれぞれ対応する前のトラックの2つのセクタの優先番号を小さくする。また、一例では、MPU60は、現在のトラックの円周方向で互いに隣接する2つのセクタにおける目標位置の差分値が大きい場合、これら2つのセクタにそれぞれ対応する前のトラックの2つのセクタの優先番号を小さくする。
図15は、ATC制御の一例を示す模式図である。図15に示した例では、バンド領域TGjは、ライトトラックWTj−1、WTj、及びWTj+1を含む。バンド領域TGjでは、ライトトラックWTj−1乃至WTj+1が順方向にこの順番で重ね書きされている。ライトトラックWTj−1は、トラックエッジEj−1Aを有している。図15に示した例では、トラックエッジEj−1Aは、ライトトラックWTj−1の外方向の端部である。図15には、ライトトラックWTj−1に対応する目標経路WTTj−1を示している。ライトトラックWTjは、トラックエッジEjを有している。図15に示した例では、トラックエッジEjAは、ライトトラックWTjの外方向の端部である。図15には、ライトトラックWTjに対応する目標経路WTTjを示している。ライトトラックWTj+1は、トラックエッジEj+1Aを有している。図15に示した例では、トラックエッジEj+1Aは、ライトトラックWTj+1の外方向の端部である。図15には、ライトトラックWTj+1に対応する目標経路WTTj+1を示している。
MPU60は、ライトトラックWTj−1をライトする際の初期経路TWTj−1を追従するようにライトヘッド15Wを位置決め制御する。初期経路TWTj−1は、目標経路WTTj−1に相当する。実際には、ライトトラックWTj−1をライトする場合、ライトヘッド15Wは、ライト誤差を含む実経路SWTj−1上を走行する。MPU60は、実経路SWTj−1に対応するライト処理時のヘッド15、例えば、ライトヘッド15Wのライト経路情報を取得し、取得したライト経路情報を所定の記録領域、例えば、ディスク10、揮発性メモリ70、不揮発性メモリ80や、バッファメモリ90等に記録する。
MPU60は、実経路SWTj−1に対応するライト経路情報に基づいて、ライトトラックWTjをライトする際の調整経路TWTjを生成し、調整経路TWTjを追従するようにライトヘッド15Wを位置決め制御する。実際には、ライトトラックWTjをライトする場合、ライトヘッド15Wは、実経路SWTj上を走行する。MPU60は、実経路SWTjに対応するライト経路情報を取得し、取得したライト経路情報を所定の記録領域、例えば、ディスク10、揮発性メモリ70、不揮発性メモリ80や、バッファメモリ90等に記録する。
MPU60は、実経路SWTjに対応するライト経路情報に基づいて、ライトトラックWTj+1をライトする際の調整経路TWTj+1を生成し、調整経路TWTj+1を追従するようにライトヘッド15Wを位置決め制御する。実際には、ライトトラックWTj+1をライトする場合、ライトヘッド15Wは、実経路SWTj+1上を走行する。MPU60は、実経路SWTj+1に対応するライト経路情報を取得し、取得したライト経路情報を所定の記録領域、例えば、ディスク10、揮発性メモリ70、不揮発性メモリ80や、バッファメモリ90等に記録する。
図16Aは、変形例3に係る訂正対象セクタの設定方法の一例を示す模式図である。図16Bは、変形例3に係る所定のトラックの幾つかのセクタに設定した優先番号のテーブルTB4の一例を示す模式図である。図16Aには、トラックTR0と、トラックTR1とを示している。図16Aには、トラックTR0をライト後に、トラックTR0の順方向に隣接するトラックTR1のライト処理を開始する状態を示している。図16Aには、トラックTR0をライトした際の実経路SP2を示している。実経路SP2は、円周方向に延出し、半径方向において目標経路TRC0に対して変動している。図16Aには、トラックTR1の目標経路(トラックセンタ)TRC1と、ATC制御により調整した調整経路ATRC1とを示している。調整経路ATRC1は、円周方向に延出し、半径方向において目標経路TRC1に対して変動している。図16Aでは、調整経路ATRC1に従ってトラックTR1をライトする。図16Aには、トラックTR1における最大オフセット推定値OT3を示している。最大オフセット推定値OT3は、調整経路ATRC1に従って、半径方向に変動しながら円周方向に延出している。最大オフセット推定値OT3は、セクタSc14乃至Sc17で半径方向に大きく変化している。最大オフセット推定値OT3が少ないセクタ数の間に半径方向に大きく変化することを高周波成分と称する場合もある。図16Bには、前のトラックの幾つかのセクタのセクタ番号と前のトラックの幾つかのセクタにセクタ番号に対応する優先番号と含むテーブルTB4を示している。
図16Aに示した例では、MPU60は、トラックTR0のライトした後にトラックTR0の順方向に隣接するトラックTR1をライトする際(又はライトする前)に、高周波成分を含むトラックTR1のセクタ、例えば、セクタSc14乃至Sc17の順方向に対して逆方向にそれぞれ隣接するセクタSc04乃至Sc07に小さい優先番号を設定する。MPU60は、セクタSc05に優先番号0を設定し、セクタSc07に優先番号1を設定し、セクタSc04に優先番号2を設定し、セクタSc06に優先番号3を設定する。MPU60は、図16Bに示すように、セクタSc04乃至Sc07とセクタSc04乃至Sc07にそれぞれ設定した優先番号と関連付けてテーブルTB4として所定の記録領域、例えば、メディアキャッシュ領域10m、揮発性メモリ70、又は不揮発性メモリ80等に記録する。MPU60は、セクタSc14乃至Sc17の順方向に対して逆方向にそれぞれ隣接する前のトラックのセクタSc04乃至Sc07の内の優先番号の小さい番号から順に訂正セクタ数、例えば、5のセクタSc04乃至Sc07を訂正対象セクタに設定する。MPU60は、訂正対象セクタSc04乃至Sc07の順方向にそれぞれ隣接するセクタSc14乃至Sc17を訂正対象関連セクタに設定する。
図17は、変形例3に係る図7に示したチェッカA7の処理の一例を示す模式図である。図17において、テーブルB1は、テーブルB14、テーブルB15、及びテーブルB16を含む。テーブルB14は、前のトラックC−1に含まれる全セクタ(セクタ数Ns)のセクタ番号S(S=0,1,2,....,Ns−1)と、これに対応する前のセクタにおけるオフセット量X0(C−1,S)と、前のセクタ(C−1,S)の円周方向の左側に隣接するセクタ(C−1,S−1)におけるオフセット量X0(C−1,S−1)との差分値ΔX0(S)と、差分値ΔX0(S)の絶対値|ΔX0(S)|とを有している。テーブルB14において、セクタ番号Ns−2は、セクタ番号Ns−1よりも小さく、セクタ番号103よりも大きい。テーブルB15は、セクタ番号Sと、差分値ΔX0(S)の絶対値|ΔX0(S)|とを有している。テーブルB16は、優先番号Np(Np=0,1,2,....,PNn−1)と、セクタ番号Sとを有している。一般的に優先番号の個数PNnは全セクタ数Nsに等しい。テーブルB15において、優先番号PNn−2は、優先番号PNn−1よりも小さく、優先番号PNkよりも大きい。
チェッカA7は、セクタ番号S及び前のトラックC−1上の全セクタ(C−1,[0,1,2,...,Ns−1])のオフセット量のセットX0(C−1,[0,1,2,...,Ns−1])が入力され、テーブルB14を生成する。チェッカA7は、テーブルB14において差分値ΔX0(S)の絶対値|ΔX0(S)|の大きい順にセクタ番号Sを並び変えてテーブルB15を生成する。チェッカA7は、テーブルB15において差分値ΔX0(S)の絶対値|ΔX0(S)|の大きい順にセクタ番号Sに優先番号Npを設定する。チェッカA7は、優先番号Npの小さい順に訂正セクタ数までの優先番号に対応するセクタ番号の前のトラックのセクタを訂正対象セクタに設定する。
変形例3によれば、磁気ディスク装置1は、ATC制御を実行する。また、磁気ディスク装置1は、最大オフセット推定値に高周波成分を含む現在のトラックの少なくとも1つのセクタに対応する前のトラックの少なくとも1つセクタの優先番号を小さくする。そのため、ヘッド位置決め機構の周波数追従制限によりATC制御で生成された前のトラックの高周波軌道に追従できずDOLを超過するようなセクタに対して、前のセクタを優先的に訂正対象とすることでライト禁止を実行して回転待ちをして再度ライト処理を実行するリトライ動作を抑制することが出来る。よって、磁気ディスク装置1は、ライト性能を向上することができる。
前述した第1実施形態、変形例1、変形例2、及び変形例3では、第1実施形態、変形例1、変形例2、及び変形例3の構成を瓦記録型式の磁気ディスク装置に適用する例ついて示したが、第1実施形態、変形例1、変形例2、及び変形例3の構成を通常の記録型式の磁気ディスク装置1に適用することもできる。
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1…磁気ディスク装置、10…磁気ディスク、10m…メディアキャッシュ領域、10s…瓦記録領域、12…スピンドルモータ(SPM)、13…アーム、14…ボイスコイルモータ(VCM)、15…ヘッド、15W…ライトヘッド、15R…リードヘッド、20…ドライバIC、30…ヘッドアンプIC、40…リード/ライト(R/W)チャネル、50…ハードディスクコントローラ(HDC)、60…マイクロプロセッサ(MPU)、70…揮発性メモリ、80…不揮発性メモリ、90…バッファメモリ、100…ホストシステム(ホスト)、130…システムコントローラ。

Claims (11)

  1. 半径方向の第1方向に第1位置決め誤差で位置する第1セクタ、前記第1方向に前記第1位置決め誤差よりも小さい第2位置決め誤差で位置する第2セクタ、及び第1パリティセクタを含む第1トラックを有するディスクと、
    前記ディスクに対してデータをライトし、前記ディスクからデータをリードするヘッドと、
    前記第1トラックの前記第1方向に隣接する第2トラックをライトする際に、前記第1セクタの前記第1方向に隣接する前記第2トラックの第3セクタで、前記第1セクタの前記第1位置決め誤差に応じて決定される前記第1方向と反対の第2方向への位置決め誤差の第1上限値を超えた場合でも前記第3セクタへのライト処理を継続し、前記第2セクタの前記第1方向に隣接する前記第2トラックの第4セクタで、前記第2セクタの前記第2位置決め誤差に応じて決定される前記第2方向への位置決め誤差の第2上限値を超えた場合に前記第4セクタへのライト処理を停止する、コントローラと、を備える磁気ディスク装置。
  2. 前記コントローラは、前記第1セクタでリードエラーが発生した場合に前記第1パリティセクタに基づいて前記第1セクタにエラー訂正を実行する、請求項1に記載の磁気ディスク装置。
  3. 前記コントローラは、前記第1トラックの各セクタへのライト時の位置決め誤差によって決まるリード時における前記エラー訂正を実行する可能性の高さに応じて優先度の高い順に番号を設定し、前記番号に基づいて、前記第2トラックの各セクタへのライト動作時に、各セクタにおける位置決め誤差の上限値を超過した場合のライト停止処理を制御する、請求項2に記載の磁気ディスク装置。
  4. 前記第1セクタの前記優先度は、前記第2セクタの前記優先度よりも高い、請求項3に記載の磁気ディスク装置。
  5. 前記コントローラは、前記第1トラックの各セクタの前記番号を含むテーブルを有する、請求項3に記載の磁気ディスク装置。
  6. 前記コントローラは、前記第4セクタで前記第2上限値を超えた場合に前記第4セクタへのライト処理を停止して前記第4セクタへ再度ライトするリトライ処理を実行する、請求項3に記載の磁気ディスク装置。
  7. 前記コントローラは、前記優先度の高い順に決定されたエラー訂正可能な第1値の個数の前記第1トラックのセクタ以外の前記第1トラックの少なくとも1つのセクタに隣接する前記第2トラックの少なくとも1つのセクタへ前記リトライ処理を実行する、請求項6に記載の磁気ディスク装置。
  8. 前記コントローラは、前記第2トラックにシークして前記第3セクタにライトする際に、前記第1セクタの前記優先度を高くする、請求項4に記載の磁気ディスク装置。
  9. 前記コントローラは、前記第3セクタをライトした際に前記第1上限値を超えない場合に前記第2セクタの前記優先度を高くする、請求項4に記載の磁気ディスク装置。
  10. 前記コントローラは、前記第1トラックをライトした第1経路に基づいて前記第2トラックをライトする際に、前記第3セクタの前記半径方向の目標とする第1位置決め位置と前記第3セクタに円周方向に隣接する前記第2トラックの第6セクタの前記半径方向の目標とする第2位置決め位置との差分値が大きい場合に前記第1セクタの前記優先度及び前記第6セクタの前記第2方向へ隣接する前記第1トラックの第5セクタの前記優先度を高くする、請求項4に記載の磁気ディスク装置。
  11. 半径方向の第1方向に第1位置決め誤差で位置する第1セクタ、前記第1方向に前記第1位置決め誤差よりも小さい第2位置決め誤差で位置する第2セクタ、及び第1パリティセクタを含む第1トラックを有するディスクと、を備える磁気ディスク装置に適用されるライト処理方法であって、
    前記第1トラックの前記第1方向に隣接する第2トラックをライトする際に、前記第1セクタの前記第1方向に隣接する前記第2トラックの第3セクタで、前記第1セクタの前記第1位置決め誤差に応じて決定される前記第1方向と反対の第2方向への位置決め誤差の第1上限値を超えた場合でも前記第3セクタへのライト処理を継続し、
    前記第2セクタの前記第1方向に隣接する前記第2トラックの第4セクタで、前記第2セクタの前記第2位置決め誤差に応じて決定される前記第2方向への位置決め誤差の第2上限値を超えた場合に前記第4セクタへライト処理を停止する、ライト処理方法。
JP2019169201A 2019-09-18 2019-09-18 磁気ディスク装置及びライト処理方法 Active JP7134933B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019169201A JP7134933B2 (ja) 2019-09-18 2019-09-18 磁気ディスク装置及びライト処理方法
CN202010051695.1A CN112530466B (zh) 2019-09-18 2020-01-17 磁盘装置和写入处理方法
US16/804,537 US10910013B1 (en) 2019-09-18 2020-02-28 Magnetic disk device and write processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019169201A JP7134933B2 (ja) 2019-09-18 2019-09-18 磁気ディスク装置及びライト処理方法

Publications (3)

Publication Number Publication Date
JP2021047946A true JP2021047946A (ja) 2021-03-25
JP2021047946A5 JP2021047946A5 (ja) 2021-10-07
JP7134933B2 JP7134933B2 (ja) 2022-09-12

Family

ID=74260895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019169201A Active JP7134933B2 (ja) 2019-09-18 2019-09-18 磁気ディスク装置及びライト処理方法

Country Status (3)

Country Link
US (1) US10910013B1 (ja)
JP (1) JP7134933B2 (ja)
CN (1) CN112530466B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022029558A (ja) * 2020-08-05 2022-02-18 株式会社東芝 磁気ディスク装置及びエラー訂正方法
JP2023092684A (ja) * 2021-12-22 2023-07-04 株式会社東芝 磁気ディスク装置及びdolの設定方法
CN114911426B (zh) * 2022-07-15 2022-10-18 北谷电子有限公司 一种数据存储方法、存储器件和高空车

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012059317A (ja) * 2010-09-08 2012-03-22 Toshiba Corp 磁気記録装置、磁気記録方法および磁気記録媒体
JP2016122486A (ja) * 2014-12-25 2016-07-07 株式会社東芝 磁気ディスク装置及びライト制御方法
JP2017120675A (ja) * 2015-12-28 2017-07-06 株式会社東芝 磁気ディスク装置、及び書き込み方法
JP2018113085A (ja) * 2017-01-10 2018-07-19 株式会社東芝 磁気ディスク装置及びライト方法
JP2019153367A (ja) * 2018-03-06 2019-09-12 株式会社東芝 磁気ディスク装置および記録方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3039855B2 (ja) * 1997-03-27 2000-05-08 インターナショナル・ビジネス・マシーンズ・コーポレイション ディスクドライブ装置及びディスクドライブ装置の書き込み制御方法
JP3847435B2 (ja) * 1998-01-12 2006-11-22 株式会社日立グローバルストレージテクノロジーズ 磁気ディスク装置
JP4148812B2 (ja) 2003-03-28 2008-09-10 株式会社日立グローバルストレージテクノロジーズ 磁気記録再生装置
US7339873B2 (en) * 2003-07-07 2008-03-04 Sony Corporation Data recording/reproducing apparatus, data recording/reproducing method, program, and recording medium
JP5100861B1 (ja) 2011-05-31 2012-12-19 株式会社東芝 ディスク記憶装置、ディスク制御装置及び方法
US8902524B2 (en) * 2011-09-30 2014-12-02 Lsi Corporation Inter-track interference mitigation in magnetic recording systems using averaged values
JP2014089780A (ja) 2012-10-30 2014-05-15 Toshiba Corp 情報記録装置および情報記録方法
JP5886803B2 (ja) * 2013-08-30 2016-03-16 株式会社東芝 情報記録装置およびデータ復旧方法
US8896959B1 (en) * 2014-02-18 2014-11-25 Kabushiki Kaisha Toshiba Magnetic disk apparatus and data recording method
US9064526B1 (en) * 2014-05-08 2015-06-23 Kabushiki Kaisha Toshiba Magnetic disk apparatus and off-track detection method
US10417190B1 (en) * 2014-09-25 2019-09-17 Amazon Technologies, Inc. Log-structured file system for zone block devices with small zones
US9236073B1 (en) 2014-10-21 2016-01-12 Seagate Technology Llc Write fault threshold for a set of tracks
US9691418B1 (en) * 2015-12-21 2017-06-27 Seagate Technology Llc Adaptive write fault thresholds
CN106960675B (zh) * 2016-01-08 2019-07-05 株式会社东芝 磁盘装置及写入处理方法
US10437674B1 (en) * 2017-06-01 2019-10-08 Seagate Technology Llc Variable parity sectors
US10373645B2 (en) * 2017-11-17 2019-08-06 Western Digital Technologies, Inc. Data storage device dynamically generating extended redundancy over interleaves of a data track
JP2019215943A (ja) 2018-06-12 2019-12-19 株式会社東芝 磁気ディスク装置及びライト処理方法
JP2020047328A (ja) * 2018-09-18 2020-03-26 株式会社東芝 磁気ディスク装置及びライト処理方法
US10347278B1 (en) * 2018-10-24 2019-07-09 Western Digital Technologies, Inc. Data storage device configuring a write inhibit shock threshold for multiple actuators

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012059317A (ja) * 2010-09-08 2012-03-22 Toshiba Corp 磁気記録装置、磁気記録方法および磁気記録媒体
JP2016122486A (ja) * 2014-12-25 2016-07-07 株式会社東芝 磁気ディスク装置及びライト制御方法
JP2017120675A (ja) * 2015-12-28 2017-07-06 株式会社東芝 磁気ディスク装置、及び書き込み方法
JP2018113085A (ja) * 2017-01-10 2018-07-19 株式会社東芝 磁気ディスク装置及びライト方法
JP2019153367A (ja) * 2018-03-06 2019-09-12 株式会社東芝 磁気ディスク装置および記録方法

Also Published As

Publication number Publication date
CN112530466B (zh) 2022-04-08
US10910013B1 (en) 2021-02-02
CN112530466A (zh) 2021-03-19
JP7134933B2 (ja) 2022-09-12

Similar Documents

Publication Publication Date Title
JP7134933B2 (ja) 磁気ディスク装置及びライト処理方法
JP5100861B1 (ja) ディスク記憶装置、ディスク制御装置及び方法
JP5127955B2 (ja) 情報記録装置、及び情報記録方法
JP6419687B2 (ja) 磁気ディスク装置、及び書き込み方法
CN111696587B (zh) 磁盘装置以及写处理方法
JP2019215943A (ja) 磁気ディスク装置及びライト処理方法
CN113838482B (zh) 磁盘装置以及读处理方法
US10777227B2 (en) Magnetic disk device and control method
US20220301590A1 (en) Magnetic disk device
US20240038267A1 (en) Magnetic disk device and dol setting method
JP2019164854A (ja) 磁気ディスク装置およびその記録方法
JP2013161490A (ja) 磁気ディスク装置、リードライト制御方法、及びコントローラ
US20220293129A1 (en) Magnetic disk device and read/write processing method
US9934805B1 (en) Magnetic disk device and write method
US20230260540A1 (en) Magnetic disk device and write processing method
JP2023119547A (ja) 磁気ディスク装置及びライト処理方法
JP2022185311A (ja) 磁気ディスク装置及びリード/ライト処理方法
JP2023127528A (ja) 磁気ディスク装置
JP2023141830A (ja) 磁気ディスク装置
JP2020047338A (ja) 磁気ディスク装置および磁気ディスク装置の制御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220831

R150 Certificate of patent or registration of utility model

Ref document number: 7134933

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150