ディスク・ドライブ装置及びその初期設定方法
【課題】HDDの起動時間を短縮する。
【解決手段】本発明の一態様にかかるHDDは、POR(Power On Reset)処理において、ヘッド・セレクション・テストとマグネティック・レコーディング・テストとを実行する。過去のPOR処理において、予め正確なテスト・データを、スキューをつけて磁気ディスクの各記録面に書き込んでおく。ヘッド・セレクション・テストは、スキューをもったテスト・データを読み出して、読み出したデータが正確なデータであるかを確認する。これによって、ヘッド・セレクション・テストを実行することで、ヘッド・テスト時間を短縮することができる。
【解決手段】本発明の一態様にかかるHDDは、POR(Power On Reset)処理において、ヘッド・セレクション・テストとマグネティック・レコーディング・テストとを実行する。過去のPOR処理において、予め正確なテスト・データを、スキューをつけて磁気ディスクの各記録面に書き込んでおく。ヘッド・セレクション・テストは、スキューをもったテスト・データを読み出して、読み出したデータが正確なデータであるかを確認する。これによって、ヘッド・セレクション・テストを実行することで、ヘッド・テスト時間を短縮することができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はディスク・ドライブ装置及びそのヘッド・テスト方法に関し、特に、ディスク・ドライブ装置におけるヘッド・セレクション・テストに関する。
【背景技術】
【0002】
ディスク・ドライブ装置として、光ディスクや光磁気ディスクなどの様々な態様の記録ディスクを使用する装置が知られているが、その中で、ハードディスク・ドライブ(Hard Disk Drive:HDD)は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない装置の一つとなっている。更に、コンピュータにとどまらず、動画像記録再生装置、カーナビゲーション・システム、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、HDDの用途は、その優れた特性により益々拡大している。
【0003】
HDDは一つもしくは複数の磁気ディスク、各磁気ディスクの各記録面において同心円状に形成された複数のデータ・トラックを有している。各データ・トラックはアドレス情報を有する複数のサーボ・データとユーザ・データを含む複数のデータ・セクタが記録されている。揺動するアクチュエータに支持されたヘッド・スライダのヘッド素子部が、サーボ・データのアドレス情報に従って所望のデータ・セクタにアクセスすることによって、データ・セクタへのデータ書き込み及びデータ・セクタからのデータ読み出しを行うことができる。
【0004】
上述のように、現在、コンシューマ・エレクトロニクス(Consumer Electronics:CE)に大容量記憶装置としてHDDが搭載されるケースが増えてきている。その導入において、他の記憶装置と比較される問題の一つとしてCOME READY TIMEの遅延が挙げられる。一般に、HDDにおけるCOME READY TIMEとは、電源がONにセットされてから、その装置のインターフェースがREADYになるまでの時間と捉えられている。しかし、特にコンシューマ・エレクトロニクスにおいて問題とされるのは、HDDのリード/ライトの準備が整うまでの時間である。これは、CEデバイス自身の起動のためには、そこに組み込まれている記憶装置の情報が必要不可欠だからである。本明細書においては、この時間をCOME READY TIMEとする。
【0005】
HDDは、その電源が投入されると、初期設定処理であるPOR処理(Power On Reset処理)を実行する。このPOR処理が正常に終了すると、ホストからコマンドを受けることが可能となる。つまり、このPOR処理の時間がCOME READY TIMEに対応する。なお、POR処理において解決不能なエラーが発生すると、HDD自体がフェイルとなって使用不可となる。
【0006】
典型的なPOR処理において、HDDはライト・テストを実行する。ライト・テストは、磁気ディスクへの正確なデータ書き込み及びデータ読み出しをテストする。多くのHDDは、その記憶容量を上げるため、複数の記録面と各記録面に対応した複数のヘッド・スライダとを備えている。このため、ライト・テストは二つの点についてチェックを行う。一つには、正確に目的のヘッド素子部を選択していることをチェックする(ヘッド・セレクション・チェック)。他の一つとして、選択したヘッド素子部が実際にデータの書き込み及び読み出しを行うことができるかをチェックする(マグネティック・レコーディング・チェック)。
【0007】
COME READY TIMEを短縮するために、ライト・テストの実行時間を短縮することが望ましい。その一つの手法は、例えば、特許文献1に開示されている。特許文献1に開示の技術は、定期的又は不定期に、ヘッド素子部の診断を実施して、障害の発生を検知する。ヘッド素子部の診断処理時間を短縮するために、ヘッド素子部毎の診断領域を磁気ディスク上において、ヘッド切り替え処理時間分ずらして配置する。これにより、磁気ディスクが1回転する間に複数のヘッド素子部にて診断領域の書き込みまたは読み出しを実施し、診断処理時間を短縮することができる。
【特許文献1】特開2003−263703号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかし、ヘッド切り替え処理時間分ずらして、磁気ヘッドによるテスト・データの書き込み及び読み出しを行う場合、正確にヘッド・セレクション・チェックを行うことができない場合がある。具体的に、HDDがヘッド0とヘッド1の二つのヘッド素子部を備えるケースについて説明する。各ヘッド素子部で記録面へのデータの書き込みを順次行い、その後に各ヘッド素子部でデータの読み出しを順次行う。各記録面に書き込むデータの円周方向位置は、ヘッド素子部の切り替え処理時間分ずれている。
【0009】
もし、HDDが、ヘッド0の代わりに、間違えてヘッド1を選択すると、HDDは、ヘッド1でデータを書き込んだ後、もう一度ヘッド1を選択してデータを書き込む。さらに、HDDは、ヘッド0を選択するつもりでヘッド1を選択し、先に1回目に書き込んだデータを読み出す。さらに、HDDはヘッド1を選択して、2回目に書き込んだデータを読み出す。
【0010】
ヘッド1が書き込んだ各データは、ヘッド切り替え処理時間分ずれているので、2回目のデータが1回目のデータを上書きすることがない。従って、HDDは、1回目及び2回目のデータを正確に読み出し、ヘッド・セレクションを正確に行ったと誤認識する。ヘッド素子部の誤選択は、ユーザ・データの消去、あるいは誤データのホストへの転送となる。具体的には、リード処理におけるヘッド素子部の誤選択は、ホストが要求したデータと異なるデータを読み出し、その誤データをホストに転送してしまう。また、ライト処理におけるヘッド素子部の誤選択は、保存しておくべきユーザ・データを上書きしてしまうとともに、ホストからのデータ読み出し要求に対して、誤データをホストに転送することになる。このため、ヘッド素子部の誤選択を確実に防止することが必要とされる。
【0011】
ヘッド・セレクション・テストを確実に行う方法として、ヘッド0とヘッド1とが、同一のシリンダの同一データ・セクタに、それぞれ固有のデータを書き込むことが考えられる。セレクション・エラーがある場合、2回目のデータが1回目のデータを上書きする。上述と同様のミス・セレクションがある場合、HDDがヘッド0のデータ読み出しを試みた場合に、ヘッド1のデータを読み出すため、セレクション・エラーを検出することができる。
【0012】
しかし、各ヘッド素子部が、同一データ・セクタにデータを書き込む場合、データ書き込み及びデータ読み出しのために、ヘッド素子部の数の2倍の磁気ディスク回転が必要とされる。これは、COME READY TIMEの増加につながる。特に、小型のHDDは磁気ディスク回転の安定化時間が短く、COME READY TIMEに占めるヘッド・テスト時間が大きいため、ヘッド・テスト時間の短縮が重要な問題となっている。
【課題を解決するための手段】
【0013】
本発明の一つの態様に係るディスク・ドライブ装置は、1もしくは複数の記録面を備える、1もしくは複数のディスクと、前記1もしくは複数の記録面にアクセスする複数のヘッドと、外部からのトリガに応答して、そのトリガより前に書き込まれており前記複数のヘッドのそれぞれに対応してスキューがついた各テスト・データを、前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行する、コントローラを備える。外部からのトリガの前に予め書き込まれているテスト・データを使用することによって、スキューがついた各テスト・データを読み出すことで正確なヘッド・セレクション・テストを行うことができ、そのテスト時間を短縮することができる。
【0014】
前記1もしくは複数のディスクは、複数の記録面を有し、前記複数のヘッドのそれぞれは、前記複数の記録面のそれぞれに対応し、前記コントローラは、前記外部からのトリガに応答して、前記複数の記録面の同一シリンダの各データ・トラックに前記トリガより前に書き込まれておりスキューがついた各テスト・データを、前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行することができる。複数記録面及びそれに対応したヘッドを備えるディスク・ドライブ装置において、正確なヘッド・セレクション・テストを行うことができ、そのテスト時間を短縮することができる。
【0015】
前記各データ・トラックの複数のデータ・セクタに、前記テスト・データが書き込まれていることが好ましい。これによって、外部からのトリガに応答して迅速にテストを開始することができる。さらに、前記各データ・トラックにおける各テスト・データに対して、他のデータ・トラックの前記予め定められたデータ・セクタ数先に、前記テスト・データが書き込まれており、前記コントローラは、ヘッドを切り替えて、一つ前に読み出したテスト・データから予め定められたセクタ数先のテスト・データを読み出すことが好ましい。これによって、いずれのテスト・データからテストを開始しても、迅速にテストを行うことができる。
【0016】
前記各データ・トラックの全データ・セクタに、前記テスト・データが書き込まれていることが好ましい。これによって、外部からのトリガに応答して即テストを開始することができるとともに、所望のスキューをもったテスト・データを読み出すことができる。
【0017】
前記テスト・データは、対応するヘッドを特定するデータと、前記ヘッド・セレクション・テストを表すデータと、を備えることが好ましい。これによってヘッド選択エラーを検出することができるとともに、テストにおいて目的のシリンダを読み出していることを確認することができる。
【0018】
前記コントローラは、前記ヘッド・セレクション・テストの後に、前記複数の記録面それぞれに、前記ヘッドを切り替えながらデータを書き込み、さらに、前記ヘッドを切り替えながらその書き込まれたデータを読み出して書き込みデータの確認を行うことが好ましい。これによって、ヘッド・テストをより十全に行うことができる。
【0019】
前記コントローラは、前記ヘッド・セレクション・テストの後に、前記複数の記録面の同一シリンダの各データ・トラックに、前記ヘッドを切り替えながらスキューを持ったデータを書き込み、さらに、前記ヘッドを切り替えながらその書き込まれたデータを読み出して書き込みデータの確認を行うことが好ましい。これによって、ヘッド・テストをより十全に行うことができるとともに、書き込みデータの確認を迅速に行うことができる。
【0020】
前記コントローラは、外部からのトリガに応答した初期設定処理において前記ヘッド・セレクション・テストを実行し、そのヘッド・セレクション・テストを実行する初期設定処理よりも以前の初期設定処理において、前記テスト・データを前記各データ・トラックに書き込むことが好ましい。初期設定処理でテスト・データを書き込むことで、容易に確実なテスト・データ書き込みを行うことができる。
【0021】
さらに、前記コントローラは、前記複数ヘッドから正確に選択したヘッドが正確にデータの書き込みを行うことを確認する確認テストを実行した後に、前記テスト・データを前記各データ・トラックに書き込むことが好ましい。これによって、テスト・データが正確に書き込まれていることを保証することができる。
【0022】
さらに、前記確認テストのテスト方法は、前記ヘッド・セレクション・テストと異なることが好ましい。テスト・データの書き込みのためのテストとそれを使用するテストとが異なることで、より確実なヘッド・テストを行うことができる。あるいは、前記テスト・データを書き込んだ後に、前記ヘッド・セレクション・テストを行うことなく前記初期設定処理を終了することが好ましい。別のヘッド・テストが行われており、処理時間を短縮することができる。
【0023】
本発明の他の態様は、ディスク・ドライブ装置における初期設定方法であって、1もしくは複数の記録面において、複数のヘッドを使用してテスト・データを予め書き込み、前記テスト・データを書き込んだ後に受けた外部からのトリガに応答して、初期設定処理を開始し、前記初期設定処理において、前記複数のヘッドのそれぞれに対応してスキューがついた各テスト・データを前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行する。
【0024】
前記ディスク・ドライブ装置は複数の記録面を備え、複数の記録面のそれぞれにおいて、各記録面に対応したヘッドを使用して、同一シリンダのデータ・トラックにテスト・データを予め書き込み、前記テスト・データを書き込んだ後に受けた外部からのトリガに応答して、初期設定処理を開始し、前記初期設定処理において、前記複数の記録面の各データ・トラックにおけるスキューをもった位置にある各テスト・データを、前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行することができる。
【0025】
さらに、前記ヘッド・セレクション・テストの後に、前記複数の記録面の同一シリンダの各データ・トラックに、前記ヘッドを切り替えながらスキューを持ったデータを書き込み、さらに、前記ヘッドを切り替えながらその書き込まれたデータを読み出して書き込みデータの確認を行うことが好ましい。
【0026】
前記複数ヘッドから選択したヘッドが正確にデータの書き込みを行うことを確認する確認テストを実行した後に、前記テスト・データを前記各データ・トラックに書き込むことが好ましい。また、前記確認テストのテスト方法は前記ヘッド・セレクション・テストと異なることが好ましい。
【発明の効果】
【0027】
本発明によれば、ヘッド・セレクション・テストを正確に行うことができるとともに、そのテスト時間を短縮することができる。
【発明を実施するための最良の形態】
【0028】
以下に、本発明を適用可能な実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
【0029】
以下においては、ディスク・ドライブ装置の一例であるハードディスク・ドライブ(HDD)を例として、本発明の実施形態を説明する。本形態のHDDは、外部からのトリガの例である電源投入あるいはホストからのコマンドに応答して、初期設定処理としてのPOR(Power On Reset)処理を実行する。POR処理において、HDDは、ヘッド・テストを実行する。ヘッド・テストは、ヘッド・セレクション・テストとマグネティック・レコーディング・テストとを含む。ヘッド・セレクション・テストは、複数のヘッド素子部から、正確に目的のヘッド素子部を選択していることをチェックする。マグネティック・レコーディング・テストは、選択されたヘッド素子部が、磁気ディスクの所望の位置に正確にデータを書き込み、さらにそのデータを読み出すことがきるかをチェックする。
【0030】
本形態のHDDは、POR処理の前に、予め正確なテスト・データを磁気ディスクの各記録面に書き込んでおく。このテスト・データを使用してヘッド・セレクション・テストを実行することで、ヘッド・テスト時間を短縮することができる。本発明の理解の容易化のため、本形態のPOR処理について説明する前に、まず、HDDの全体構成を説明する。
【0031】
図1は、本実施の形態に係るHDD1の構成を模式的に示すブロック図である。図1に示すように、HDD1は、エンクロージャ10内に、記録ディスクの一例である磁気ディスク11、ヘッドの一例であるヘッド素子部12、アーム電子回路(AE:Arm Electronics)13、スピンドル・モータ(SPM)14、ボイス・コイル・モータ(VCM)15、そしてアクチュエータ16を備えている。本形態のHDD1は複数のヘッド素子部12を備えており、図1においては2つのヘッド素子部12が例示されている。
【0032】
HDD1は、さらに、エンクロージャ10の外側に固定された回路基板20を備えている。回路基板20上には、リード・ライト・チャネル(R/Wチャネル)21、モータ・ドライバ・ユニット22、ハードディスク・コントローラ(HDC)とMPUの集積回路(以下、HDC/MPU)23及びRAM24などの各ICを備えている。尚、各回路構成は一つのICに集積すること、あるいは、複数のICに分けて実装することができる。
【0033】
外部ホスト51からのユーザ・データは、HDC/MPU23によって受信され、R/Wチャネル21、AE13を介して、ヘッド素子部12によって磁気ディスク11に書き込まれる。また、磁気ディスク11に記憶されているユーザ・データはヘッド素子部12によって読み出され、そのユーザ・データは、AE13、R/Wチャネル21を介して、HDC/MPU23から外部ホスト51に出力される。
【0034】
磁気ディスク11は、SPM14に固定されている。SPM14は所定の角速度で磁気ディスク11を回転する。HDC/MPU23からの制御データに従って、モータ・ドライバ・ユニット22がSPM14を駆動する。各ヘッド素子部12はスライダ(不図示)に固定されている。以下において、このアセンブリをヘッド・スライダと呼ぶ。ヘッド・スライダはアクチュエータ16の先端部に固定されている。アクチュエータ16はVCM15に連結され、揺動軸を中心に揺動することによって、ヘッド素子部12(ヘッド・スライダ)を回転する磁気ディスク11上においてその半径方向に移動する。モータ・ドライバ・ユニット22は、HDC/MPU23からの制御データ(以下、DACOUTと呼ぶ)に従ってVCM15を駆動する。
【0035】
ヘッド素子部12には、磁気ディスク11への記録データに応じて電気信号を磁界に変換するライト素子、及び磁気ディスク11からの磁界を電気信号に変換するリード素子を備えている。ライト素子のライト電流値は、HDC/MPU23がセットした制御値に従って変化する。なお、磁気ディスク11は、1枚以上あればよく、記録面は磁気ディスク11の片面あるいは両面に形成することができる。
【0036】
AE13は、HDC/MPU23から指示に従って、複数のヘッド素子部12の中から磁気ディスク11へのアクセスを行う1つのヘッド素子部12を選択し、選択されたヘッド素子部12により再生される再生信号を一定のゲインで増幅(プリアンプ)し、R/Wチャネル21に送る。また、R/Wチャネル21からの記録信号を選択したヘッド素子部12に送る。R/Wチャネル21は、リード処理において、AE13から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたユーザ・データは、HDC/MPU23に供給される。また、ライト処理において、R/Wチャネル21はHDC/MPU23から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してAE13に供給する。
【0037】
HDC/MPU23において、MPUはRAM24にロードされたコードに従って動作する。HDD1の起動に伴い、RAM24には、MPU上で動作するコードの他、制御及びデータ処理に必要とされるデータが磁気ディスク11あるいはROM(不図示)からロードされる。HDC/MPU23は、リード/ライト処理制御、コマンド実行順序の管理、サーボ信号を使用したヘッド素子部12のポジショニング制御(サーボ制御)、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、HDD1の全体制御を実行する。特に、本形態のHDC/MPU23は、POR処理の実行制御を行う。本形態のPOR処理については、後に詳述する。
【0038】
図2は、HDD1におけるSPM14、磁気ディスク11及ヘッド・スタック・アセンブリ(HSA)の構成を模式的に示している。図2の例は、回転軸方向にスタックされた2枚の磁気ディスク11を備え、各磁気ディスク11はデータを記録する記録面を両面に備える。従って、HDD1は4つの記録面11a−11dを備える。また、各記録面11a−11dに対応して、4つのヘッド・スライダ12a−12dを備えている。各ヘッド・スライダ12a−12dは、アクチュエータ16のサスペンション16a−16dのそれぞれに固定されている。本明細書において、アクチュエータ16とヘッド・スライダ12a−12dのアセンブリを、HSAと呼ぶ。
【0039】
各記録面11a−11dに対向する各ヘッド・スライダ12a−12dのABS(Air Bearing Surface)面と回転している記録面11a−11dとの間の空気の粘性による圧力が、サスペンション16a−16dによって記録面11a−11d方向に加えられる圧力とバランスすることによって、各ヘッド・スライダ12a−12dは各記録面11a−11d上を一定のギャップを置いて浮上する。なお、本形態のHDD1は複数の記録面を備えるが、1枚以上の磁気ディスク11を備えればよく、また、記録面を磁気ディスク11の片面もしくは両面に形成することができる。
【0040】
上述のように、HDC/MPU23は、POR処理を実行制御する。HDC/MPU23は、HDD1の電源投入に応答して、あるいはホスト51からのコマンドに従ってPOR処理を実行する。POR処理はHDD1の初期設定処理であり、いくつかの処理工程を含む。例えば、POR処理は、ROMからのマイクロ・コード・ロード、各種ハードウェア診断、SPM14起動、磁気ディスク11からのマイクロ・コード・ロード、サーボ・パラメータ調整、ディフェクト・テーブル・ロードなどを実行する。このほか、POR処理は、ヘッド・テスト(ライト・テスト)を実行する。ヘッド・テストは、正確に選択したヘッド素子部12が正確にデータの書き込み及び読み出しを行うことをチェックする。本形態は、このヘッド・テストに特徴がある。
【0041】
図3は、本形態のヘッド・テストの全体処理構成を示すフローチャートである。POR処理においてヘッド・テストを開始すると(S11)、HDC/MPU23はヘッド・セレクション・テスト(S12)を開始する。ヘッド・セレクション・テスト(S12)は、正確に選択したヘッド素子部12が磁気ディスク11にアクセスすることをチェックする。本形態はそのヘッド・セレクション・テスト(S12)に特徴点を備える。ヘッド・セレクション・テスト(S12)の詳細は、後述する。
【0042】
ヘッド・セレクション・テスト(S12)が、後述する前処理工程(S19)で書き込まれるテスト・データを使用して各ヘッド素子部12を正確に選択することを確認すると(S13におけるYES)、HDC/MPU23はマグネティック・レコーディング・テストを実行する(S14)。マグネティック・レコーディング・テスト(S14)は、各ヘッド素子部12が、各記録面11a−11dの所望位置にデータを書き込み、その書き込まれたデータを読み出して、正確にデータが書き込まれたかを確認する。
【0043】
マグネティック・レコーディング・テスト(S14)が、各ヘッド素子部12が正確に各記録面11a−11dに正確にアクセスすることを確認すると(S15におけるYES)、ヘッド・テストが「パス」として終了する(S16)。他の処理が正常終了すると、POR正常終了として、HDD1はホスト51からのコマンド受付が可能な状態となる。
【0044】
マグネティック・レコーディング・テスト(S14)においてエラーが検出されると(S15におけるNO)、HDC/MPU23はホスト51にフェイルの結果を送信する(S20)。また、ヘッド・セレクション・テスト(S12)においてエラーが発生すると(S13におけるNO)、HDC/MPU23は、ヘッド・セレクション・テスト(S12)及びマグネティック・レコーディング・テスト(S14)とは異なる、他の態様のヘッド・テストを実行する(S17)。
【0045】
このテスト工程(S17)は、ヘッド・セレクションとマグネティック・レコーディングのテストを同時に行う。このテストが正常終了すると(S18におけるYES)、HDC/MPU23は、次のPOR処理におけるヘッド・セレクション・テストのための前処理を行う(S19)。具体的には、HDD1は、磁気ディスク11の各記録面11a−11dにヘッド・セレクション・テスト用のテスト・データを書き込む。S17のヘッド・テストにおいてエラーが検出されると(S18におけるNO)、HDC/MPU23はホスト51にフェイルの結果を送信する。
【0046】
HDD1の最初のPOR処理においては、ヘッド・セレクション・テスト(S12)のテスト・データが書き込まれていないため、(S17)のヘッド・セレクション・マグネティック・レコーディング・テスト及び、次のPOR処理のための前処理(S19)が実行されて終了する。その次からのPOR処理は、エラーが起きなければ、ヘッド・セレクション・テスト(S12)及びマグネティック・レコーディング・テスト(S14)を実行する。ヘッド・セレクション・テスト(S12)においてエラーが起きた場合は、HDD1はヘッド・テスト(S17)及びの前処理(S19)を実行し、マグネティック・レコーディング・テスト(S14)においてエラーが起きたときは、HDD1はフェイルの通知をホスト51に行う。
【0047】
以下において、図3のフローチャートに示された、各テスト工程について詳細に説明する。まず、本形態のヘッド・セレクション・テスト(S12)について説明する。本形態のヘッド・セレクション・テストは、図4に示すように、各記録面11a−11dの特定のシリンダに予め書き込まれているテスト・データを、各ヘッド・スライダ12a−12dのヘッド素子部によって読み出す。テスト・データは、記録面11a−11dの同一シリンダに書き込まれている。つまり、同一シリンダのデータ・トラック111a−111dに、それぞれテスト・データが書き込まれている。以下、各ヘッド・スライダ12a−12dのヘッド素子部を、同一の符号12a−12dで示す。
【0048】
ここで、磁気ディスク・フォーマットを説明する。磁気ディスクの各記録面11a−11dには、磁気ディスク11の中心から半径方向に放射状に延び、所定の角度毎に離間して形成された複数のサーボ領域と、隣り合う2つのサーボ領域間にデータ領域が形成されている。各サーボ領域には、ヘッド素子部12a−12dの位置決め制御を行うためのサーボ・データが記録される。各データ領域には、ユーザ・データが記録される。各記録面11a−11dには、半径方向に所定幅を有し、同心円状に形成された複数のデータ・トラックが形成される。
【0049】
ユーザ・データは、データ・トラックに沿って記録される。一つのデータ・トラックは複数のデータ・セクタ(ユーザ・データの記録単位)を備えており、典型的にはサーボ領域間に複数のデータ・セクタを備える。HDD1における各データ・セクタは、いわゆるCHSアドレス、つまりシリンダ番号、ヘッド番号及びデータ・セクタ番号を使用して特定することができる。シリンダ番号はデータ・トラック番号に対応し、ヘッド番号は記録面番号に対応する。なお、データ・セクタ長が大きい場合は、1データ・セクタが1サーボ領域間を越えることもある。
【0050】
好ましくは、各データ・トラック111a−111dの全データ・セクタにテスト・データが書き込まれている。つまり、図4に示すように、各データ・トラック111a−111dの全データ・セクタが、テスト・データが書き込まれたデータ・セクタ112である。テスト・データは、各ヘッド素子部(ヘッド・スライダ)12a−12dを特定するヘッドID(HEAD ID)113と、ヘッド・セレクション・テストのためのデータであることを示すセレクション・テストID(SELECTION TEST ID)114とを備えている。各データ・トラック111a−111dに書き込まれるテスト・データは、同一のテスト・データでよい。また、セレクション・テストID114は、各データ・トラック111a−111dにおいて同一でよい。
【0051】
HDC/MPU23は、各データ・トラック111a−111dから読み出したデータを、予め備えているヘッドID及びセレクション・テストIDと比較して、同一であることを確認する。読み出したデータが、選択したヘッド素子部に対応するテスト・データである場合、HDC/MPU23は、ヘッド・セレクションを正確に行ったと判定する。ここで重要なことは、各データ・トラック111a−111dには、正確なヘッドIDを備えるテスト・データが書き込まれていることが保証されていることである。
【0052】
図3に示すように、このテスト・データは、ヘッド・セレクション・テスト(S12)の前処理(S19)において各データ・トラック111a−111dにおいて書き込まれる。この前処理の前に、HDD1は他の態様のヘッド・テストを行い(S17)、ヘッド・セレクション及びマグネティック・レコーディングが正確に行われたことを確認している。従って、正確なテスト・データが、各データ・トラック111a−111dに書き込まれていることが保証される。
【0053】
図5は、ヘッド・セレクション・テスト(S12)におけるヘッド選択方法を模式的に示している。図5は、各データ・セクタ115a−115dを、各ヘッド素子部12a−12dが正確に読み出した例を示している。HDC/MPU23は、最初にヘッド素子部12aを選択して、データ・トラック111aのデータ・セクタ115aを読み出す。次に、HDC/MPU23は、ヘッド素子部12bを使用してデータ・トラック111bのデータ・セクタ115bを読み出す。
【0054】
データ・セクタ115bは、データ・セクタ115aに対してスキューをもった位置にある。このスキューは、ヘッド切り替え時間以上であって、それと実質的に同一であることが好ましい。ヘッド切り替え時間は、一つのデータ・トラックのデータ・セクタを読み出してから、他のデータ・トラックのデータ・セクタの読み出しを開始することができるまでの時間である。図5の例においては、ヘッド切り替え時間は2データ・セクタに相当する。
【0055】
続いて、HDC/MPU23はヘッド素子部12cを使用してデータ・トラック111cのデータ・セクタ115cを読み出す。データ・セクタ115cとデータ・セクタ115bとの間の位置関係は、データ・セクタ115cとデータ・セクタ115bとの間の位置関係と同様である。さらに、HDC/MPU23はヘッド素子部12dを使用してデータ・トラック111dのデータ・セクタ115dを読み出す。ヘッド間のスキューについては、上述と同様である。
【0056】
上述のように、それぞれがスキューをもった位置にある各データ・トラックのデータ・セクタを順次読み出すことによって、ヘッド・セレクション・テストのテスト時間を短縮することができる。上述の例においては、磁気ディスク1回転内で、ヘッド・セクション・テストを終了することができる。また、本例においては各データ・トラックの全データ・セクタにテスト・データが書き込まれているので、ヘッド位置にかかわらず最も早いタイミングでテストを開始することができる。
【0057】
このように、ヘッド・セレクション・テストにおいてヘッド素子部毎にスキューを持ってデータ・リードできるのは、予め正確なテスト・データが各データ・トラックに書き込まれていることに拠る。本形態においては、ヘッド・セレクション・テスト(S12)とは異なる態様のテスト(S17)を使用してそれを保証することで、より正確なテストを行うことができる。
【0058】
図5は、各データ・セクタ115a−115dを、各ヘッド素子部12a−12dが正確に読み出す例を示している。これに対して、いずれかのヘッド素子部が正確にテスト・データを読み出すことができない場合の例を、図6(a)及び(b)に示す。データ読み出しエラーは、実際にヘッド素子部がターゲットのデータ・セクタを読み出すことができない場合、あるいは読み出したテスト・データがそのデータ・トラックのテスト・データでない場合を含む。図6(a)は、データ・トラック111bにおいて、ヘッド素子部12bが、データ・セクタ116のテスト・データを正確に読み出すことが出来ない例を示している。
【0059】
ヘッド素子部12aがデータ・セクタ115aのテスト・データを読み出した後、HDC/MPU23は、ヘッド素子部12bによって、データ・セクタ116のテスト・データの読み出しを試みる。しかし、エラーのために、HDC/MPU23は4データ・セクタ先のデータ・セクタ117bの読み出しを行う。外乱もしくは磁気ディスク11上の傷などのためにエラーが繰り返しことを避けるため、複数データ・セクタ先のデータの再読み出しを行うことが好ましい。なお、4データ・セクタは一例である。ヘッド素子部12bはデータ・セクタ117bのテスト・データを正確に読み出し、HDC/MPU23はデータ・トラック111cのデータ・セクタ117cを、ヘッド素子部12cを使用して読み出す。データ・セクタ117cとデータ・セクタ117bとの間には、上述のスキューを持たせてある。さらに、HDC/MPU23はデータ・トラック111dのデータ・セクタ117dを、ヘッド素子部12cを使用して読み出して、ヘッド・セレクション・テストが終了する。
【0060】
図6(a)の例は、エラー発生したデータ・トラック111bからリードのリトライを開始するが、図6(b)に示すように、リトライを最初のデータ・トラック111aから始めることもできる。データ・トラック111bのデータ・セクタ116の読み出しに失敗すると、HDC/MPU23はヘッド素子部12aを選択して、データ・セクタ117aの読み出しを行う。その後、スキューを持って配置されているデータ・セクタ117b、117c及び117dを、HDC/MPU23は読み出していく。本例においては、データ・トラックの全セクタにテスト・データが書き込まれているので、ヘッド位置に関わらずテスト・データのリード処理を開始することができ、テスト時間の短縮に寄与する。
【0061】
なお、規定数リトライを繰り返しても正確にテスト・データを読み出すことができない場合、ヘッド・セレクション・テストはエラーとなり(図3、S13におけるNO)HDC/MPU23は、ヘッド・セレクションとマグネティック・レコーディングの同時テスト工程に移行する。
【0062】
ヘッド・セレクション・テスト(S12)の具体的工程を、図7のフローチャートを参照して説明する。ヘッド・セレクション・テストが開始すると(S121)、HDC/MPU23は、各変数に初期値を設定する(S122)。設定する変数は、リトライ回数RETRY_CNT、テスト・シリンダTEST_CYL、テスト・ヘッドTEST_HD及びテスト・セクタTEST_SCTである。
【0063】
リトライ回数RETRY_CNTには、リード・リトライを行う最大数MAX.RETRY#が設定され、テスト・シリンダTEST_CYLには、テスト・シリンダ番号TEST_CYLINDER#が設定される。テスト・シリンダTEST_CYLは、典型的には、各記録面においてユーザ・データが書き込まれることがない管理領域内に設定される。テスト・ヘッドTEST_HDには、最初にテストするヘッド素子部として最大ヘッド番号MAX.HEAD#が代入され(図2の例において3)、テスト・セクタTEST_SCTには、テストするシリンダTEST_CYLINDER#において読み出すデータ・セクタ番号S#が設定される。
【0064】
HDC/MPU23は、各変数TEST_CYL、TEST_HD及びTEST_SCTが示すデータ・セクタのデータを読み出し、さらに、その読み出したテスト・データを確認する(S123)。確認は、読み出したデータと、そのデータ・セクタに対応する予め保存されたヘッドIDとセレクション・テストIDとを比較することで行う。比較する基準データは、磁気ディスク11もしくはROMからロードされ、HDC/MPU23のレジスタもしくはRAM24に格納しておくことができる。この点は、以下のベリファイ処理において同様である。
【0065】
ターゲット・セクタから正確なデータを読み出すことができた場合(S124におけるYES)、HDC/MPU23は、次にテストするヘッド素子部(記録面)とその記録面から読み出すデータ・セクタを設定する(S125)。本例においては隣接するヘッド素子部を選択し、具体的には、テスト終了したヘッド素子部の一つ前(1だけ小さい)のヘッド番号を備えるヘッド素子部を選択する。また、アクセス時間を短縮するため、ヘッド切り替え時間に相当するスキューを備えるデータ・セクタが選択される。なお、スキュー値は、予め磁気ディスク11の管理領域などに登録されており、HDC/MPU23はそのスキュー値を使用する。
【0066】
設定されたヘッド番号が0である場合(S126におけるYES)、全てのヘッド素子部及び記録面のテストが終了しているため、ヘッド・セレクション・テスト(S12)は正常終了する(S127)。ヘッド番号が0に達していない場合(S126におけるNO)、選択されたヘッド素子部及びデータ・セクタについて、データ読み出し及び読み出しデータの確認処理を実行する。ヘッド番号が0に達するまで、つまり、全てのヘッド素子部のテストが終了するまで、このループを繰り返す。なお、各ヘッド素子部に対応したシリンダは、全て同一である。
【0067】
データを正確に読み出すことができない場合(S124におけるNO)、HDC/MPU23は、そのヘッド素子部の同一データ・トラックにおける異なるデータ・セクタの読み出しを行う。本例においては、HDC/MPU23は、4データ・セクタ先のデータ・セクタを読み出すべきターゲット・セクタとして設定する(S128)。さらに、HDC/MPU23は、リトライ回数を示す変数RETRY_CNTから1を引く(S128)。
【0068】
変数RETRY_CNTが0に達し、規定数のリトライが繰り返された場合(S129におけるYES)、HDC/MPU23は、ヘッド・セレクション・テストをフェイルと判定する(S130)。リトライ回数が規定数に達してない場合(S129におけるNO)、設定されたターゲット・データ・セクタについて、HDC/MPU23はリード・ベリファイを実行する。以下、上述の処理を繰り返していく。
【0069】
上述のように、テスト・データは、データ・トラックの全データ・セクタに書き込まれていることが好ましい。しかし、各データ・トラックにおいて、離間した複数のデータ・セクタにテスト・データを書き込むことができる。図8(a)はリード・ベリファイ・エラーが起きることなくヘッド・セレクション・テストが終了するケース、図8(b)はデータ・トラック111bにおいてエラー発生する例を示している。
【0070】
図8(a)及び図8(b)は、6データ・セクタ毎にテスト・データが書き込まれている例を示しており、テスト・データが書き込まれているデータ・セクタ112の間には5つのテスト・データが書き込まれていないデータ・セクタ118が存在する。データ・トラック間においては、テスト・データが書き込まれているデータ・セクタ112は、スキューを持って選択されている。つまり、隣接する二つのデータ・トラックにおいて、隣接するデータ・セクタ112間の間隔は3データ・セクタである。2データ・セクタはヘッド切り替え時間に相当する。
【0071】
図8(a)を参照して、HDC/MPU23は、データ・トラック111aのデータ・セクタ115aをヘッド素子部12aで読み出し、読み出したデータの確認を行う。正確なデータ読み出しを確認すると、HDC/MPU23はデータ・トラック111bのデータ・セクタ115bをヘッド素子部12bで読み出し、読み出したデータの確認を行う。以下、データ・トラック111c、111dについても同様の処理を実行する。
【0072】
図8(b)に示すように、データ・トラック111bのデータ・セクタ116でリード・ベリファイ・エラーが発生すると、HDC/MPU23は同一のデータ・トラック111bのデータ・セクタ117bの次のテスト・データを読み出す。以下、データ・トラック111b、111c、111dの各データ・セクタ117b、117c、117dを読み出し、確認処理を行う。なお、HDC/MPU23は、図6(a)の例のように、エラー発生したデータ・トラックから再リード処理を行ってもよい。
【0073】
次に、マグネティック・レコーディング・テスト(S14)の具体的処理を説明する。本形態のマグネティック・レコーディング・テストは、各データ・トラック111a−111dに順次データを書き込み、その後、各データ・トラック111a−111dの書き込みデータを順次読み出す。HDC/MPU23は、この読み出したデータと予め保存してある書き込みデータとを比較して、正確にデータが書き込み・読み出されたことの確認処理を行う。本例において、マグネティック・レコーディング・テストが使用するシリンダはヘッド・セレクション・テストと同一である。書き込むデータは、ヘッド・セレクション・テストで使用するヘッドID及びセレクション・テストIDに加えて、テスト毎に生成される乱数を含む。ヘッド・セレクション・テストで必要とされるデータ・サイズは1セクタのサイズより小さいので、余っているエリアにテスト毎に生成される乱数を埋め込み、リード時に確認を行う。これによって、確実にベリファイ処理を行うことができる。
【0074】
マグネティック・レコーディング・テスト(S14)において、各データ・トラック111a−111dへのアクセスは、スキューをもって実行される。つまり、図9に示すように、HDC/MPU23は、各データ・トラック111a−111dにおいて、ヘッド切り替え時間に相当するスキューを持って選択されたデータ・セクタ119a−119dにデータを書き込む。データ書き込みは、磁気ディスク11の1回転内で終了することができる。
【0075】
さらに、データ書き込みの後、HDC/MPU23は、データ・セクタ119a−119dを順次読み出し、読み出したデータの確認処理を実行する。データ読み出しに必要な時間はデータ書き込みと同様であって、磁気ディスク1回転内で全データ・セクタ119a−119dを読み出すことができる。HDC/MPU23は、各データ・セクタ119a−119dを読み出す毎に、正確なデータを読み出したかを確認する。このように、スキューをもって選択された各データ・トラックのデータ・セクタにアクセスすることによって、マグネティック・レコーディング・テストのテスト時間を短縮することができる。
【0076】
マグネティック・レコーディング・テスト(S14)の具体的工程を、図10のフローチャートを参照して説明する。マグネティック・レコーディング・テストが開始すると(S141)、HDC/MPU23は、各変数に初期値を設定する(S142)。設定する変数は、リトライ回数RETRY_CNT、テスト・シリンダTEST_CYL、テスト・ヘッドTEST_HD及びテスト・セクタTEST_SCTである。
【0077】
リトライ回数RETRY_CNTには、リトライを行う最大数MAX.RETRY#が代入され、テスト・シリンダTEST_CYLには、テスト・シリンダ番号TEST_CYLINDER#が代入される。テスト・ヘッドTEST_HDには、最大ヘッド番号MAX.HEAD#が代入され、テスト・セクタTEST_SCTには、テストするシリンダTEST_CYLINDER#において読み出すデータ・セクタ番号S#が代入される。
【0078】
HDC/MPU23は、各変数TEST_CYL、TEST_HD及びTEST_SCTが示すデータ・セクタへのライト処理を行う(S143)。ライト・データは、上述のように、ヘッドID及びセレクション・テストID及びテスト毎に生成される乱数である。ライト・アボートとならず、データをターゲット・セクタに書きこむことができると(S144におけるYES)、HDC/MPU23は、次にテストするヘッド素子部(TEST_HD)の設定(S145)及びその記録面から読み出すデータ・セクタ(TEST_SCT)の設定を行う(S146)。
【0079】
本例においては、ライト終了したヘッド素子部の一つ前(1だけ小さい)のヘッド番号を備えるヘッド素子部を選択する(S145)。つまり、隣接するヘッド素子部を選択する。また、アクセス時間を短縮するため、ヘッド切り替え時間に相当するスキューを備えるデータ・セクタが選択される(S146)。なお、スキュー値は、予め磁気ディスク11の管理領域などに登録されており、HDC/MPU23はそのスキュー値を使用する。
【0080】
設定されたヘッド番号が0である場合(S147におけるYES)、全てのヘッド素子部によるデータ書き込みが終了しているため、各データ・トラックへのデータ書き込みは正常に終了する。ヘッド番号が0に達していない場合(S147におけるNO)、上記選択されたヘッド素子部による選択されたデータ・セクタへのデータ書き込みを実行する。ヘッド番号が0に達するまで、つまり、全てのヘッド素子部のデータ書き込みが終了するまで、このループを繰り返す。
【0081】
ヘッド素子部によるデータ書き込みにおいてライト・アボートが起きた場合(S144におけるNO)、HDC/MPU23はライト・リトライを実行する。具体的には、HDC/MPU23は最初に選択したヘッド素子部に戻って、ライト処理を初めから繰り返す。HDC/MPU23は、最初のヘッド素子部(MAX.HEAD#)によって、同一データ・トラックの異なるデータ・セクタへのデータ書き込みを試みる。本例においては、HDC/MPU23は予め定められたセクタ数先のデータ・セクタへのライト処理を実行する。本例においては、4データ・セクタ先のデータ・セクタへのライト処理を実行する(S155)。このため、ライト・リトライの前に、HDC/MPU23は、変数リトライ回数RETRY_CNTから1を減じ、変数テスト・セクタTEST_SCTに4を加算し、テスト・ヘッドTEST_HDにMAX.HEAD#を代入する(S155)。
【0082】
変数リトライ回数RETRY_CNTが0を示す場合(S156におけるYES)、規定数のリトライを実行したことを意味するので、HDC/MPU23はマグネティック・レコーディング・テストにおいて回復不能なエラーがあると判定し、テスト・フェイルの判定を行う(S156)。リトライ数が規定数に達していない場合(S156におけるNO)、S144〜S147に示したように、最初のヘッド素子部(MAX.HEAD#)からライト処理を実行する。
【0083】
データ書き込み処理が終了すると、HDD1は、次にデータ読み出し処理を実行する。HDC/MPU23は、テスト・ヘッドTEST_HDにMAX.HEAD#を代入し(S148)、ライト処理と同様に、ヘッド番号MAX.HEAD#のヘッド素子部から、リード・ベリファイ処理を開始する(S149)。リード・ベリファイ処理が成功すると(S150におけるYES)、次のヘッド素子部を選択し(S151)、そのヘッド素子部が読み出すデータ・セクタを設定する(S152)。選択するヘッド素子部のヘッド番号は、一つ前のヘッド素子部の番号から1を減じたものであり、隣接するヘッド素子部である(S151)。また、読み出すデータ・セクタは、一つまえの読み出しデータ・セクタに対して、データ書き込み処理において付されたスキューずれたものとなる(S152)。
【0084】
ヘッド番号が0である場合(S153におけるYES)、すでに全ヘッド素子部によるリード・ベリファイ処理が正常に終了しているので、HDC/MPU23はマグネティック・レコーディング・テストを正常終了する(S154)。ヘッド番号が0でない場合(S153におけるNO)、リード・ベリファイを終了していないヘッド素子部が存在するので、HDC/MPU23は処理を続行する。
【0085】
いずれかのヘッド素子部によるリード・ベリファイ処理においてエラーが発生した場合(S150におけるNO)、HDC/MPU23は、マグネティック・レコーディング・テストの最初のステップ、つまりデータ書き込み処理から再開する。このとき、データを書き込むデータ・セクタ番号は、エラー発生時のデータ・セクタ番号に予め定められた数だけ異なる。具体的には、ライト処理においてエラー発生した場合と同様に、4データ・セクタだけ離れたデータ・セクタを選択する(S155)。以下の処理は、上述と同様である。
【0086】
次に、ヘッド・セレクションとマグネティック・レコーディングの同時テスト(S17)の説明を行う。このテストは、図11に示すように、各データ・トラック111a−111dの同一セクタ120a−120dにデータを書き込み、さらに、その書き込んだ各データを読み出し、確認処理を実行する。書き込むデータは、各ヘッド素子部を特定するヘッドID(HEAD ID)と、この同時テスト毎に生成される乱数(RANDOM DATA)を含む。
【0087】
具体的には、図11に示すように、HDC/MPU23はヘッド素子部12aを選択して、データ・トラック111aのデータ・セクタ120aにデータを書き込む。次に、磁気ディスク11が1回転するのを待って、データ・トラック111bの同一データ・セクタ120bにデータを書き込む。以後、データ・トラック111c及びデータ・トラック111dの各同一データ・セクタ120c、120dに、磁気ディスク11の回転を待ってそれぞれデータを書き込む。
【0088】
続いて、HDC/MPU23は書き込んだデータの確認処理を実行する。まず、HDC/MPU23はヘッド素子部12aを選択して、データ・トラック111aのデータ・セクタ120aを読み出し、そのデータが正確なデータであるか確認する。次に、磁気ディスク11が1回転するのを待って、データ・トラック111bのデータ・セクタ120bのリード・ベリファイ処理を行う。以後、データ・トラック111c及びデータ・トラック111dの各同一データ・セクタ120c、120dについて、磁気ディスク11の回転を待ってそれぞれリード・ベリファイ処理を行う。
【0089】
各データ・トラック111a−111dの同一セクタにデータを書き込むことによって、ヘッド・セレクション・テストとマグネティック・レコーディング・テストとを同時に行うことができる。例えば、ヘッド素子部12aの代わりに、間違えてヘッド素子部12bを選択する場合、データ・トラック111aには、ヘッド素子部12bに対応するデータが書き込まれる。従って、データ・トラック111aの確認処理は、ヘッド素子部12bに対応するデータを読み出すため、HDC/MPU23がヘッド・セレクション・エラーを検出することができる。
【0090】
上述の説明から理解されるように、エラーなく終了する場合、この同時テストは磁気ディスク8回転の時間を必要とする。一方、予め書き込まれているテスト・データを使用したヘッド・セレクション・テスト(S12)及びマグネティック・レコーディング・テスト(S14)は、それぞれは磁気ディスク1回転の時間と磁気ディスク2回転の時間を要する。従って、予め書き込まれているテスト・データを使用することで、5回転の時間短縮となる。
【0091】
同時テスト(S17)の具体的工程を、図12のフローチャートに示す。このテストのフローチャート(図12)と、マグネティック・レコーディング・テスト(S14)のフローチャート(図10)との相違は、図10のフローチャートが、S146及びS152の各工程備えることである。つまり、各データ・トラック111a−111dに書き込まれるデータ・セクタが、スキューをもって配置されているか否か、そしてデータ書き込みのためにHDC/MPU23が磁気ディスク11の回転を待つか否かである。従って、図12のフローチャートの詳細説明は省略する。各工程の対応は以下の通りである。S171−S175がS141−S145に対応し、S176−S180がS147−S151に対応し、S181−S185がS153−S157に対応する。
【0092】
最後に、ヘッド・セレクション・テスト(S12)のための前処理(S19)について説明する。この処理は、ヘッド・セレクション・テスト(S12)のための下地データを、選択されたシリンダの各データ・トラック111a−111dに書き込む。前処理(S19)は、最初のPOR処理、あるいは、POR処理におけるヘッド・セレクション・テスト(S12)でエラーが発生した場合に実行される。書き込むデータについては上述の通りである。また、ヘッド・セレクション・テスト(S12)におけるエラーとしては、テスト・データやサーボ・データのエラー、外乱によるヘッドのポジショニング・エラー、回路基板20の接触不良によるセレクション・エラーなどがある。
【0093】
図13のフローチャートを参照して、具体的工程を説明する。ヘッド・セレクション・テストのための前処理が開始すると(S191)、HDC/MPU23は、各変数に初期値を設定する(S192)。設定する変数は、テスト・データを書き込むシリンダCYL、最初にデータを書き込むヘッドHEAD及び最初にデータを書き込みデータ・セクタSCTである。変数CYLには、所定のシリンダ番号CYLINDER#が代入され、変数HEADには最大ヘッド番号MAX.HEAD#が代入され、変数SCTには0が代入される。
【0094】
次に、HDC/MPU23は、下地データとして書き込むテスト・データの設定を行う(S193)。具体的には、各データ・セクタは、その0ビット目からヘッド番号を特定するデータHEAD#を備える。さらに、各データ・セクタは、16ビット目からヘッド・セレクション・テスト用のデータであることを表すデータを含み、図13においては、ABCD1234H(16進数)が例示されている。HDC/MPU23は、設定したMAX.HEAD#のヘッド素子部によって、シリンダCYLINDER#の全データ・トラックの全セクタにテスト・データのライト処理を実行する(S194)。
【0095】
このライト処理において、いずれかのデータ・セクタのデータ書き込みにおいてライト・アボートなどのエラーが発生した場合(S195におけるNO)、そのエラー・データ・セクタへのデータ書き込みをスキップして、その次のデータ・セクタへのライト処理を開始する。具体的には、HDC/MPU23は、エラーを起こしたデータ・セクタがそのトラックの最後のデータ・セクタであるかを判定する(S199)。最後のデータ・セクタでない場合(S199におけるNO)、そのエラー・セクタの次のデータ・セクタを書き込みターゲット・セクタと設定して(S200)、テスト・データのライト処理を続行する(S194)。
【0096】
エラーが発生した場合には、データ・トラックの全データ・セクタにデータが書き込まれないが、エラー発生はまれであり、また、わずかな数のデータ・セクタにテスト・データが書き込まれていなくとも、ヘッド・セレクション・テストのテスト時間に実質的な影響はない。一方。エラーがおきたデータ・セクタへのリライトは、この処理の時間を増加させることになるため、処理時間短縮の点から、上述のようにスキップすることが好ましい。なお、この処理の処理時間を考慮しないのであれば、エラー・セクタへのリライト処理を行ってもよい。
【0097】
エラー・セクタが、そのトラックの最後のデータ・セクタである場合(S199におけるYES)、HDC/MPU23は次のヘッド素子部を選択する(S196)。選択するヘッド素子部のヘッド番号は、その前のヘッド素子部のヘッド番号から1を減じたものであり、隣接ヘッドである。データ・トラックの全てのデータ・セクタに正常にテスト・データを書き込んだ場合も(S195におけるYES)、同様である。
【0098】
HDC/MPU23は、以上の処理を全てのヘッド素子部について実行する(S197におけるNOによるループ)。最後のヘッド素子部によるテスト・データのライト処理が終了すると(S197におけるYES)、ヘッド・セレクション・テストのための前処理が終了する(S198)。
【0099】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。例えば、本発明は、HDDに好適であるが、他のディスク・ドライブ装置に適用することができる。上述の各処理は、隣接ヘッド素子部を順次選択するが、ヘッド素子部の選択順序は設計によって変更することができる。例えば、ライト処理とリード処理のヘッド選択順序が異なることができる。上述においては、一つのテスト・シリンダにおいて各テストを実行するが、例えば、ヘッド・セレクション・テストとマグネティック・レコーディング・テストとを、異なるシリンダにおいて実行することができる。
【0100】
上述の例はPORにおけるヘッド・テストを説明しているが、他の態様におけるヘッド・テストに本発明を適用することが可能である。確実なヘッド・テストを行うためには、上述の例のように、ヘッド・セレクション・テストとマグネティック・レコーディング・テストをセットで行うことが好ましいが、他の態様においてヘッド・セレクション・テストのみを行うことの可能である。
【0101】
上述のように、ヘッド・セレクション・テストのテスト・データは、一つ以上前のPOR処理において書き込むことが好ましいが、例えば、サーボ・ライトなどの製造工程において、そのデータを磁気ディスクに書き込んでおくことも可能である。また、上述のHDDにおいては、1ヘッドが1記録面に対応するが、HDDは1記録面に複数のヘッド素子部を備え、各ヘッド素子部を上述手法に違ってテストすることができる。あるいは、2回目以降のPOR処理においてヘッド・セレクション・テスト(S12)においてエラーが発生した場合、(S17)の同時テスト及びその結果のチェック(S18)をスキップしてもよい。
【図面の簡単な説明】
【0102】
【図1】本実施形態において、HDDの全体構成を模式的に示すブロック図である。
【図2】本実施形態において、HDDにおけるSPM、磁気ディスク及びHSAの構成を模式的に示す図である。
【図3】本実施形態のヘッド・テストの全体処理構成を示すフローチャートである。
【図4】本実施形態のヘッド・セレクション・テストにおいて読み出されるテスト・データを模式的に示す図である。
【図5】本実施形態において、ヘッド・セレクション・テストにおけるヘッド選択方法を模式的に示す図である。
【図6】本実施形態のヘッド・セレクション・テストにおいて、いずれかのヘッド素子部が正確にテスト・データを読み出すことができない場合の例を模式的に示す図である。
【図7】本実施形態のヘッド・セレクション・テストの具体的工程を示すフローチャートである。
【図8】本実施形態のヘッド・セレクション・テストにおいて、読み出されるテスト・データ及びその読み出し方法の他の例を模式的に示す図である。
【図9】本実施形態のマグネティック・レコーディング・テストにおいて、アクセスするデータ・セクタ及びアクセス方法を模式的に示す図である。
【図10】本実施形態のマグネティック・レコーディング・テストの具体的工程を示すフローチャートである。
【図11】本実施形態のヘッド・セレクションとマグネティック・レコーディングの同時テストにおいて、アクセスするデータ・セクタ及びアクセス方法を模式的に示す図である。
【図12】本実施形態のヘッド・セレクションとマグネティック・レコーディングの同時テストの具体的工程を示すフローチャートである。
【図13】本実施形態において、ヘッド・セレクション・テストのためのテスト・データを次のPORの前に予め書き込む処理を示す模式的に示すフローチャートである。
【符号の説明】
【0103】
10 エンクロージャ、11 磁気ディスク、11a−11d 記録面
12 ヘッド素子部、13 アーム・エレクトロニクス、14 スピンドル・モータ
15 ボイス・コイル・モータ、16 アクチュエータ
16a−16d サスペンション、20 回路基板、21 R/Wチャネル
22 モータ・ドライバ・ユニット、23 HDC/MPU、24 RAM
51 ホスト、111a−111d データ・トラック
【技術分野】
【0001】
本発明はディスク・ドライブ装置及びそのヘッド・テスト方法に関し、特に、ディスク・ドライブ装置におけるヘッド・セレクション・テストに関する。
【背景技術】
【0002】
ディスク・ドライブ装置として、光ディスクや光磁気ディスクなどの様々な態様の記録ディスクを使用する装置が知られているが、その中で、ハードディスク・ドライブ(Hard Disk Drive:HDD)は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない装置の一つとなっている。更に、コンピュータにとどまらず、動画像記録再生装置、カーナビゲーション・システム、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、HDDの用途は、その優れた特性により益々拡大している。
【0003】
HDDは一つもしくは複数の磁気ディスク、各磁気ディスクの各記録面において同心円状に形成された複数のデータ・トラックを有している。各データ・トラックはアドレス情報を有する複数のサーボ・データとユーザ・データを含む複数のデータ・セクタが記録されている。揺動するアクチュエータに支持されたヘッド・スライダのヘッド素子部が、サーボ・データのアドレス情報に従って所望のデータ・セクタにアクセスすることによって、データ・セクタへのデータ書き込み及びデータ・セクタからのデータ読み出しを行うことができる。
【0004】
上述のように、現在、コンシューマ・エレクトロニクス(Consumer Electronics:CE)に大容量記憶装置としてHDDが搭載されるケースが増えてきている。その導入において、他の記憶装置と比較される問題の一つとしてCOME READY TIMEの遅延が挙げられる。一般に、HDDにおけるCOME READY TIMEとは、電源がONにセットされてから、その装置のインターフェースがREADYになるまでの時間と捉えられている。しかし、特にコンシューマ・エレクトロニクスにおいて問題とされるのは、HDDのリード/ライトの準備が整うまでの時間である。これは、CEデバイス自身の起動のためには、そこに組み込まれている記憶装置の情報が必要不可欠だからである。本明細書においては、この時間をCOME READY TIMEとする。
【0005】
HDDは、その電源が投入されると、初期設定処理であるPOR処理(Power On Reset処理)を実行する。このPOR処理が正常に終了すると、ホストからコマンドを受けることが可能となる。つまり、このPOR処理の時間がCOME READY TIMEに対応する。なお、POR処理において解決不能なエラーが発生すると、HDD自体がフェイルとなって使用不可となる。
【0006】
典型的なPOR処理において、HDDはライト・テストを実行する。ライト・テストは、磁気ディスクへの正確なデータ書き込み及びデータ読み出しをテストする。多くのHDDは、その記憶容量を上げるため、複数の記録面と各記録面に対応した複数のヘッド・スライダとを備えている。このため、ライト・テストは二つの点についてチェックを行う。一つには、正確に目的のヘッド素子部を選択していることをチェックする(ヘッド・セレクション・チェック)。他の一つとして、選択したヘッド素子部が実際にデータの書き込み及び読み出しを行うことができるかをチェックする(マグネティック・レコーディング・チェック)。
【0007】
COME READY TIMEを短縮するために、ライト・テストの実行時間を短縮することが望ましい。その一つの手法は、例えば、特許文献1に開示されている。特許文献1に開示の技術は、定期的又は不定期に、ヘッド素子部の診断を実施して、障害の発生を検知する。ヘッド素子部の診断処理時間を短縮するために、ヘッド素子部毎の診断領域を磁気ディスク上において、ヘッド切り替え処理時間分ずらして配置する。これにより、磁気ディスクが1回転する間に複数のヘッド素子部にて診断領域の書き込みまたは読み出しを実施し、診断処理時間を短縮することができる。
【特許文献1】特開2003−263703号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかし、ヘッド切り替え処理時間分ずらして、磁気ヘッドによるテスト・データの書き込み及び読み出しを行う場合、正確にヘッド・セレクション・チェックを行うことができない場合がある。具体的に、HDDがヘッド0とヘッド1の二つのヘッド素子部を備えるケースについて説明する。各ヘッド素子部で記録面へのデータの書き込みを順次行い、その後に各ヘッド素子部でデータの読み出しを順次行う。各記録面に書き込むデータの円周方向位置は、ヘッド素子部の切り替え処理時間分ずれている。
【0009】
もし、HDDが、ヘッド0の代わりに、間違えてヘッド1を選択すると、HDDは、ヘッド1でデータを書き込んだ後、もう一度ヘッド1を選択してデータを書き込む。さらに、HDDは、ヘッド0を選択するつもりでヘッド1を選択し、先に1回目に書き込んだデータを読み出す。さらに、HDDはヘッド1を選択して、2回目に書き込んだデータを読み出す。
【0010】
ヘッド1が書き込んだ各データは、ヘッド切り替え処理時間分ずれているので、2回目のデータが1回目のデータを上書きすることがない。従って、HDDは、1回目及び2回目のデータを正確に読み出し、ヘッド・セレクションを正確に行ったと誤認識する。ヘッド素子部の誤選択は、ユーザ・データの消去、あるいは誤データのホストへの転送となる。具体的には、リード処理におけるヘッド素子部の誤選択は、ホストが要求したデータと異なるデータを読み出し、その誤データをホストに転送してしまう。また、ライト処理におけるヘッド素子部の誤選択は、保存しておくべきユーザ・データを上書きしてしまうとともに、ホストからのデータ読み出し要求に対して、誤データをホストに転送することになる。このため、ヘッド素子部の誤選択を確実に防止することが必要とされる。
【0011】
ヘッド・セレクション・テストを確実に行う方法として、ヘッド0とヘッド1とが、同一のシリンダの同一データ・セクタに、それぞれ固有のデータを書き込むことが考えられる。セレクション・エラーがある場合、2回目のデータが1回目のデータを上書きする。上述と同様のミス・セレクションがある場合、HDDがヘッド0のデータ読み出しを試みた場合に、ヘッド1のデータを読み出すため、セレクション・エラーを検出することができる。
【0012】
しかし、各ヘッド素子部が、同一データ・セクタにデータを書き込む場合、データ書き込み及びデータ読み出しのために、ヘッド素子部の数の2倍の磁気ディスク回転が必要とされる。これは、COME READY TIMEの増加につながる。特に、小型のHDDは磁気ディスク回転の安定化時間が短く、COME READY TIMEに占めるヘッド・テスト時間が大きいため、ヘッド・テスト時間の短縮が重要な問題となっている。
【課題を解決するための手段】
【0013】
本発明の一つの態様に係るディスク・ドライブ装置は、1もしくは複数の記録面を備える、1もしくは複数のディスクと、前記1もしくは複数の記録面にアクセスする複数のヘッドと、外部からのトリガに応答して、そのトリガより前に書き込まれており前記複数のヘッドのそれぞれに対応してスキューがついた各テスト・データを、前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行する、コントローラを備える。外部からのトリガの前に予め書き込まれているテスト・データを使用することによって、スキューがついた各テスト・データを読み出すことで正確なヘッド・セレクション・テストを行うことができ、そのテスト時間を短縮することができる。
【0014】
前記1もしくは複数のディスクは、複数の記録面を有し、前記複数のヘッドのそれぞれは、前記複数の記録面のそれぞれに対応し、前記コントローラは、前記外部からのトリガに応答して、前記複数の記録面の同一シリンダの各データ・トラックに前記トリガより前に書き込まれておりスキューがついた各テスト・データを、前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行することができる。複数記録面及びそれに対応したヘッドを備えるディスク・ドライブ装置において、正確なヘッド・セレクション・テストを行うことができ、そのテスト時間を短縮することができる。
【0015】
前記各データ・トラックの複数のデータ・セクタに、前記テスト・データが書き込まれていることが好ましい。これによって、外部からのトリガに応答して迅速にテストを開始することができる。さらに、前記各データ・トラックにおける各テスト・データに対して、他のデータ・トラックの前記予め定められたデータ・セクタ数先に、前記テスト・データが書き込まれており、前記コントローラは、ヘッドを切り替えて、一つ前に読み出したテスト・データから予め定められたセクタ数先のテスト・データを読み出すことが好ましい。これによって、いずれのテスト・データからテストを開始しても、迅速にテストを行うことができる。
【0016】
前記各データ・トラックの全データ・セクタに、前記テスト・データが書き込まれていることが好ましい。これによって、外部からのトリガに応答して即テストを開始することができるとともに、所望のスキューをもったテスト・データを読み出すことができる。
【0017】
前記テスト・データは、対応するヘッドを特定するデータと、前記ヘッド・セレクション・テストを表すデータと、を備えることが好ましい。これによってヘッド選択エラーを検出することができるとともに、テストにおいて目的のシリンダを読み出していることを確認することができる。
【0018】
前記コントローラは、前記ヘッド・セレクション・テストの後に、前記複数の記録面それぞれに、前記ヘッドを切り替えながらデータを書き込み、さらに、前記ヘッドを切り替えながらその書き込まれたデータを読み出して書き込みデータの確認を行うことが好ましい。これによって、ヘッド・テストをより十全に行うことができる。
【0019】
前記コントローラは、前記ヘッド・セレクション・テストの後に、前記複数の記録面の同一シリンダの各データ・トラックに、前記ヘッドを切り替えながらスキューを持ったデータを書き込み、さらに、前記ヘッドを切り替えながらその書き込まれたデータを読み出して書き込みデータの確認を行うことが好ましい。これによって、ヘッド・テストをより十全に行うことができるとともに、書き込みデータの確認を迅速に行うことができる。
【0020】
前記コントローラは、外部からのトリガに応答した初期設定処理において前記ヘッド・セレクション・テストを実行し、そのヘッド・セレクション・テストを実行する初期設定処理よりも以前の初期設定処理において、前記テスト・データを前記各データ・トラックに書き込むことが好ましい。初期設定処理でテスト・データを書き込むことで、容易に確実なテスト・データ書き込みを行うことができる。
【0021】
さらに、前記コントローラは、前記複数ヘッドから正確に選択したヘッドが正確にデータの書き込みを行うことを確認する確認テストを実行した後に、前記テスト・データを前記各データ・トラックに書き込むことが好ましい。これによって、テスト・データが正確に書き込まれていることを保証することができる。
【0022】
さらに、前記確認テストのテスト方法は、前記ヘッド・セレクション・テストと異なることが好ましい。テスト・データの書き込みのためのテストとそれを使用するテストとが異なることで、より確実なヘッド・テストを行うことができる。あるいは、前記テスト・データを書き込んだ後に、前記ヘッド・セレクション・テストを行うことなく前記初期設定処理を終了することが好ましい。別のヘッド・テストが行われており、処理時間を短縮することができる。
【0023】
本発明の他の態様は、ディスク・ドライブ装置における初期設定方法であって、1もしくは複数の記録面において、複数のヘッドを使用してテスト・データを予め書き込み、前記テスト・データを書き込んだ後に受けた外部からのトリガに応答して、初期設定処理を開始し、前記初期設定処理において、前記複数のヘッドのそれぞれに対応してスキューがついた各テスト・データを前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行する。
【0024】
前記ディスク・ドライブ装置は複数の記録面を備え、複数の記録面のそれぞれにおいて、各記録面に対応したヘッドを使用して、同一シリンダのデータ・トラックにテスト・データを予め書き込み、前記テスト・データを書き込んだ後に受けた外部からのトリガに応答して、初期設定処理を開始し、前記初期設定処理において、前記複数の記録面の各データ・トラックにおけるスキューをもった位置にある各テスト・データを、前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行することができる。
【0025】
さらに、前記ヘッド・セレクション・テストの後に、前記複数の記録面の同一シリンダの各データ・トラックに、前記ヘッドを切り替えながらスキューを持ったデータを書き込み、さらに、前記ヘッドを切り替えながらその書き込まれたデータを読み出して書き込みデータの確認を行うことが好ましい。
【0026】
前記複数ヘッドから選択したヘッドが正確にデータの書き込みを行うことを確認する確認テストを実行した後に、前記テスト・データを前記各データ・トラックに書き込むことが好ましい。また、前記確認テストのテスト方法は前記ヘッド・セレクション・テストと異なることが好ましい。
【発明の効果】
【0027】
本発明によれば、ヘッド・セレクション・テストを正確に行うことができるとともに、そのテスト時間を短縮することができる。
【発明を実施するための最良の形態】
【0028】
以下に、本発明を適用可能な実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
【0029】
以下においては、ディスク・ドライブ装置の一例であるハードディスク・ドライブ(HDD)を例として、本発明の実施形態を説明する。本形態のHDDは、外部からのトリガの例である電源投入あるいはホストからのコマンドに応答して、初期設定処理としてのPOR(Power On Reset)処理を実行する。POR処理において、HDDは、ヘッド・テストを実行する。ヘッド・テストは、ヘッド・セレクション・テストとマグネティック・レコーディング・テストとを含む。ヘッド・セレクション・テストは、複数のヘッド素子部から、正確に目的のヘッド素子部を選択していることをチェックする。マグネティック・レコーディング・テストは、選択されたヘッド素子部が、磁気ディスクの所望の位置に正確にデータを書き込み、さらにそのデータを読み出すことがきるかをチェックする。
【0030】
本形態のHDDは、POR処理の前に、予め正確なテスト・データを磁気ディスクの各記録面に書き込んでおく。このテスト・データを使用してヘッド・セレクション・テストを実行することで、ヘッド・テスト時間を短縮することができる。本発明の理解の容易化のため、本形態のPOR処理について説明する前に、まず、HDDの全体構成を説明する。
【0031】
図1は、本実施の形態に係るHDD1の構成を模式的に示すブロック図である。図1に示すように、HDD1は、エンクロージャ10内に、記録ディスクの一例である磁気ディスク11、ヘッドの一例であるヘッド素子部12、アーム電子回路(AE:Arm Electronics)13、スピンドル・モータ(SPM)14、ボイス・コイル・モータ(VCM)15、そしてアクチュエータ16を備えている。本形態のHDD1は複数のヘッド素子部12を備えており、図1においては2つのヘッド素子部12が例示されている。
【0032】
HDD1は、さらに、エンクロージャ10の外側に固定された回路基板20を備えている。回路基板20上には、リード・ライト・チャネル(R/Wチャネル)21、モータ・ドライバ・ユニット22、ハードディスク・コントローラ(HDC)とMPUの集積回路(以下、HDC/MPU)23及びRAM24などの各ICを備えている。尚、各回路構成は一つのICに集積すること、あるいは、複数のICに分けて実装することができる。
【0033】
外部ホスト51からのユーザ・データは、HDC/MPU23によって受信され、R/Wチャネル21、AE13を介して、ヘッド素子部12によって磁気ディスク11に書き込まれる。また、磁気ディスク11に記憶されているユーザ・データはヘッド素子部12によって読み出され、そのユーザ・データは、AE13、R/Wチャネル21を介して、HDC/MPU23から外部ホスト51に出力される。
【0034】
磁気ディスク11は、SPM14に固定されている。SPM14は所定の角速度で磁気ディスク11を回転する。HDC/MPU23からの制御データに従って、モータ・ドライバ・ユニット22がSPM14を駆動する。各ヘッド素子部12はスライダ(不図示)に固定されている。以下において、このアセンブリをヘッド・スライダと呼ぶ。ヘッド・スライダはアクチュエータ16の先端部に固定されている。アクチュエータ16はVCM15に連結され、揺動軸を中心に揺動することによって、ヘッド素子部12(ヘッド・スライダ)を回転する磁気ディスク11上においてその半径方向に移動する。モータ・ドライバ・ユニット22は、HDC/MPU23からの制御データ(以下、DACOUTと呼ぶ)に従ってVCM15を駆動する。
【0035】
ヘッド素子部12には、磁気ディスク11への記録データに応じて電気信号を磁界に変換するライト素子、及び磁気ディスク11からの磁界を電気信号に変換するリード素子を備えている。ライト素子のライト電流値は、HDC/MPU23がセットした制御値に従って変化する。なお、磁気ディスク11は、1枚以上あればよく、記録面は磁気ディスク11の片面あるいは両面に形成することができる。
【0036】
AE13は、HDC/MPU23から指示に従って、複数のヘッド素子部12の中から磁気ディスク11へのアクセスを行う1つのヘッド素子部12を選択し、選択されたヘッド素子部12により再生される再生信号を一定のゲインで増幅(プリアンプ)し、R/Wチャネル21に送る。また、R/Wチャネル21からの記録信号を選択したヘッド素子部12に送る。R/Wチャネル21は、リード処理において、AE13から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたユーザ・データは、HDC/MPU23に供給される。また、ライト処理において、R/Wチャネル21はHDC/MPU23から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してAE13に供給する。
【0037】
HDC/MPU23において、MPUはRAM24にロードされたコードに従って動作する。HDD1の起動に伴い、RAM24には、MPU上で動作するコードの他、制御及びデータ処理に必要とされるデータが磁気ディスク11あるいはROM(不図示)からロードされる。HDC/MPU23は、リード/ライト処理制御、コマンド実行順序の管理、サーボ信号を使用したヘッド素子部12のポジショニング制御(サーボ制御)、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、HDD1の全体制御を実行する。特に、本形態のHDC/MPU23は、POR処理の実行制御を行う。本形態のPOR処理については、後に詳述する。
【0038】
図2は、HDD1におけるSPM14、磁気ディスク11及ヘッド・スタック・アセンブリ(HSA)の構成を模式的に示している。図2の例は、回転軸方向にスタックされた2枚の磁気ディスク11を備え、各磁気ディスク11はデータを記録する記録面を両面に備える。従って、HDD1は4つの記録面11a−11dを備える。また、各記録面11a−11dに対応して、4つのヘッド・スライダ12a−12dを備えている。各ヘッド・スライダ12a−12dは、アクチュエータ16のサスペンション16a−16dのそれぞれに固定されている。本明細書において、アクチュエータ16とヘッド・スライダ12a−12dのアセンブリを、HSAと呼ぶ。
【0039】
各記録面11a−11dに対向する各ヘッド・スライダ12a−12dのABS(Air Bearing Surface)面と回転している記録面11a−11dとの間の空気の粘性による圧力が、サスペンション16a−16dによって記録面11a−11d方向に加えられる圧力とバランスすることによって、各ヘッド・スライダ12a−12dは各記録面11a−11d上を一定のギャップを置いて浮上する。なお、本形態のHDD1は複数の記録面を備えるが、1枚以上の磁気ディスク11を備えればよく、また、記録面を磁気ディスク11の片面もしくは両面に形成することができる。
【0040】
上述のように、HDC/MPU23は、POR処理を実行制御する。HDC/MPU23は、HDD1の電源投入に応答して、あるいはホスト51からのコマンドに従ってPOR処理を実行する。POR処理はHDD1の初期設定処理であり、いくつかの処理工程を含む。例えば、POR処理は、ROMからのマイクロ・コード・ロード、各種ハードウェア診断、SPM14起動、磁気ディスク11からのマイクロ・コード・ロード、サーボ・パラメータ調整、ディフェクト・テーブル・ロードなどを実行する。このほか、POR処理は、ヘッド・テスト(ライト・テスト)を実行する。ヘッド・テストは、正確に選択したヘッド素子部12が正確にデータの書き込み及び読み出しを行うことをチェックする。本形態は、このヘッド・テストに特徴がある。
【0041】
図3は、本形態のヘッド・テストの全体処理構成を示すフローチャートである。POR処理においてヘッド・テストを開始すると(S11)、HDC/MPU23はヘッド・セレクション・テスト(S12)を開始する。ヘッド・セレクション・テスト(S12)は、正確に選択したヘッド素子部12が磁気ディスク11にアクセスすることをチェックする。本形態はそのヘッド・セレクション・テスト(S12)に特徴点を備える。ヘッド・セレクション・テスト(S12)の詳細は、後述する。
【0042】
ヘッド・セレクション・テスト(S12)が、後述する前処理工程(S19)で書き込まれるテスト・データを使用して各ヘッド素子部12を正確に選択することを確認すると(S13におけるYES)、HDC/MPU23はマグネティック・レコーディング・テストを実行する(S14)。マグネティック・レコーディング・テスト(S14)は、各ヘッド素子部12が、各記録面11a−11dの所望位置にデータを書き込み、その書き込まれたデータを読み出して、正確にデータが書き込まれたかを確認する。
【0043】
マグネティック・レコーディング・テスト(S14)が、各ヘッド素子部12が正確に各記録面11a−11dに正確にアクセスすることを確認すると(S15におけるYES)、ヘッド・テストが「パス」として終了する(S16)。他の処理が正常終了すると、POR正常終了として、HDD1はホスト51からのコマンド受付が可能な状態となる。
【0044】
マグネティック・レコーディング・テスト(S14)においてエラーが検出されると(S15におけるNO)、HDC/MPU23はホスト51にフェイルの結果を送信する(S20)。また、ヘッド・セレクション・テスト(S12)においてエラーが発生すると(S13におけるNO)、HDC/MPU23は、ヘッド・セレクション・テスト(S12)及びマグネティック・レコーディング・テスト(S14)とは異なる、他の態様のヘッド・テストを実行する(S17)。
【0045】
このテスト工程(S17)は、ヘッド・セレクションとマグネティック・レコーディングのテストを同時に行う。このテストが正常終了すると(S18におけるYES)、HDC/MPU23は、次のPOR処理におけるヘッド・セレクション・テストのための前処理を行う(S19)。具体的には、HDD1は、磁気ディスク11の各記録面11a−11dにヘッド・セレクション・テスト用のテスト・データを書き込む。S17のヘッド・テストにおいてエラーが検出されると(S18におけるNO)、HDC/MPU23はホスト51にフェイルの結果を送信する。
【0046】
HDD1の最初のPOR処理においては、ヘッド・セレクション・テスト(S12)のテスト・データが書き込まれていないため、(S17)のヘッド・セレクション・マグネティック・レコーディング・テスト及び、次のPOR処理のための前処理(S19)が実行されて終了する。その次からのPOR処理は、エラーが起きなければ、ヘッド・セレクション・テスト(S12)及びマグネティック・レコーディング・テスト(S14)を実行する。ヘッド・セレクション・テスト(S12)においてエラーが起きた場合は、HDD1はヘッド・テスト(S17)及びの前処理(S19)を実行し、マグネティック・レコーディング・テスト(S14)においてエラーが起きたときは、HDD1はフェイルの通知をホスト51に行う。
【0047】
以下において、図3のフローチャートに示された、各テスト工程について詳細に説明する。まず、本形態のヘッド・セレクション・テスト(S12)について説明する。本形態のヘッド・セレクション・テストは、図4に示すように、各記録面11a−11dの特定のシリンダに予め書き込まれているテスト・データを、各ヘッド・スライダ12a−12dのヘッド素子部によって読み出す。テスト・データは、記録面11a−11dの同一シリンダに書き込まれている。つまり、同一シリンダのデータ・トラック111a−111dに、それぞれテスト・データが書き込まれている。以下、各ヘッド・スライダ12a−12dのヘッド素子部を、同一の符号12a−12dで示す。
【0048】
ここで、磁気ディスク・フォーマットを説明する。磁気ディスクの各記録面11a−11dには、磁気ディスク11の中心から半径方向に放射状に延び、所定の角度毎に離間して形成された複数のサーボ領域と、隣り合う2つのサーボ領域間にデータ領域が形成されている。各サーボ領域には、ヘッド素子部12a−12dの位置決め制御を行うためのサーボ・データが記録される。各データ領域には、ユーザ・データが記録される。各記録面11a−11dには、半径方向に所定幅を有し、同心円状に形成された複数のデータ・トラックが形成される。
【0049】
ユーザ・データは、データ・トラックに沿って記録される。一つのデータ・トラックは複数のデータ・セクタ(ユーザ・データの記録単位)を備えており、典型的にはサーボ領域間に複数のデータ・セクタを備える。HDD1における各データ・セクタは、いわゆるCHSアドレス、つまりシリンダ番号、ヘッド番号及びデータ・セクタ番号を使用して特定することができる。シリンダ番号はデータ・トラック番号に対応し、ヘッド番号は記録面番号に対応する。なお、データ・セクタ長が大きい場合は、1データ・セクタが1サーボ領域間を越えることもある。
【0050】
好ましくは、各データ・トラック111a−111dの全データ・セクタにテスト・データが書き込まれている。つまり、図4に示すように、各データ・トラック111a−111dの全データ・セクタが、テスト・データが書き込まれたデータ・セクタ112である。テスト・データは、各ヘッド素子部(ヘッド・スライダ)12a−12dを特定するヘッドID(HEAD ID)113と、ヘッド・セレクション・テストのためのデータであることを示すセレクション・テストID(SELECTION TEST ID)114とを備えている。各データ・トラック111a−111dに書き込まれるテスト・データは、同一のテスト・データでよい。また、セレクション・テストID114は、各データ・トラック111a−111dにおいて同一でよい。
【0051】
HDC/MPU23は、各データ・トラック111a−111dから読み出したデータを、予め備えているヘッドID及びセレクション・テストIDと比較して、同一であることを確認する。読み出したデータが、選択したヘッド素子部に対応するテスト・データである場合、HDC/MPU23は、ヘッド・セレクションを正確に行ったと判定する。ここで重要なことは、各データ・トラック111a−111dには、正確なヘッドIDを備えるテスト・データが書き込まれていることが保証されていることである。
【0052】
図3に示すように、このテスト・データは、ヘッド・セレクション・テスト(S12)の前処理(S19)において各データ・トラック111a−111dにおいて書き込まれる。この前処理の前に、HDD1は他の態様のヘッド・テストを行い(S17)、ヘッド・セレクション及びマグネティック・レコーディングが正確に行われたことを確認している。従って、正確なテスト・データが、各データ・トラック111a−111dに書き込まれていることが保証される。
【0053】
図5は、ヘッド・セレクション・テスト(S12)におけるヘッド選択方法を模式的に示している。図5は、各データ・セクタ115a−115dを、各ヘッド素子部12a−12dが正確に読み出した例を示している。HDC/MPU23は、最初にヘッド素子部12aを選択して、データ・トラック111aのデータ・セクタ115aを読み出す。次に、HDC/MPU23は、ヘッド素子部12bを使用してデータ・トラック111bのデータ・セクタ115bを読み出す。
【0054】
データ・セクタ115bは、データ・セクタ115aに対してスキューをもった位置にある。このスキューは、ヘッド切り替え時間以上であって、それと実質的に同一であることが好ましい。ヘッド切り替え時間は、一つのデータ・トラックのデータ・セクタを読み出してから、他のデータ・トラックのデータ・セクタの読み出しを開始することができるまでの時間である。図5の例においては、ヘッド切り替え時間は2データ・セクタに相当する。
【0055】
続いて、HDC/MPU23はヘッド素子部12cを使用してデータ・トラック111cのデータ・セクタ115cを読み出す。データ・セクタ115cとデータ・セクタ115bとの間の位置関係は、データ・セクタ115cとデータ・セクタ115bとの間の位置関係と同様である。さらに、HDC/MPU23はヘッド素子部12dを使用してデータ・トラック111dのデータ・セクタ115dを読み出す。ヘッド間のスキューについては、上述と同様である。
【0056】
上述のように、それぞれがスキューをもった位置にある各データ・トラックのデータ・セクタを順次読み出すことによって、ヘッド・セレクション・テストのテスト時間を短縮することができる。上述の例においては、磁気ディスク1回転内で、ヘッド・セクション・テストを終了することができる。また、本例においては各データ・トラックの全データ・セクタにテスト・データが書き込まれているので、ヘッド位置にかかわらず最も早いタイミングでテストを開始することができる。
【0057】
このように、ヘッド・セレクション・テストにおいてヘッド素子部毎にスキューを持ってデータ・リードできるのは、予め正確なテスト・データが各データ・トラックに書き込まれていることに拠る。本形態においては、ヘッド・セレクション・テスト(S12)とは異なる態様のテスト(S17)を使用してそれを保証することで、より正確なテストを行うことができる。
【0058】
図5は、各データ・セクタ115a−115dを、各ヘッド素子部12a−12dが正確に読み出す例を示している。これに対して、いずれかのヘッド素子部が正確にテスト・データを読み出すことができない場合の例を、図6(a)及び(b)に示す。データ読み出しエラーは、実際にヘッド素子部がターゲットのデータ・セクタを読み出すことができない場合、あるいは読み出したテスト・データがそのデータ・トラックのテスト・データでない場合を含む。図6(a)は、データ・トラック111bにおいて、ヘッド素子部12bが、データ・セクタ116のテスト・データを正確に読み出すことが出来ない例を示している。
【0059】
ヘッド素子部12aがデータ・セクタ115aのテスト・データを読み出した後、HDC/MPU23は、ヘッド素子部12bによって、データ・セクタ116のテスト・データの読み出しを試みる。しかし、エラーのために、HDC/MPU23は4データ・セクタ先のデータ・セクタ117bの読み出しを行う。外乱もしくは磁気ディスク11上の傷などのためにエラーが繰り返しことを避けるため、複数データ・セクタ先のデータの再読み出しを行うことが好ましい。なお、4データ・セクタは一例である。ヘッド素子部12bはデータ・セクタ117bのテスト・データを正確に読み出し、HDC/MPU23はデータ・トラック111cのデータ・セクタ117cを、ヘッド素子部12cを使用して読み出す。データ・セクタ117cとデータ・セクタ117bとの間には、上述のスキューを持たせてある。さらに、HDC/MPU23はデータ・トラック111dのデータ・セクタ117dを、ヘッド素子部12cを使用して読み出して、ヘッド・セレクション・テストが終了する。
【0060】
図6(a)の例は、エラー発生したデータ・トラック111bからリードのリトライを開始するが、図6(b)に示すように、リトライを最初のデータ・トラック111aから始めることもできる。データ・トラック111bのデータ・セクタ116の読み出しに失敗すると、HDC/MPU23はヘッド素子部12aを選択して、データ・セクタ117aの読み出しを行う。その後、スキューを持って配置されているデータ・セクタ117b、117c及び117dを、HDC/MPU23は読み出していく。本例においては、データ・トラックの全セクタにテスト・データが書き込まれているので、ヘッド位置に関わらずテスト・データのリード処理を開始することができ、テスト時間の短縮に寄与する。
【0061】
なお、規定数リトライを繰り返しても正確にテスト・データを読み出すことができない場合、ヘッド・セレクション・テストはエラーとなり(図3、S13におけるNO)HDC/MPU23は、ヘッド・セレクションとマグネティック・レコーディングの同時テスト工程に移行する。
【0062】
ヘッド・セレクション・テスト(S12)の具体的工程を、図7のフローチャートを参照して説明する。ヘッド・セレクション・テストが開始すると(S121)、HDC/MPU23は、各変数に初期値を設定する(S122)。設定する変数は、リトライ回数RETRY_CNT、テスト・シリンダTEST_CYL、テスト・ヘッドTEST_HD及びテスト・セクタTEST_SCTである。
【0063】
リトライ回数RETRY_CNTには、リード・リトライを行う最大数MAX.RETRY#が設定され、テスト・シリンダTEST_CYLには、テスト・シリンダ番号TEST_CYLINDER#が設定される。テスト・シリンダTEST_CYLは、典型的には、各記録面においてユーザ・データが書き込まれることがない管理領域内に設定される。テスト・ヘッドTEST_HDには、最初にテストするヘッド素子部として最大ヘッド番号MAX.HEAD#が代入され(図2の例において3)、テスト・セクタTEST_SCTには、テストするシリンダTEST_CYLINDER#において読み出すデータ・セクタ番号S#が設定される。
【0064】
HDC/MPU23は、各変数TEST_CYL、TEST_HD及びTEST_SCTが示すデータ・セクタのデータを読み出し、さらに、その読み出したテスト・データを確認する(S123)。確認は、読み出したデータと、そのデータ・セクタに対応する予め保存されたヘッドIDとセレクション・テストIDとを比較することで行う。比較する基準データは、磁気ディスク11もしくはROMからロードされ、HDC/MPU23のレジスタもしくはRAM24に格納しておくことができる。この点は、以下のベリファイ処理において同様である。
【0065】
ターゲット・セクタから正確なデータを読み出すことができた場合(S124におけるYES)、HDC/MPU23は、次にテストするヘッド素子部(記録面)とその記録面から読み出すデータ・セクタを設定する(S125)。本例においては隣接するヘッド素子部を選択し、具体的には、テスト終了したヘッド素子部の一つ前(1だけ小さい)のヘッド番号を備えるヘッド素子部を選択する。また、アクセス時間を短縮するため、ヘッド切り替え時間に相当するスキューを備えるデータ・セクタが選択される。なお、スキュー値は、予め磁気ディスク11の管理領域などに登録されており、HDC/MPU23はそのスキュー値を使用する。
【0066】
設定されたヘッド番号が0である場合(S126におけるYES)、全てのヘッド素子部及び記録面のテストが終了しているため、ヘッド・セレクション・テスト(S12)は正常終了する(S127)。ヘッド番号が0に達していない場合(S126におけるNO)、選択されたヘッド素子部及びデータ・セクタについて、データ読み出し及び読み出しデータの確認処理を実行する。ヘッド番号が0に達するまで、つまり、全てのヘッド素子部のテストが終了するまで、このループを繰り返す。なお、各ヘッド素子部に対応したシリンダは、全て同一である。
【0067】
データを正確に読み出すことができない場合(S124におけるNO)、HDC/MPU23は、そのヘッド素子部の同一データ・トラックにおける異なるデータ・セクタの読み出しを行う。本例においては、HDC/MPU23は、4データ・セクタ先のデータ・セクタを読み出すべきターゲット・セクタとして設定する(S128)。さらに、HDC/MPU23は、リトライ回数を示す変数RETRY_CNTから1を引く(S128)。
【0068】
変数RETRY_CNTが0に達し、規定数のリトライが繰り返された場合(S129におけるYES)、HDC/MPU23は、ヘッド・セレクション・テストをフェイルと判定する(S130)。リトライ回数が規定数に達してない場合(S129におけるNO)、設定されたターゲット・データ・セクタについて、HDC/MPU23はリード・ベリファイを実行する。以下、上述の処理を繰り返していく。
【0069】
上述のように、テスト・データは、データ・トラックの全データ・セクタに書き込まれていることが好ましい。しかし、各データ・トラックにおいて、離間した複数のデータ・セクタにテスト・データを書き込むことができる。図8(a)はリード・ベリファイ・エラーが起きることなくヘッド・セレクション・テストが終了するケース、図8(b)はデータ・トラック111bにおいてエラー発生する例を示している。
【0070】
図8(a)及び図8(b)は、6データ・セクタ毎にテスト・データが書き込まれている例を示しており、テスト・データが書き込まれているデータ・セクタ112の間には5つのテスト・データが書き込まれていないデータ・セクタ118が存在する。データ・トラック間においては、テスト・データが書き込まれているデータ・セクタ112は、スキューを持って選択されている。つまり、隣接する二つのデータ・トラックにおいて、隣接するデータ・セクタ112間の間隔は3データ・セクタである。2データ・セクタはヘッド切り替え時間に相当する。
【0071】
図8(a)を参照して、HDC/MPU23は、データ・トラック111aのデータ・セクタ115aをヘッド素子部12aで読み出し、読み出したデータの確認を行う。正確なデータ読み出しを確認すると、HDC/MPU23はデータ・トラック111bのデータ・セクタ115bをヘッド素子部12bで読み出し、読み出したデータの確認を行う。以下、データ・トラック111c、111dについても同様の処理を実行する。
【0072】
図8(b)に示すように、データ・トラック111bのデータ・セクタ116でリード・ベリファイ・エラーが発生すると、HDC/MPU23は同一のデータ・トラック111bのデータ・セクタ117bの次のテスト・データを読み出す。以下、データ・トラック111b、111c、111dの各データ・セクタ117b、117c、117dを読み出し、確認処理を行う。なお、HDC/MPU23は、図6(a)の例のように、エラー発生したデータ・トラックから再リード処理を行ってもよい。
【0073】
次に、マグネティック・レコーディング・テスト(S14)の具体的処理を説明する。本形態のマグネティック・レコーディング・テストは、各データ・トラック111a−111dに順次データを書き込み、その後、各データ・トラック111a−111dの書き込みデータを順次読み出す。HDC/MPU23は、この読み出したデータと予め保存してある書き込みデータとを比較して、正確にデータが書き込み・読み出されたことの確認処理を行う。本例において、マグネティック・レコーディング・テストが使用するシリンダはヘッド・セレクション・テストと同一である。書き込むデータは、ヘッド・セレクション・テストで使用するヘッドID及びセレクション・テストIDに加えて、テスト毎に生成される乱数を含む。ヘッド・セレクション・テストで必要とされるデータ・サイズは1セクタのサイズより小さいので、余っているエリアにテスト毎に生成される乱数を埋め込み、リード時に確認を行う。これによって、確実にベリファイ処理を行うことができる。
【0074】
マグネティック・レコーディング・テスト(S14)において、各データ・トラック111a−111dへのアクセスは、スキューをもって実行される。つまり、図9に示すように、HDC/MPU23は、各データ・トラック111a−111dにおいて、ヘッド切り替え時間に相当するスキューを持って選択されたデータ・セクタ119a−119dにデータを書き込む。データ書き込みは、磁気ディスク11の1回転内で終了することができる。
【0075】
さらに、データ書き込みの後、HDC/MPU23は、データ・セクタ119a−119dを順次読み出し、読み出したデータの確認処理を実行する。データ読み出しに必要な時間はデータ書き込みと同様であって、磁気ディスク1回転内で全データ・セクタ119a−119dを読み出すことができる。HDC/MPU23は、各データ・セクタ119a−119dを読み出す毎に、正確なデータを読み出したかを確認する。このように、スキューをもって選択された各データ・トラックのデータ・セクタにアクセスすることによって、マグネティック・レコーディング・テストのテスト時間を短縮することができる。
【0076】
マグネティック・レコーディング・テスト(S14)の具体的工程を、図10のフローチャートを参照して説明する。マグネティック・レコーディング・テストが開始すると(S141)、HDC/MPU23は、各変数に初期値を設定する(S142)。設定する変数は、リトライ回数RETRY_CNT、テスト・シリンダTEST_CYL、テスト・ヘッドTEST_HD及びテスト・セクタTEST_SCTである。
【0077】
リトライ回数RETRY_CNTには、リトライを行う最大数MAX.RETRY#が代入され、テスト・シリンダTEST_CYLには、テスト・シリンダ番号TEST_CYLINDER#が代入される。テスト・ヘッドTEST_HDには、最大ヘッド番号MAX.HEAD#が代入され、テスト・セクタTEST_SCTには、テストするシリンダTEST_CYLINDER#において読み出すデータ・セクタ番号S#が代入される。
【0078】
HDC/MPU23は、各変数TEST_CYL、TEST_HD及びTEST_SCTが示すデータ・セクタへのライト処理を行う(S143)。ライト・データは、上述のように、ヘッドID及びセレクション・テストID及びテスト毎に生成される乱数である。ライト・アボートとならず、データをターゲット・セクタに書きこむことができると(S144におけるYES)、HDC/MPU23は、次にテストするヘッド素子部(TEST_HD)の設定(S145)及びその記録面から読み出すデータ・セクタ(TEST_SCT)の設定を行う(S146)。
【0079】
本例においては、ライト終了したヘッド素子部の一つ前(1だけ小さい)のヘッド番号を備えるヘッド素子部を選択する(S145)。つまり、隣接するヘッド素子部を選択する。また、アクセス時間を短縮するため、ヘッド切り替え時間に相当するスキューを備えるデータ・セクタが選択される(S146)。なお、スキュー値は、予め磁気ディスク11の管理領域などに登録されており、HDC/MPU23はそのスキュー値を使用する。
【0080】
設定されたヘッド番号が0である場合(S147におけるYES)、全てのヘッド素子部によるデータ書き込みが終了しているため、各データ・トラックへのデータ書き込みは正常に終了する。ヘッド番号が0に達していない場合(S147におけるNO)、上記選択されたヘッド素子部による選択されたデータ・セクタへのデータ書き込みを実行する。ヘッド番号が0に達するまで、つまり、全てのヘッド素子部のデータ書き込みが終了するまで、このループを繰り返す。
【0081】
ヘッド素子部によるデータ書き込みにおいてライト・アボートが起きた場合(S144におけるNO)、HDC/MPU23はライト・リトライを実行する。具体的には、HDC/MPU23は最初に選択したヘッド素子部に戻って、ライト処理を初めから繰り返す。HDC/MPU23は、最初のヘッド素子部(MAX.HEAD#)によって、同一データ・トラックの異なるデータ・セクタへのデータ書き込みを試みる。本例においては、HDC/MPU23は予め定められたセクタ数先のデータ・セクタへのライト処理を実行する。本例においては、4データ・セクタ先のデータ・セクタへのライト処理を実行する(S155)。このため、ライト・リトライの前に、HDC/MPU23は、変数リトライ回数RETRY_CNTから1を減じ、変数テスト・セクタTEST_SCTに4を加算し、テスト・ヘッドTEST_HDにMAX.HEAD#を代入する(S155)。
【0082】
変数リトライ回数RETRY_CNTが0を示す場合(S156におけるYES)、規定数のリトライを実行したことを意味するので、HDC/MPU23はマグネティック・レコーディング・テストにおいて回復不能なエラーがあると判定し、テスト・フェイルの判定を行う(S156)。リトライ数が規定数に達していない場合(S156におけるNO)、S144〜S147に示したように、最初のヘッド素子部(MAX.HEAD#)からライト処理を実行する。
【0083】
データ書き込み処理が終了すると、HDD1は、次にデータ読み出し処理を実行する。HDC/MPU23は、テスト・ヘッドTEST_HDにMAX.HEAD#を代入し(S148)、ライト処理と同様に、ヘッド番号MAX.HEAD#のヘッド素子部から、リード・ベリファイ処理を開始する(S149)。リード・ベリファイ処理が成功すると(S150におけるYES)、次のヘッド素子部を選択し(S151)、そのヘッド素子部が読み出すデータ・セクタを設定する(S152)。選択するヘッド素子部のヘッド番号は、一つ前のヘッド素子部の番号から1を減じたものであり、隣接するヘッド素子部である(S151)。また、読み出すデータ・セクタは、一つまえの読み出しデータ・セクタに対して、データ書き込み処理において付されたスキューずれたものとなる(S152)。
【0084】
ヘッド番号が0である場合(S153におけるYES)、すでに全ヘッド素子部によるリード・ベリファイ処理が正常に終了しているので、HDC/MPU23はマグネティック・レコーディング・テストを正常終了する(S154)。ヘッド番号が0でない場合(S153におけるNO)、リード・ベリファイを終了していないヘッド素子部が存在するので、HDC/MPU23は処理を続行する。
【0085】
いずれかのヘッド素子部によるリード・ベリファイ処理においてエラーが発生した場合(S150におけるNO)、HDC/MPU23は、マグネティック・レコーディング・テストの最初のステップ、つまりデータ書き込み処理から再開する。このとき、データを書き込むデータ・セクタ番号は、エラー発生時のデータ・セクタ番号に予め定められた数だけ異なる。具体的には、ライト処理においてエラー発生した場合と同様に、4データ・セクタだけ離れたデータ・セクタを選択する(S155)。以下の処理は、上述と同様である。
【0086】
次に、ヘッド・セレクションとマグネティック・レコーディングの同時テスト(S17)の説明を行う。このテストは、図11に示すように、各データ・トラック111a−111dの同一セクタ120a−120dにデータを書き込み、さらに、その書き込んだ各データを読み出し、確認処理を実行する。書き込むデータは、各ヘッド素子部を特定するヘッドID(HEAD ID)と、この同時テスト毎に生成される乱数(RANDOM DATA)を含む。
【0087】
具体的には、図11に示すように、HDC/MPU23はヘッド素子部12aを選択して、データ・トラック111aのデータ・セクタ120aにデータを書き込む。次に、磁気ディスク11が1回転するのを待って、データ・トラック111bの同一データ・セクタ120bにデータを書き込む。以後、データ・トラック111c及びデータ・トラック111dの各同一データ・セクタ120c、120dに、磁気ディスク11の回転を待ってそれぞれデータを書き込む。
【0088】
続いて、HDC/MPU23は書き込んだデータの確認処理を実行する。まず、HDC/MPU23はヘッド素子部12aを選択して、データ・トラック111aのデータ・セクタ120aを読み出し、そのデータが正確なデータであるか確認する。次に、磁気ディスク11が1回転するのを待って、データ・トラック111bのデータ・セクタ120bのリード・ベリファイ処理を行う。以後、データ・トラック111c及びデータ・トラック111dの各同一データ・セクタ120c、120dについて、磁気ディスク11の回転を待ってそれぞれリード・ベリファイ処理を行う。
【0089】
各データ・トラック111a−111dの同一セクタにデータを書き込むことによって、ヘッド・セレクション・テストとマグネティック・レコーディング・テストとを同時に行うことができる。例えば、ヘッド素子部12aの代わりに、間違えてヘッド素子部12bを選択する場合、データ・トラック111aには、ヘッド素子部12bに対応するデータが書き込まれる。従って、データ・トラック111aの確認処理は、ヘッド素子部12bに対応するデータを読み出すため、HDC/MPU23がヘッド・セレクション・エラーを検出することができる。
【0090】
上述の説明から理解されるように、エラーなく終了する場合、この同時テストは磁気ディスク8回転の時間を必要とする。一方、予め書き込まれているテスト・データを使用したヘッド・セレクション・テスト(S12)及びマグネティック・レコーディング・テスト(S14)は、それぞれは磁気ディスク1回転の時間と磁気ディスク2回転の時間を要する。従って、予め書き込まれているテスト・データを使用することで、5回転の時間短縮となる。
【0091】
同時テスト(S17)の具体的工程を、図12のフローチャートに示す。このテストのフローチャート(図12)と、マグネティック・レコーディング・テスト(S14)のフローチャート(図10)との相違は、図10のフローチャートが、S146及びS152の各工程備えることである。つまり、各データ・トラック111a−111dに書き込まれるデータ・セクタが、スキューをもって配置されているか否か、そしてデータ書き込みのためにHDC/MPU23が磁気ディスク11の回転を待つか否かである。従って、図12のフローチャートの詳細説明は省略する。各工程の対応は以下の通りである。S171−S175がS141−S145に対応し、S176−S180がS147−S151に対応し、S181−S185がS153−S157に対応する。
【0092】
最後に、ヘッド・セレクション・テスト(S12)のための前処理(S19)について説明する。この処理は、ヘッド・セレクション・テスト(S12)のための下地データを、選択されたシリンダの各データ・トラック111a−111dに書き込む。前処理(S19)は、最初のPOR処理、あるいは、POR処理におけるヘッド・セレクション・テスト(S12)でエラーが発生した場合に実行される。書き込むデータについては上述の通りである。また、ヘッド・セレクション・テスト(S12)におけるエラーとしては、テスト・データやサーボ・データのエラー、外乱によるヘッドのポジショニング・エラー、回路基板20の接触不良によるセレクション・エラーなどがある。
【0093】
図13のフローチャートを参照して、具体的工程を説明する。ヘッド・セレクション・テストのための前処理が開始すると(S191)、HDC/MPU23は、各変数に初期値を設定する(S192)。設定する変数は、テスト・データを書き込むシリンダCYL、最初にデータを書き込むヘッドHEAD及び最初にデータを書き込みデータ・セクタSCTである。変数CYLには、所定のシリンダ番号CYLINDER#が代入され、変数HEADには最大ヘッド番号MAX.HEAD#が代入され、変数SCTには0が代入される。
【0094】
次に、HDC/MPU23は、下地データとして書き込むテスト・データの設定を行う(S193)。具体的には、各データ・セクタは、その0ビット目からヘッド番号を特定するデータHEAD#を備える。さらに、各データ・セクタは、16ビット目からヘッド・セレクション・テスト用のデータであることを表すデータを含み、図13においては、ABCD1234H(16進数)が例示されている。HDC/MPU23は、設定したMAX.HEAD#のヘッド素子部によって、シリンダCYLINDER#の全データ・トラックの全セクタにテスト・データのライト処理を実行する(S194)。
【0095】
このライト処理において、いずれかのデータ・セクタのデータ書き込みにおいてライト・アボートなどのエラーが発生した場合(S195におけるNO)、そのエラー・データ・セクタへのデータ書き込みをスキップして、その次のデータ・セクタへのライト処理を開始する。具体的には、HDC/MPU23は、エラーを起こしたデータ・セクタがそのトラックの最後のデータ・セクタであるかを判定する(S199)。最後のデータ・セクタでない場合(S199におけるNO)、そのエラー・セクタの次のデータ・セクタを書き込みターゲット・セクタと設定して(S200)、テスト・データのライト処理を続行する(S194)。
【0096】
エラーが発生した場合には、データ・トラックの全データ・セクタにデータが書き込まれないが、エラー発生はまれであり、また、わずかな数のデータ・セクタにテスト・データが書き込まれていなくとも、ヘッド・セレクション・テストのテスト時間に実質的な影響はない。一方。エラーがおきたデータ・セクタへのリライトは、この処理の時間を増加させることになるため、処理時間短縮の点から、上述のようにスキップすることが好ましい。なお、この処理の処理時間を考慮しないのであれば、エラー・セクタへのリライト処理を行ってもよい。
【0097】
エラー・セクタが、そのトラックの最後のデータ・セクタである場合(S199におけるYES)、HDC/MPU23は次のヘッド素子部を選択する(S196)。選択するヘッド素子部のヘッド番号は、その前のヘッド素子部のヘッド番号から1を減じたものであり、隣接ヘッドである。データ・トラックの全てのデータ・セクタに正常にテスト・データを書き込んだ場合も(S195におけるYES)、同様である。
【0098】
HDC/MPU23は、以上の処理を全てのヘッド素子部について実行する(S197におけるNOによるループ)。最後のヘッド素子部によるテスト・データのライト処理が終了すると(S197におけるYES)、ヘッド・セレクション・テストのための前処理が終了する(S198)。
【0099】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。例えば、本発明は、HDDに好適であるが、他のディスク・ドライブ装置に適用することができる。上述の各処理は、隣接ヘッド素子部を順次選択するが、ヘッド素子部の選択順序は設計によって変更することができる。例えば、ライト処理とリード処理のヘッド選択順序が異なることができる。上述においては、一つのテスト・シリンダにおいて各テストを実行するが、例えば、ヘッド・セレクション・テストとマグネティック・レコーディング・テストとを、異なるシリンダにおいて実行することができる。
【0100】
上述の例はPORにおけるヘッド・テストを説明しているが、他の態様におけるヘッド・テストに本発明を適用することが可能である。確実なヘッド・テストを行うためには、上述の例のように、ヘッド・セレクション・テストとマグネティック・レコーディング・テストをセットで行うことが好ましいが、他の態様においてヘッド・セレクション・テストのみを行うことの可能である。
【0101】
上述のように、ヘッド・セレクション・テストのテスト・データは、一つ以上前のPOR処理において書き込むことが好ましいが、例えば、サーボ・ライトなどの製造工程において、そのデータを磁気ディスクに書き込んでおくことも可能である。また、上述のHDDにおいては、1ヘッドが1記録面に対応するが、HDDは1記録面に複数のヘッド素子部を備え、各ヘッド素子部を上述手法に違ってテストすることができる。あるいは、2回目以降のPOR処理においてヘッド・セレクション・テスト(S12)においてエラーが発生した場合、(S17)の同時テスト及びその結果のチェック(S18)をスキップしてもよい。
【図面の簡単な説明】
【0102】
【図1】本実施形態において、HDDの全体構成を模式的に示すブロック図である。
【図2】本実施形態において、HDDにおけるSPM、磁気ディスク及びHSAの構成を模式的に示す図である。
【図3】本実施形態のヘッド・テストの全体処理構成を示すフローチャートである。
【図4】本実施形態のヘッド・セレクション・テストにおいて読み出されるテスト・データを模式的に示す図である。
【図5】本実施形態において、ヘッド・セレクション・テストにおけるヘッド選択方法を模式的に示す図である。
【図6】本実施形態のヘッド・セレクション・テストにおいて、いずれかのヘッド素子部が正確にテスト・データを読み出すことができない場合の例を模式的に示す図である。
【図7】本実施形態のヘッド・セレクション・テストの具体的工程を示すフローチャートである。
【図8】本実施形態のヘッド・セレクション・テストにおいて、読み出されるテスト・データ及びその読み出し方法の他の例を模式的に示す図である。
【図9】本実施形態のマグネティック・レコーディング・テストにおいて、アクセスするデータ・セクタ及びアクセス方法を模式的に示す図である。
【図10】本実施形態のマグネティック・レコーディング・テストの具体的工程を示すフローチャートである。
【図11】本実施形態のヘッド・セレクションとマグネティック・レコーディングの同時テストにおいて、アクセスするデータ・セクタ及びアクセス方法を模式的に示す図である。
【図12】本実施形態のヘッド・セレクションとマグネティック・レコーディングの同時テストの具体的工程を示すフローチャートである。
【図13】本実施形態において、ヘッド・セレクション・テストのためのテスト・データを次のPORの前に予め書き込む処理を示す模式的に示すフローチャートである。
【符号の説明】
【0103】
10 エンクロージャ、11 磁気ディスク、11a−11d 記録面
12 ヘッド素子部、13 アーム・エレクトロニクス、14 スピンドル・モータ
15 ボイス・コイル・モータ、16 アクチュエータ
16a−16d サスペンション、20 回路基板、21 R/Wチャネル
22 モータ・ドライバ・ユニット、23 HDC/MPU、24 RAM
51 ホスト、111a−111d データ・トラック
【特許請求の範囲】
【請求項1】
1もしくは複数の記録面を備える、1もしくは複数のディスクと、
前記1もしくは複数の記録面にアクセスする複数のヘッドと、
外部からのトリガに応答して、そのトリガより前に書き込まれており前記複数のヘッドのそれぞれに対応してスキューがついた各テスト・データを、前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行する、コントローラと、
を備えるディスク・ドライブ装置。
【請求項2】
前記1もしくは複数のディスクは、複数の記録面を有し、
前記複数のヘッドのそれぞれは、前記複数の記録面のそれぞれに対応し、
前記コントローラは、前記外部からのトリガに応答して、前記複数の記録面の同一シリンダの各データ・トラックに前記トリガより前に書き込まれておりスキューがついた各テスト・データを、前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行する、請求項1に記載のディスク・ドライブ装置。
【請求項3】
前記各データ・トラックの複数のデータ・セクタに、前記テスト・データが書き込まれている、請求項2に記載のディスク・ドライブ装置。
【請求項4】
前記各データ・トラックにおける各テスト・データに対して、他のデータ・トラックの前記予め定められたデータ・セクタ数先に、前記テスト・データが書き込まれており、
前記コントローラは、ヘッドを切り替えて、一つ前に読み出したテスト・データから予め定められたセクタ数先のテスト・データを読み出す、
請求項3に記載のディスク・ドライブ装置。
【請求項5】
前記各データ・トラックの全データ・セクタに、前記テスト・データが書き込まれている、請求項2に記載のディスク・ドライブ装置。
【請求項6】
前記テスト・データは、対応するヘッドを特定するデータと、前記ヘッド・セレクション・テストを表すデータと、を備える、請求項2に記載のディスク・ドライブ装置。
【請求項7】
前記コントローラは、前記ヘッド・セレクション・テストの後に、前記複数の記録面それぞれに、前記ヘッドを切り替えながらデータを書き込み、さらに、前記ヘッドを切り替えながらその書き込まれたデータを読み出して書き込みデータの確認を行う、請求項2に記載のディスク・ドライブ装置。
【請求項8】
前記コントローラは、前記ヘッド・セレクション・テストの後に、前記複数の記録面の同一シリンダの各データ・トラックに、前記ヘッドを切り替えながらスキューを持ったデータを書き込み、さらに、前記ヘッドを切り替えながらその書き込まれたデータを読み出して書き込みデータの確認を行う、請求項2に記載のディスク・ドライブ装置。
【請求項9】
前記コントローラは、外部からのトリガに応答した初期設定処理において前記ヘッド・セレクション・テストを実行し、そのヘッド・セレクション・テストを実行する初期設定処理よりも以前の初期設定処理において、前記テスト・データを前記各データ・トラックに書き込む、請求項2に記載のディスク・ドライブ装置。
【請求項10】
前記コントローラは、前記複数ヘッドから正確に選択したヘッドが正確にデータの書き込みを行うことを確認する確認テストを実行した後に、前記テスト・データを前記各データ・トラックに書き込む、請求項9に記載のディスク・ドライブ装置。
【請求項11】
前記確認テストのテスト方法は、前記ヘッド・セレクション・テストと異なる、請求項10に記載のディスク・ドライブ装置。
【請求項12】
前記テスト・データを書き込んだ後に、前記ヘッド・セレクション・テストを行うことなく前記初期設定処理を終了する、請求項10に記載のディスク・ドライブ装置。
【請求項13】
ディスク・ドライブ装置における初期設定方法であって、
1もしくは複数の記録面において、複数のヘッドを使用してテスト・データを予め書き込み、
前記テスト・データを書き込んだ後に受けた外部からのトリガに応答して、初期設定処理を開始し、
前記初期設定処理において、前記複数のヘッドのそれぞれに対応してスキューがついた各テスト・データを前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行する、方法。
【請求項14】
前記ディスク・ドライブ装置は複数の記録面を備え、
複数の記録面のそれぞれにおいて、各記録面に対応したヘッドを使用して、同一シリンダのデータ・トラックにテスト・データを予め書き込み、
前記テスト・データを書き込んだ後に受けた外部からのトリガに応答して、初期設定処理を開始し、
前記初期設定処理において、前記複数の記録面の各データ・トラックにおけるスキューをもった位置にある各テスト・データを、前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行する、請求項13に記載の方法。
【請求項15】
さらに、前記ヘッド・セレクション・テストの後に、前記複数の記録面の同一シリンダの各データ・トラックに、前記ヘッドを切り替えながらスキューを持ったデータを書き込み、さらに、前記ヘッドを切り替えながらその書き込まれたデータを読み出して書き込みデータの確認を行う、請求項14に記載の方法。
【請求項16】
前記複数ヘッドから選択したヘッドが正確にデータの書き込みを行うことを確認する確認テストを実行した後に、前記テスト・データを前記各データ・トラックに書き込む、請求項14に記載の方法。
【請求項17】
前記確認テストのテスト方法は前記ヘッド・セレクション・テストと異なる、請求項16に記載の方法。
【請求項1】
1もしくは複数の記録面を備える、1もしくは複数のディスクと、
前記1もしくは複数の記録面にアクセスする複数のヘッドと、
外部からのトリガに応答して、そのトリガより前に書き込まれており前記複数のヘッドのそれぞれに対応してスキューがついた各テスト・データを、前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行する、コントローラと、
を備えるディスク・ドライブ装置。
【請求項2】
前記1もしくは複数のディスクは、複数の記録面を有し、
前記複数のヘッドのそれぞれは、前記複数の記録面のそれぞれに対応し、
前記コントローラは、前記外部からのトリガに応答して、前記複数の記録面の同一シリンダの各データ・トラックに前記トリガより前に書き込まれておりスキューがついた各テスト・データを、前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行する、請求項1に記載のディスク・ドライブ装置。
【請求項3】
前記各データ・トラックの複数のデータ・セクタに、前記テスト・データが書き込まれている、請求項2に記載のディスク・ドライブ装置。
【請求項4】
前記各データ・トラックにおける各テスト・データに対して、他のデータ・トラックの前記予め定められたデータ・セクタ数先に、前記テスト・データが書き込まれており、
前記コントローラは、ヘッドを切り替えて、一つ前に読み出したテスト・データから予め定められたセクタ数先のテスト・データを読み出す、
請求項3に記載のディスク・ドライブ装置。
【請求項5】
前記各データ・トラックの全データ・セクタに、前記テスト・データが書き込まれている、請求項2に記載のディスク・ドライブ装置。
【請求項6】
前記テスト・データは、対応するヘッドを特定するデータと、前記ヘッド・セレクション・テストを表すデータと、を備える、請求項2に記載のディスク・ドライブ装置。
【請求項7】
前記コントローラは、前記ヘッド・セレクション・テストの後に、前記複数の記録面それぞれに、前記ヘッドを切り替えながらデータを書き込み、さらに、前記ヘッドを切り替えながらその書き込まれたデータを読み出して書き込みデータの確認を行う、請求項2に記載のディスク・ドライブ装置。
【請求項8】
前記コントローラは、前記ヘッド・セレクション・テストの後に、前記複数の記録面の同一シリンダの各データ・トラックに、前記ヘッドを切り替えながらスキューを持ったデータを書き込み、さらに、前記ヘッドを切り替えながらその書き込まれたデータを読み出して書き込みデータの確認を行う、請求項2に記載のディスク・ドライブ装置。
【請求項9】
前記コントローラは、外部からのトリガに応答した初期設定処理において前記ヘッド・セレクション・テストを実行し、そのヘッド・セレクション・テストを実行する初期設定処理よりも以前の初期設定処理において、前記テスト・データを前記各データ・トラックに書き込む、請求項2に記載のディスク・ドライブ装置。
【請求項10】
前記コントローラは、前記複数ヘッドから正確に選択したヘッドが正確にデータの書き込みを行うことを確認する確認テストを実行した後に、前記テスト・データを前記各データ・トラックに書き込む、請求項9に記載のディスク・ドライブ装置。
【請求項11】
前記確認テストのテスト方法は、前記ヘッド・セレクション・テストと異なる、請求項10に記載のディスク・ドライブ装置。
【請求項12】
前記テスト・データを書き込んだ後に、前記ヘッド・セレクション・テストを行うことなく前記初期設定処理を終了する、請求項10に記載のディスク・ドライブ装置。
【請求項13】
ディスク・ドライブ装置における初期設定方法であって、
1もしくは複数の記録面において、複数のヘッドを使用してテスト・データを予め書き込み、
前記テスト・データを書き込んだ後に受けた外部からのトリガに応答して、初期設定処理を開始し、
前記初期設定処理において、前記複数のヘッドのそれぞれに対応してスキューがついた各テスト・データを前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行する、方法。
【請求項14】
前記ディスク・ドライブ装置は複数の記録面を備え、
複数の記録面のそれぞれにおいて、各記録面に対応したヘッドを使用して、同一シリンダのデータ・トラックにテスト・データを予め書き込み、
前記テスト・データを書き込んだ後に受けた外部からのトリガに応答して、初期設定処理を開始し、
前記初期設定処理において、前記複数の記録面の各データ・トラックにおけるスキューをもった位置にある各テスト・データを、前記複数のヘッドを順次選択して読み出し、ヘッド・セレクション・テストを実行する、請求項13に記載の方法。
【請求項15】
さらに、前記ヘッド・セレクション・テストの後に、前記複数の記録面の同一シリンダの各データ・トラックに、前記ヘッドを切り替えながらスキューを持ったデータを書き込み、さらに、前記ヘッドを切り替えながらその書き込まれたデータを読み出して書き込みデータの確認を行う、請求項14に記載の方法。
【請求項16】
前記複数ヘッドから選択したヘッドが正確にデータの書き込みを行うことを確認する確認テストを実行した後に、前記テスト・データを前記各データ・トラックに書き込む、請求項14に記載の方法。
【請求項17】
前記確認テストのテスト方法は前記ヘッド・セレクション・テストと異なる、請求項16に記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2007−226857(P2007−226857A)
【公開日】平成19年9月6日(2007.9.6)
【国際特許分類】
【出願番号】特願2006−43830(P2006−43830)
【出願日】平成18年2月21日(2006.2.21)
【出願人】(503116280)ヒタチグローバルストレージテクノロジーズネザーランドビーブイ (1,121)
【Fターム(参考)】
【公開日】平成19年9月6日(2007.9.6)
【国際特許分類】
【出願日】平成18年2月21日(2006.2.21)
【出願人】(503116280)ヒタチグローバルストレージテクノロジーズネザーランドビーブイ (1,121)
【Fターム(参考)】
[ Back to top ]