IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝デバイス&ストレージ株式会社の特許一覧

<>
  • 特開-磁気ディスク装置 図1
  • 特開-磁気ディスク装置 図2
  • 特開-磁気ディスク装置 図3
  • 特開-磁気ディスク装置 図4
  • 特開-磁気ディスク装置 図5
  • 特開-磁気ディスク装置 図6
  • 特開-磁気ディスク装置 図7
  • 特開-磁気ディスク装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023141830
(43)【公開日】2023-10-05
(54)【発明の名称】磁気ディスク装置
(51)【国際特許分類】
   G11B 5/09 20060101AFI20230928BHJP
   G11B 5/02 20060101ALI20230928BHJP
   G11B 20/18 20060101ALI20230928BHJP
   G11B 21/10 20060101ALI20230928BHJP
   G11B 5/596 20060101ALI20230928BHJP
   G11B 20/10 20060101ALI20230928BHJP
【FI】
G11B5/09 361F
G11B5/09 311Z
G11B5/02
G11B20/18 572B
G11B20/18 572F
G11B20/18 552B
G11B20/18 552E
G11B20/18 520E
G11B21/10 W
G11B21/10 E
G11B5/596
G11B20/10 301Z
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022048352
(22)【出願日】2022-03-24
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(71)【出願人】
【識別番号】317011920
【氏名又は名称】東芝デバイス&ストレージ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】多和田 冬輝
【テーマコード(参考)】
5D044
【Fターム(参考)】
5D044BC01
5D044CC04
5D044DE46
5D044DE49
5D044DE68
5D044GK19
(57)【要約】
【課題】隣接トラックに与える影響を抑制できる磁気ディスク装置を提供すること。
【解決手段】磁気ディスクにはトラックが設けられ、トラックにはデータセクタが設けられる。データセクタは、サーボデータがライトされた複数のサーボ領域と、複数の第1データ領域と、を含む。複数の第1データ領域のそれぞれは複数のサーボ領域のうちの2つのサーボ領域の間に配置される。コントローラは、磁気ヘッドを用いて複数の第1データ領域に順次、データをライトする第1ライト動作を実行する。第1ライト動作の後、コントローラは、複数の第1データ領域のうちのライトエラーが検出された第2データ領域に対してはライトをリトライし、複数の第1データ領域のうちのライトエラーが検出されなかった第3データ領域に対してはライトをリトライしない、第2ライト動作を実行する。
【選択図】図8
【特許請求の範囲】
【請求項1】
トラックが設けられ、当該トラックにはデータセクタが設けられ、当該データセクタは、サーボデータがライトされた複数のサーボ領域と、複数の第1データ領域と、を含み、前記複数の第1データ領域のそれぞれは前記複数のサーボ領域のうちの2つのサーボ領域の間に配置された、磁気ディスクと、
磁気ヘッドと、
前記磁気ヘッドを用いて前記複数の第1データ領域に順次、データをライトする第1ライト動作を実行し、前記第1ライト動作の後、前記複数の第1データ領域のうちのライトエラーが検出された第2データ領域に対してはライトをリトライし、前記複数の第1データ領域のうちの前記ライトエラーが検出されなかった第3データ領域に対してはライトをリトライしない、第2ライト動作を実行する、ように構成されたコントローラと、
を備える磁気ディスク装置。
【請求項2】
前記コントローラは、前記ライトエラーが発生したか否かを前記第1ライト動作の実行中に判定し、前記ライトエラーが発生したと判定された場合、前記第1ライト動作の実行中にライトを中断し、前記ライトの中断後、前記磁気ヘッドが前記複数の第1データ領域のうちの前記データセクタの末尾の第4データ領域に至る前に前記ライトエラーが解消した場合、前記磁気ヘッドが前記第4データ領域に至る前にライトを再開する、ように構成された、
請求項1に記載の磁気ディスク装置。
【請求項3】
前記ライトエラーは、オフトラックを含み、
前記コントローラは、
前記磁気ヘッドが通過する前記複数のサーボ領域のそれぞれから前記サーボデータをリードしてリードされた前記サーボデータに基づいて前記磁気ヘッドを位置決めし、
前記サーボデータがリードされる毎に前記オフトラックが発生したか否かをリードされた前記サーボデータに基づき判定する、
ように構成された、
請求項1または請求項2に記載の磁気ディスク装置。
【請求項4】
前記コントローラは、前記複数のサーボ領域のうちのひとつである第1サーボ領域からリードされた前記サーボデータに基づいて前記オフトラックが発生したと判定した場合、前記複数の第1データ領域のうちの前記第1サーボ領域に隣接する2つの第5サーボ領域のそれぞれにおいて前記オフトラックが発生したと判定する、ように構成された、
請求項3に記載の磁気ディスク装置。
【請求項5】
振動センサをさらに備え、
前記ライトエラーは前記振動センサによる検出値がしきい値を超えることを含む、
請求項1から請求項4の何れか一項に記載の磁気ディスク装置。
【請求項6】
前記コントローラは、前記第2データ領域に対する前記第2ライト動作において前記ライトエラーが検出された場合、前記第2データ領域に対する前記第2ライト動作を再び実行する、ように構成された、
請求項1から請求項5の何れか一項に記載の磁気ディスク装置。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、磁気ディスク装置に関する。
【背景技術】
【0002】
近年、磁気ディスク装置に関しては、記録密度の増加に伴って、トラック間の距離が縮小される傾向にある。そのため、ライトの際に隣接トラックに与える影響が、相対的に大きくなってきている。隣接トラックに与える影響は、例えば隣接トラック干渉(Adjacent Track Interference:ATI)、または隣接トラックのデータへのオーバーライト、などを含む。隣接トラックに与える影響が或るレベルを超えた場合、隣接トラックにライトされたデータのリードが困難になる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第7206990号明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
一つの実施形態は、隣接トラックに与える影響を抑制できる磁気ディスク装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
一つの実施形態によれば、磁気ディスク装置は、磁気ディスクと、磁気ヘッドと、コントローラと、を備える。磁気ディスクにはトラックが設けられ、トラックにはデータセクタが設けられる。データセクタは、サーボデータがライトされた複数のサーボ領域と、複数の第1データ領域と、を含む。複数の第1データ領域のそれぞれは複数のサーボ領域のうちの2つのサーボ領域の間に配置される。コントローラは、磁気ヘッドを用いて複数の第1データ領域に順次、データをライトする第1ライト動作を実行する。第1ライト動作の後、コントローラは、複数の第1データ領域のうちのライトエラーが検出された第2データ領域に対してはライトをリトライし、複数の第1データ領域のうちのライトエラーが検出されなかった第3データ領域に対してはライトをリトライしない、第2ライト動作を実行する。
【図面の簡単な説明】
【0006】
図1図1は、実施形態の磁気ディスク装置の構成の一例を示す模式的な図である。
図2図2は、実施形態の磁気ディスクの構成の一例を示す図である。
図3図3は、実施形態の1つのトラックの一部を拡大した図である。
図4図4は、ライトエラーが検出されることなく実行された実施形態の第1単位ライト動作を説明するための模式的な図である。
図5図5は、実行中にライトエラーが検出された実施形態の第1単位ライト動作を説明するための模式的な図である。
図6図6は、図5に示された第1単位ライト動作の後の実施形態の第2単位ライト動作を説明するための模式的な図である。
図7図7は、図6に示された第2単位ライト動作の後の実施形態の第3単位ライト動作を説明するための模式的な図である。
図8図8は、実施形態のコントローラのライト動作の詳細の一例を示すフローチャートである。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、実施形態にかかる磁気ディスク装置を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【0008】
(実施形態)
図1は、実施形態の磁気ディスク装置1の構成の一例を示す模式的な図である。
【0009】
磁気ディスク装置1は、ホスト2に接続される。磁気ディスク装置1は、ホスト2から、ライトコマンドやリードコマンドなどの、アクセスコマンドを受信することができる。
【0010】
磁気ディスク装置1は、表面に磁性層が形成された磁気ディスク11を備える。磁気ディスク装置1は、アクセスコマンドに応じて磁気ディスク11にデータをライトしたり磁気ディスク11からデータをリードしたりする。
【0011】
データのライトおよびリードは、磁気ヘッド22を介して行われる。磁気ディスク装置1は、磁気ディスク11のほかに、スピンドルモータ12、ランプ13、アクチュエータアーム15、ボイスコイルモータ(VCM)16、振動センサ17、モータドライバIC(Integrated Circuit)21、磁気ヘッド22、ハードディスクコントローラ(HDC)23、ヘッドIC24、リードライトチャネル(RWC)25、プロセッサ26、RAM27、FROM(Flash Read Only Memory)28、およびバッファメモリ29を備える。
【0012】
磁気ディスク11は、同軸に取り付けられたスピンドルモータ12により、所定の回転速度で回転される。スピンドルモータ12は、モータドライバIC21により駆動される。
【0013】
プロセッサ26はモータドライバIC21を介して、スピンドルモータ12の回転およびVCM16の回転を制御する。
【0014】
磁気ヘッド22は、それに備わるライトコア22wおよびリードコア22rにより、磁気ディスク11に対して情報のライトおよびリードを行う。また、磁気ヘッド22は、アクチュエータアーム15の先端に取り付けられている。磁気ヘッド22は、VCM16により、磁気ディスク11の半径方向に移動される。なお、磁気ヘッド22に備わるライトコア22wおよびリードコア22rのいずれか一方、またはその両方は、それぞれ単一の磁気ヘッド22に対して複数設けられても良い。
【0015】
磁気ディスク11の回転が停止しているときなどは、磁気ヘッド22は、ランプ13上に移動される。ランプ13は、磁気ヘッド22を、磁気ディスク11から離間した位置で保持するように構成されている。
【0016】
ヘッドIC24は、リード動作時に、磁気ヘッド22が磁気ディスク11からリードした信号を増幅して出力し、RWC25に供給する。また、ヘッドIC24は、ライト動作時に、RWC25から供給されたライト対象のデータに対応した信号を増幅して、磁気ヘッド22に供給する。
【0017】
HDC23は、I/F バスを介してホスト2との間で行われるデータの送受信の制御、およびバッファメモリ29の制御などを行う。
【0018】
バッファメモリ29は、ホスト2との間で送受信されるデータのバッファとして用いられる。例えば、バッファメモリ29は、ライト対象のデータ、または磁気ディスク11からリードされたデータ、を一時記憶するために用いられる。
【0019】
バッファメモリ29は、高速な動作が可能な揮発性メモリによって構成される。バッファメモリ29を構成するメモリの種類は、特定の種類に限定されない。バッファメモリ29は、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)、またはこれらの組み合わせによって構成され得る。なお、バッファメモリ29は、任意の不揮発性メモリによって構成されてもよい。
【0020】
RWC25は、HDC23から供給されるライト対象のデータに対して誤り訂正符号化などの変調を行い、変調後のデータをヘッドIC24に供給する。また、RWC25は、磁気ディスク11からリードされヘッドIC24から供給された信号に対して誤り訂正の処理を含む復調を行い、復調後の信号をデジタルデータとしてHDC23へ出力する。
【0021】
プロセッサ26は、例えばCPU(Central Processing Unit)である。プロセッサ26には、振動センサ17、RAM27、FROM(Flash Read Only Memory)28、およびバッファメモリ29が接続されている。
【0022】
FROM28は、不揮発性メモリである。FROM28には、ファームウェア(プログラムデータ)および各種の動作パラメータなどが格納される。なお、ファームウェアは、磁気ディスク11に格納されてもよい。
【0023】
RAM27は、例えばDRAM、SRAM、またはこれらの組み合わせによって構成される。RAM27は、プロセッサ26によって動作用のメモリとして使用される。RAM27は、ファームウェアがロードされる領域、および各種の管理データが一時記憶される領域として使用される。
【0024】
プロセッサ26は、FROM28または磁気ディスク11に格納されているファームウェアに従って、この磁気ディスク装置1の全体的な制御を行う。例えば、プロセッサ26は、ファームウェアをFROM28または磁気ディスク11からRAM27にロードし、ロードされたファームウェアに従って、モータドライバIC21、ヘッドIC24、RWC25、HDC23などの制御を実行する。
【0025】
振動センサ17は、多方向方向の振動の量を検出することができる。振動センサ17が検出する振動の量は、変位、速度、加速度、またはこれら以外の任意の物理量である。プロセッサ26は、データを磁気ディスク11にライトしている最中に、所定の短いサイクルで振動センサ17から検出値を取得し、取得された検出値をライトエラーが発生したか否かの判定に使用する。ライトエラーの詳細については後述される。
【0026】
HDC23、RWC25、およびプロセッサ26を含む構成は、磁気ディスク装置1の動作を制御するコントローラ30と見なすこともできる。コントローラ30は、これらのほかに、他の要素(例えばRAM27、FROM28、またはバッファメモリ29など)を含んでいてもよい。
【0027】
また、ファームウェアプログラムは磁気ディスク11に格納されていてもよい。また、プロセッサ26の機能の一部または全部は、FPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)などのハードウェア回路によって実現されてもよい。
【0028】
なお、磁気ディスク装置1に具備される磁気ディスク11の数は1つに限定されない。また、磁気ディスク装置1は、磁気ディスク11の数に応じた数のアクチュエータアーム15および磁気ヘッド22を有し得る。また、磁気ディスク装置1が複数の磁気ヘッド22を有する場合、当該複数の磁気ヘッド22は一体的に移動せしめられてもよいし、当該複数の磁気ヘッド22はそれぞれ独立に移動可能な複数のグループを構成していてもよい。
【0029】
図2は、実施形態の磁気ディスク11の構成の一例を示す図である。磁気ディスク11の表面に形成された磁性層には、例えばサーボライタによって、またはセルフサーボライト(SSW)によって、磁気ヘッド22の位置決めに使用されるサーボデータがライトされる。
【0030】
図2には、サーボデータがライトされたサーボ領域の配置の一例として放射状に配置されたサーボ領域41が示されている。円周方向において、2つのサーボ領域41の間は、データのライトが可能なデータ領域42とされる。磁気ディスク11の半径方向には同心円の複数のトラック(例えば本図のトラック50)が設定されている。トラック50上においてサーボ領域41によって区切られる領域は、サーボセクタとも称される。
【0031】
サーボデータは、サーボマーク、グレイコード、バーストパターン、およびポストコードを含む。サーボマークは、サーボデータの開始を示す。グレイコードは、磁気ディスク11に設けられた各トラック50を識別するためのID、即ちトラック番号と、トラック50上の各サーボセクタ(即ちサーボ領域41)を識別するためのID、即ちサーボセクタ番号と、を含む。バーストパターンは、グレイコードに含まれるトラック番号が示すトラックのセンターからの位置ずれ量を検出するために使用されるデータである。グレイコードに含まれるトラック番号は例えば整数値として与えられており、バーストパターンを復調することによってトラック番号が示す位置を基準とした小数点以下のオフセット量を得ることが可能である。つまり、バーストパターンを復調することによって、半径方向における磁気ヘッド22の現在位置が得られる。ポストコードは、グレイコード、バーストパターンによって規定されるトラック50の形状の、理想的なトラック50の形状からの位置ずれを補正するためのデータである。
【0032】
コントローラ30は、磁気ディスク11にデータをライトしたり磁気ディスク11からデータをリードしたりする際には、磁気ヘッド22がサーボ領域41からリードしたサーボデータに基づいて磁気ヘッド22の位置決め、つまりシーク制御およびトラッキング制御、を実行する。
【0033】
図3は、実施形態の1つのトラック50の一部を拡大した図である。本図には、ライト方向、つまりライト動作の際に磁気ヘッド22がトラック50に対して相対移動する方向が示されている。ライト方向は、磁気ディスク11の回転方向とは逆の向きである。
【0034】
トラック50には、複数のデータセクタ43が設けられる。複数のデータセクタ43のそれぞれは、共通したサイズのデータが誤り訂正符号化されてライトされる。当該共通したサイズは、セクタサイズと表記される。
【0035】
各データセクタ43は、データがライトされる領域であるデータ領域42を複数、含む。つまり、セクタサイズのデータは、複数のデータ片に分割され、当該複数のデータ片のそれぞれが各データ領域42にライトされる。各データセクタ43の先頭および末尾は、データ領域42の境界でアラインされていてもよいしアラインされていなくてもよい。
【0036】
図3には、複数のデータセクタ43として、3つのデータセクタ43-0、43-1、43-2が示されている。データセクタ43-0は末尾の一部が、データセクタ43-1は先頭から末尾まで、データセクタ43-2は先頭の一部が、図3に示されている。
【0037】
なお、先頭は、磁気ディスク11が1回転する際に、磁気ヘッド22が最初に到達する部分をいう。末尾は、磁気ディスク11が1回転する際に、磁気ヘッド22が最後に到達する部分をいう。
【0038】
図3に示された例によれば、各データセクタ43は、複数のサーボ領域41によって複数のデータ領域42に分割されている。例えばデータセクタ43-1は、その先頭から、8個の完全なデータ領域42と、約半分のデータ領域42と、を含む。
【0039】
前述されたように、各データ領域42は、2つのサーボ領域41の間に設けられている。したがって、各データセクタ43は、複数のサーボ領域41と、複数のデータ領域42と、を備える。
【0040】
以降では、複数のデータセクタ43のうちのデータセクタ43-1を例に挙げて説明する。本明細書では、データセクタ43-1が備える8個と約半分のデータ領域42のそれぞれを、先頭から順番に番号を付して特定する。つまり、データセクタ43-1は、先頭から、データ領域#0、データ領域#1、データ領域#2、データ領域#3、データ領域#4、データ領域#5、データ領域#6、データ領域#7、および一部のデータ領域#8を含むこととして説明する。
【0041】
続いて、ライトエラーについて説明する。ライトエラーは、ライト対象のデータと隣接トラック50のデータとが後にリード可能になるようにライト対象のデータをライトすることが困難な状態をいう。ライトエラーが発生した状態(より正確にはライトエラーが発生してコントローラ30によって検出された状態)では、ライトは禁止される。
【0042】
例えば、ライトエラーは、オフトラックを含む。オフトラックとは、磁気ヘッド22の半径方向の位置が、目標トラック50、即ちデータのライト先のトラック50、のセンターからずれた状態をいう。或るトラック50(第1トラック50と表記する)に対してデータ(第1データと表記する)をライトする最中にオフトラックが発生すると、第1データが第1トラック50に隣接するトラック50(第2トラック50と表記する)にはみ出た位置にライトされる。その結果、第2トラック50に既にライトされたデータ(第2データと表記する)の上に第1データがオーバーライトされたり、第2データが第1データのライトに起因するATIの影響を強く受けたりすることで、第2データのリードが困難になる場合がある。また、後に第2トラック50に対して新たなデータ(第3データと表記する)がライトされる場合、オフトラックによって第2トラック50にはみ出た第1データの上に第3データがオーバーライトされることで、第1データのリードが困難になる場合がある。よって、オフトラックが検出された場合、コントローラ30は、ライトを中断する。
【0043】
コントローラ30は、オフトラックを検出するために、例えば、目標トラック50のセンターからの磁気ヘッド22の位置ずれ量と予め設定されたしきい値(第1しきい値と表記する)とを比較する。位置ずれ量が第1しきい値を超えた場合には、コントローラ30は、オフトラックが発生したと判定する。位置ずれ量が第1しきい値に満たない場合には、コントローラ30は、オフトラックは発生していないと判定する。
【0044】
オフトラックが発生したか否かの判定は、サーボデータに基づいて判定される。よって、コントローラ30は、磁気ヘッド22がサーボ領域41からサーボデータをリードしたタイミングで、オフトラックが発生したか否かをリードされたサーボデータに基づいて判定する。なお、オフトラックの検出方法は上記の例に限定されない。
【0045】
また、ライトエラーは、ライト動作中に磁気ディスク装置1に大きな振動が印加されることを含む。本明細書において、振動は、衝撃を含む。磁気ディスク装置1が外部から振動が印加されると、オフトラックを起こさずにライトを行うことが困難になる。よって、コントローラ30は、許容されるレベル以上の振動を検出した場合、ライトを中断する。
【0046】
例えば、コントローラ30は、振動センサ17による検出値をごく短い所定の周期で順次取得して、検出値が取得される毎に、検出値と予め設定されたしきい値(第2しきい値と表記する)とを比較する。検出値が第2しきい値を超えた場合には、コントローラ30は、外部から大きな振動が印加されたと判定する。検出値が第2しきい値に満たない場合には、コントローラ30は、外部から大きな振動が印加されていないと判定する。なお、許容されるレベル以上の振動の検出方法はこの例に限定されない。
【0047】
ライトエラーは、オフトラックの発生および振動を受けることの他にも種々の事象を含み得る。本明細書では、コントローラ30は、オフトラックの発生および振動を受けることをライトエラーと見なすこととする。
【0048】
コントローラ30は、ライトエラーを検出すると、ライト動作を中断し、後にライト動作をリトライする。リトライされたライト動作は、ライトリトライ動作、と表記される。
【0049】
ここで、実施形態と比較される技術について説明する。実施形態と比較される技術を、比較例と表記する。比較例によれば、磁気ディスク装置は、或るデータセクタに対してデータをライトしている際にライトエラーが検出されると、そのデータセクタを構成する全てのデータ領域に対してライトリトライ動作を実行する。
【0050】
比較例によれば、データセクタ単位でライトリトライ動作が実行されるため、ライトリトライ動作の実行期間が長い。よって、そのライトリトライ動作の実行期間に再びライトエラーが発生する虞がある。ライトリトライ動作の実行期間中に再びライトエラーが検出された場合、さらにライトリトライ動作が実行される。よって、最後まで書ききれない可能性がある。
【0051】
また、比較例によれば、ライトエラーが検出されずにライトが完了したデータ領域に対してもライトリトライ動作によってライトが実行されるため、データ領域当たりのライトの回数が多い。よって、隣接トラックに与えるATIの影響が大きい。
【0052】
また、比較例によれば、データ領域当たりのライトの回数が多いため、その分、オフトラックが起こる可能性が高く、オフトラックによって隣接トラックに影響を与える可能性も高い。
【0053】
つまり、比較例によれば、隣接トラックに与える影響が大きい。
【0054】
実施形態では、磁気ディスク装置1は、データセクタ43単位ではなく、データセクタ43よりも小さいデータ領域42の単位でライト動作のリトライを実行するよう、構成される。よって、ライトリトライ動作の実行期間に再びライトエラーが発生する可能性が抑制される。また、ライトエラーが検出されずにライトが完了したデータ領域42はライトリトライ動作によってデータのライトは実行されないので、データ領域42当たりのライト動作の回数が抑制される。これによって、隣接トラック50に与えるATIの影響を抑制することができる。また、オフトラックが起こる可能性が抑制され、オフトラックによって隣接トラック50に影響を与える可能性が抑制される。つまり、隣接トラック50に与える影響が抑制される。
【0055】
以降では、1つのデータセクタ43に対してセクタサイズのデータをライトする動作は、第1単位ライト動作と表記される。第1単位ライト動作においてライトエラーが検出された全てのデータ領域42に対して実行されるライトリトライ動作は、第2単位ライト動作と表記される。第2単位ライト動作においてライトエラーが検出された全てのデータ領域42に対してさらに実行されるライトリトライ動作は、第3単位ライト動作と表記される。各単位ライト動作は、磁気ディスク11が1回転する間に実行される。
【0056】
なお、第1単位ライト動作は、第1ライト動作の一例である。また、第2単位ライト動作および第3単位ライト動作は、第2ライト動作の一例である。
【0057】
実施形態の磁気ディスク装置1の第1単位ライト動作、第2単位ライト動作、および第3単位ライト動作を、図4図7を用いて説明する。
【0058】
図4は、ライトエラーが検出されることなく実行された実施形態の第1単位ライト動作を説明するための模式的な図である。本図には、ライトゲート信号(以降、ライトゲートと表記する)の波形と、磁気ヘッド22の位置の推移と、が示されている。
【0059】
ライトゲートは、HDC23からRWC25に送信される信号であって、データのライトが許可されている期間を表す信号である。図4に示される例では、ライトゲートが“H”レベルであることは、データのライトが許可されていることを表し、ライトゲートが“L”レベルであることは、データのライトが許可されていないことを表す。磁気ヘッド22がサーボ領域41を通過する期間には、ライトゲートは“L”レベルに維持され、これによってサーボ領域41のサーボデータが他のデータによってオーバーライトされることが防止される。
【0060】
第1単位ライト動作においては、ライトエラーが検出されなければ、図4に示されるように、HDC23は、磁気ヘッド22が各データ領域42を通過する期間にライトゲートを“H”レベルに維持する。これによって、各データ領域42へのデータのライトが行われる。
【0061】
図5は、実行中にライトエラーが検出された実施形態の第1単位ライト動作を説明するための模式的な図である。
【0062】
図5に示される例では、磁気ヘッド22がデータ領域#2とデータ領域#3との間に設けられたサーボ領域41を通過した時刻t1までは、ライトエラーが検出されず、図4に示された例と同様、磁気ヘッド22が通過した各データ領域42に対するデータのライトが実行される。
【0063】
時刻t1において、データ領域#2とデータ領域#3との間に設けられたサーボ領域41からリードされたサーボデータに基づき、コントローラ30(例えばプロセッサ26)がオフトラックを検出する。HDC23は、時刻t1においてオフトラックが検出されると、直後に磁気ヘッド22がデータ領域42(ここではデータ領域#3)を通過する期間、ライトゲートを“L”に維持する。よって、コントローラ30は、データセクタ43-1に対するライトを、データ領域#3の先頭において中断する。
【0064】
ライト方向においてデータ領域#3に後続するサーボ領域41を磁気ヘッド22が通過した時刻t2において、当該サーボ領域41からリードされたサーボデータに基づき、コントローラ30(例えばプロセッサ26)は、オフトラックが解消したことを検出する。すると、HDC23は、磁気ヘッド22がデータ領域42(ここではデータ領域#4)を通過する期間、ライトゲートを“H”に維持する。よって、コントローラ30は、データセクタ43-1に対するライトを、データ領域#4の先頭から再開する。
【0065】
磁気ヘッド22がデータ領域#4とデータ領域#5とを通過する期間には、ライトエラーが検出されることなくデータがライトされる。
【0066】
磁気ヘッド22がデータ領域#6を通過する期間の時刻t3において、振動センサ17の検出値に基づき、コントローラ30は、振動(より正確には振動センサ17による検出値が第2しきい値を超えたこと)を検出する。HDC23は、時刻t3において振動が検出されると、ただちにライトゲートを“H”レベルから“L”レベルに遷移させる。その後、時刻t4において、コントローラ30は、振動が解消したこと(より正確には振動センサ17による検出値が第2しきい値を下回ったこと)を検出する。HDC23は、磁気ヘッド22が次にアプローチするデータ領域42(即ちデータ領域#7)の先頭を磁気ヘッド22が通過する時刻t5から、ライトゲートを“H”に戻す。よって、コントローラ30は、データセクタ43-1に対するライトを、データ領域#7の先頭から再開する。
【0067】
磁気ヘッド22がデータ領域#7と、データ領域#8のうちのデータセクタ43-1に含まれる部分とを通過する期間には、ライトエラーの検出なくデータがライトされ、第1単位ライト動作が終了する。
【0068】
このように、第1単位ライト動作においては、コントローラ30は、ライトエラーが発生したと判定された場合、第1単位ライト動作の実行中にライトを中断する。そして、ライトの中断後、磁気ヘッド22がデータセクタ43の末尾のデータ領域#8に至る前にライトエラーが解消したと判定された場合、磁気ヘッド22がデータセクタ43の末尾のデータ領域#8に至る前にライトを再開する。
【0069】
図5に示された第1単位ライト動作では、いくつかのデータ領域42に対するライトの際にライトエラーが発生した。コントローラ30は、第1単位ライト動作の各データ領域42に対するライトの際にライトエラーが発生したか否かの判定に基づき、第2単位ライト動作におけるライト対象とされるデータ領域42を選択する。
【0070】
例えば、コントローラ30は、ライトエラーに起因してライトが中断または行われなかったデータ領域#3、#6を、第2単位ライト動作におけるライト対象に設定する。
【0071】
また、図5に示された例では、磁気ヘッド22がデータ領域#2とデータ領域#3との間に設けられたサーボ領域41を通過した際にオフトラックが検出された。オフトラックは、磁気ヘッド22がサーボ領域41を通過するに応じて検出される。よって、実際にはオフトラックが検出された直前のライト、つまりデータ領域#2に対するライト、の際から発生していた可能性が高いと推測できる。したがって、コントローラ30は、データ領域#3、#6に加えて、データ領域#2をも第2単位ライト動作におけるライト対象に設定する。コントローラ30は、その他のデータ領域#0、#1、#4、#5、#7、#8はライト対象としては設定しない。
【0072】
コントローラ30は、第1単位ライト動作の後に磁気ディスク11が回転して、磁気ヘッド22がデータセクタ43-1に再びアプローチしたとき、データ領域#2、#3、#6をライト対象とした第2単位ライト動作を開始する。
【0073】
図6は、図5に示された第1単位ライト動作の後の実施形態の第2単位ライト動作を説明するための模式的な図である。
【0074】
第2単位ライト動作では、HDC23は、磁気ヘッド22がライト対象のデータ領域42を通過する期間にライトゲートを“H”に維持し、磁気ヘッド22がライト対象でないデータ領域42を通過する期間にライトゲートを“L”に維持する。よって、第2単位ライト動作では、ライト対象に設定されたデータ領域42に対してのみデータのライトが実行される。
【0075】
図6に示された例では、ライト対象とされたデータ領域#2、#3、#6のうちのデータ領域#2、#3に対しては、ライトエラーが検出されることなくライトが完了する。しかしながら、データ領域#6に対するライトの際に、再び振動が検出される(時刻t6)。HDC23は、時刻t6において振動が検出されると、ただちにライトゲートを“H”レベルから“L”レベルに遷移させる。その後、時刻t7において、振動の解消が検出されるが、HDC23は、磁気ヘッド22がデータ領域#6の末尾に至るまでライトゲートを“L”に維持する。ライト対象とされたデータ領域#2、#3、#6の全てを磁気ヘッド22が通過し、第2単位ライト動作が終了する。
【0076】
第2単位ライト動作が終了した時点では、データセクタ43-1を構成するデータ領域42のうちのデータ領域#6のみ、ライトエラーに起因してデータのライトが完了していない。よって、コントローラ30は、データ領域#6をライト対象に設定する。そして、コントローラ30は、第2単位ライト動作の後に磁気ディスク11が回転して、磁気ヘッド22がデータセクタ43-1に再びアプローチしたとき、データ領域#6をライト対象とした第3単位ライト動作を開始する。
【0077】
図7は、図6に示された第2単位ライト動作の後の実施形態の第3単位ライト動作を説明するための模式的な図である。
【0078】
第3単位ライト動作では、第2単位ライト動作と同様、HDC23は、磁気ヘッド22がライト対象のデータ領域42を通過する期間にライトゲートを“H”に維持し、磁気ヘッド22がライト対象でないデータ領域42を通過する期間にライトゲートを“L”に維持する。よって、第3単位ライト動作では、ライト対象に設定されたデータ領域42に対してのみデータのライトが実行される。
【0079】
図7に示された例では、ライト対象とされたデータ領域#6に対し、ライトエラーが検出されることなくライトが完了する。第1単位ライト動作~第3単位ライト動作によって、データセクタ43-1を構成する全データ領域42に対し、ライトエラーが検出されることなくデータをライトすることができたので、データセクタ43-1に対するライトが終了する。
【0080】
なお、第3単位ライト動作においてもライトエラーが発生した場合には、第3単位ライト動作と同様のライトリトライ動作が実行される。
【0081】
続いて、図4図7にて説明された動作を実現するためのコントローラ30の動作の詳細を説明する。
【0082】
図8は、実施形態のコントローラ30のライト動作の詳細の一例を示すフローチャートである。
【0083】
まず、コントローラ30は、データセクタ43内の全てのデータ領域をライト対象として設定し(S101)、シーク制御およびトラッキング制御を行う。そして、磁気ヘッド22がライト先のデータセクタ43の先頭にアプローチすると(S102)、コントローラ30は、ライト対象に対するライトを開始する(S103)。
【0084】
コントローラ30は、ライトの実行中、ライトエラーが発生したか否かを判定する(S104)。
【0085】
ライトエラーが発生していないと判定された場合(S104:No)、つまりライトエラーが検出されていない場合、コントローラ30は、磁気ヘッド22がライト対象の全てのデータ領域42をしたか否かを判定する(S105)。
【0086】
ライトエラーが発生したと判定された場合(S104:Yes)、つまりライトエラーが検出された場合、コントローラ30は、ライトゲートを“L”に設定してライトを停止し(S106)、磁気ヘッド22がライト対象のデータ領域42のうちの末尾のデータ領域42に至った否かを判定する(S107)。
【0087】
磁気ヘッド22が末尾のデータ領域42に至っていないと判定された場合(S107:No)、コントローラ30は、ライトエラーが解消したか否かを判定する(S108)。
【0088】
ライトエラーが解消していないと判定された場合(S108:No)、制御がS107に遷移して、コントローラ30は、S107の判定処理を再び実行する。
【0089】
ライトエラーが解消したと判定された場合(S108:Yes)、コントローラ30は、次に磁気ヘッド22がアプローチするライト対象のデータ領域42の先頭からライトを再開する(S109)。そして、制御がS104に遷移する。
【0090】
S102~S109の一連の処理は、磁気ディスク11が一回転する期間に実行される。S102~S109の一連の処理は、単位ライト動作を構成する。つまり、S101の後に初回に実行されるS102~S109の一連の処理は、第1単位ライト動作に該当し、2回目に実行されるS102~S109の一連の処理は、第2単位ライト動作に該当し、3回目に実行されるS102~S109の一連の処理は、第3単位ライト動作に該当する。
【0091】
磁気ヘッド22がライト対象の全てのデータ領域42を通過したと判定された場合(S105:Yes)、または磁気ヘッド22がライト対象のデータ領域42のうちの末尾のデータ領域42に至ったと判定された場合(S107:Yes)、単位ライト動作が終了する。そして、コントローラ30は、最後に実行された単位ライト動作においてライトエラーが発生したデータ領域42があったか否かを判定する(S110)。
【0092】
S110では、コントローラ30は、単位ライト動作中にライトエラーが検出されたデータ領域42だけでなく、ライトエラーが発生したと推定されるデータ領域42を、ライトエラーが発生したデータ領域42と見なす。例えば図5に示されたケースでは、第1単位ライト動作中においては、データ領域#2に対するライトの際、ライトエラーは検出されていない。しかしながら、データ領域#2に後続するサーボ領域41からリードされたサーボデータによって、ライトエラー(より正確にはオフトラック)が検出されている。よって、データ領域#2にライトの際には既にオフトラックが発生していたと推測できる。コントローラ30は、あるサーボ領域41からサーボデータをリードして、当該サーボデータに基づいてオフトラックを検出した場合、当該サーボ領域41の前後に隣接する2つのデータ領域42においてオフトラックが発生していると見なす。
【0093】
ライトエラーが発生したデータ領域42があった場合(S110:Yes)、コントローラ30は、ライトエラーが発生した全てのデータ領域を次の単位ライト動作のライト対象に設定する(S111)。そして、制御がS102に遷移して、次の単位ライト動作が開始する。
【0094】
ライトエラーが発生したデータ領域42が無かった場合(S110:No)、実施形態のライト動作が終了する。
【0095】
以上述べたように、実施形態によれば、コントローラ30は、磁気ヘッドを用いてデータセクタ43内のデータ領域42に順次、データをライトする第1単位ライト動作を実行する。第1単位ライト動作の後、コントローラ30は、データセクタ43内のデータ領域42のうちのライトエラーが検出されたデータ領域42に対してはライトをリトライし、データセクタ43内のデータ領域42のうちのライトエラーが検出されなかったデータ領域42に対してはライトをリトライしない、第2単位ライト動作を実行する。
【0096】
コントローラ30は、データセクタ43単位ではなく、データセクタ43よりも小さいデータ領域42の単位でライト動作のリトライを実行するよう、構成されたので、ライトリトライ動作の実行期間に再びライトエラーが発生する可能性が抑制される。また、ライトエラーが検出されずにライトが完了したデータ領域42はライトリトライ動作によってデータのライトは実行されないので、データ領域42当たりのライト動作の回数が抑制される。これによって、隣接トラック50に与えるATIの影響を抑制することができる。また、オフトラックが起こる可能性が抑制され、オフトラックによって隣接トラック50に影響を与える可能性が抑制される。つまり、隣接トラック50に与える影響が抑制される。
【0097】
また、実施形態によれば、コントローラ30は、ライトエラーが発生したか否かを第1単位ライト動作の実行中に判定し、ライトエラーが発生したと判定された場合、第1単位ライト動作の実行中にライトを中断する。コントローラ30は、ライトの中断後、磁気ヘッド22がデータセクタ43の末尾のデータ領域42に至る前にライトエラーが解消した場合、磁気ヘッド22が末尾のデータ領域42に至る前にライトを再開する。
【0098】
各単位ライト動作においてライトエラーが解消した後の時間を無駄にすることなくライトが実行されるため、ライト動作に要するトータルの時間を短縮することが可能である。
【0099】
なお、実施形態によれば、ライトエラーはオフトラックを含む。コントローラ30は、磁気ヘッド22がサーボ領域41を通過する毎にサーボ領域41からサーボデータをリードして、リードされたサーボデータを用いて磁気ヘッド22の位置決めを行う。また、コントローラ30は、サーボデータがリードされる毎にオフトラックが発生したか否かをリードされたサーボデータに基づき判定する。
【0100】
そして、実施形態によれば、或るサーボ領域41からリードされたサーボデータに基づいてオフトラックが発生したと判定した場合、そのサーボ領域41に隣接する2つのデータ領域42のそれぞれにおいてオフトラックが発生したと判定する。
【0101】
よって、各サーボ領域41からリードされたサーボデータに基づいてデータ領域42において発生するオフトラックを検出することが可能である。
【0102】
また、実施形態によれば、コントローラ30は、振動センサ17による検出値がしきい値を超えることをライトエラーとして検出する。
【0103】
よって、外部から大きな振動が印加され、オフトラックが発生してしまうような状況においては、ライトを中断して隣接トラック50のデータを保護することが可能である。
【0104】
本発明の実施形態を説明したが、この実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0105】
1 磁気ディスク装置、2 ホスト、11 磁気ディスク、12 スピンドルモータ、13 ランプ、15 アクチュエータアーム、17 振動センサ、21 モータドライバIC、22 磁気ヘッド、22r リードコア、22w ライトコア、23 HDC、24 ヘッドIC、25 RWC、26 プロセッサ、27 RAM、28 FROM、29 バッファメモリ、30 コントローラ、41 サーボ領域、42 データ領域、43,43-0,43-1,43-2 データセクタ、50 トラック。
図1
図2
図3
図4
図5
図6
図7
図8