(57)【要約】【課題】  補完条件を増やすことによって補完を確実なものにしようとすると、無駄な補完が存在する問題点や補完のための時間が増加するという問題点を解決し、短時間で効率的にエラーに対する補完を行うことが可能な補完方法と、その補完方法を適用した磁気ディスク装置を提供することを目的とする。【解決手段】  記録ディスク上の欠陥セクタの管理方法であって、記録ディスク上で欠陥検出された複数の欠陥セクタを登録し、第１の登録欠陥セクタのアドレス情報と第２の登録欠陥セクタのアドレス情報とを取得し、前記２つのアドレス間において登録されている欠陥セクタの数に基づいて、前記２つのアドレス間のセクタについて補完欠陥セクタ登録するかを判定する、データ記憶装置の欠陥管理方法。【選択図】  図１０
2006351129.tif 000002
【特許請求の範囲】
【請求項１】
記録ディスク上の欠陥セクタの管理方法であって、
記録ディスク上で欠陥検出された複数の欠陥セクタを登録し、
第１の登録欠陥セクタのアドレス情報と第２の登録欠陥セクタのアドレス情報とを取得し、
前記２つのアドレス間において登録されている欠陥セクタの数に基づいて、前記２つのアドレス間のセクタについて補完欠陥セクタ登録するかを判定する、データ記憶装置の欠陥管理方法。
【請求項２】
前記２つのアドレス間の登録欠陥セクタの密度が基準値を超えた場合に、補完欠陥セクタ登録するかを判定する、請求項１に記載のデータ記憶装置の欠陥管理方法。
【請求項３】
前記補完欠陥セクタは、前記２つのアドレス内の非登録データ・セクタである中間補完セクタと、前記２つのアドレスそれぞれから外側に連続する非登録データ・セクタである拡張補完セクタと、を含む、請求項２に記載のデータ記憶装置の欠陥管理方法。
【請求項４】
前記拡張補完セクタの数は前記登録欠陥セクタの密度に基づいて算出される、請求項３に記載のデータ記憶装置の欠陥管理方法。
【請求項５】
前記２つのアドレス間について補完欠陥セクタ登録の判定をした後に、前記２つのアドレス間の前記第２の欠陥セクタに近い登録欠陥セクタからそのアドレス情報を順次取得し、取得した各アドレスと前記第１の登録欠陥セクタのアドレスとの間について補完欠陥セクタ登録の判定を順次行う、請求項１に記載のデータ記憶装置の欠陥管理方法。
【請求項６】
前記２つのアドレス間の各登録欠陥セクタと前記第１の登録欠陥セクタとの間について補完欠陥セクタ登録の判定が終了した後に、前記２つのアドレス間において前記第１の登録欠陥セクタに隣接する第３の登録欠陥セクタのアドレス情報を取得し、さらに、前記第２の欠陥セクタから順に前記第３の登録欠陥セクタに近づく方向に各登録欠陥セクタのアドレス情報を順次取得し、取得した各アドレスと前記第３の登録欠陥セクタのアドレスとの間について補完欠陥セクタ登録の判定を順次行う、請求項５に記載のデータ記憶装置の欠陥管理方法。
【請求項７】
前記判定を行うために、前記第１の欠陥セクタと前記第２の欠陥セクタと同一ヘッド番号、同一セクタ番号の欠陥セクタのシリンダ番号をリストにした、シリンダ・リストを用いる、請求項５に記載のデータ記憶装置の欠陥管理方法。
【請求項８】
記録ディスク上で欠陥検出された複数の欠陥セクタを登録しているデータ記憶装置であって、
記録ディスクにアクセスするヘッドと、
前記ヘッドが記録ディスク上のデータを読み出して検出した複数の欠陥セクタを登録するメモリと、
前記メモリに登録されている第１の登録欠陥セクタのアドレス情報と第２の登録欠陥セクタのアドレス情報とを取得し、前記２つのアドレス間において登録されている欠陥セクタの数に基づいて、前記２つのアドレス内の非登録データ・セクタである中間補完セクタと、前記２つのアドレスそれぞれから外側に連続する非登録データ・セクタである拡張補完セクタと、を含む補完欠陥セクタ登録するかを判定するコントローラと、
を備える、データ記憶装置。
【請求項９】
前記コントローラは、前記基準値として、前記２つのアドレス間のデータ・セクタ列内に登録されている欠陥セクタの密度を用いる、請求項８に記載のデータ記憶装置。
【請求項１０】
前記補完欠陥セクタは、前記２つのアドレス間の非登録データ・セクタと、前記第１の登録欠陥セクタから前記第２の登録欠陥セクタの反対側に連続する非登録データ・セクタと、前記第２の登録欠陥セクタから前記第１の登録欠陥セクタの反対側に連続する非登録データ・セクタと、を含む、請求項８に記載のデータ記憶装置。
【請求項１１】
前記コントローラは、前記拡張補完セクタの数を、前記２つのアドレス間のデータ・セクタ列内の欠陥セクタの数に基づいて算出する、請求項１０に記載のデータ記憶装置。
【請求項１２】
前記コントローラは、前記２つのアドレス間について補完欠陥セクタ登録の判定をした後に、前記２つのアドレス間の登録欠陥セクタのアドレス情報を取得し、取得したアドレスと前記第１の登録欠陥セクタのアドレスとの間について補完欠陥セクタ登録の判定を行う、請求項８に記載のデータ記憶装置の欠陥管理方法。
【請求項１３】
前記コントローラは、前記２つのアドレス間の各登録欠陥セクタと前記第１の登録欠陥セクタとの間について補完欠陥セクタ登録の判定が終了した後に、前記２つのアドレス間において前記第１の登録欠陥セクタに隣接する第３の登録欠陥セクタのアドレス情報を取得し、さらに、前記第２の欠陥セクタから順に前記第３の登録欠陥セクタに近づく方向に各登録欠陥セクタのアドレス情報を順次取得し、取得した各アドレスと前記第３の登録欠陥セクタのアドレスとの間について補完欠陥セクタ登録の判定を順次行う、請求項１２に記載のデータ記憶装置。
【請求項１４】
前記コントローラは、前記判定を行うために、前記第１の欠陥セクタと前記第２の欠陥セクタと同一ヘッド番号、同一セクタ番号の欠陥セクタのシリンダ番号をリストにした、シリンダ・リストを作成する、請求項８に記載のデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ記憶装置の欠陥管理方法及びデータ記憶装置に関する。特に、データ記憶装置の欠陥セクタに対する補完方法についてである。
【背景技術】
【０００２】
データ記憶装置として用いられる磁気ディスク装置では信頼性が要求されるため、製造工程において、キズ等が発生している磁気ディスク上のセクタのアドレスを登録し、代替セクタを用意するという作業がある。この作業は、製造工程において、磁気ディスク上をテストでＷｒｉｔｅ／Ｒｅａｄし、エラーが発生したセクタを欠陥セクタと判断している。これは、ＳＡＴ（Surface Analysis Test:表面テスト）とよばれる。
【０００３】
しかしながら、このエラー検出率は１００％ではない場合が多く、欠陥セクタの検出洩れが予想される。これは、スクラッチ等の、欠陥セクタが集中して存在するときに顕著に発生する。このため、上記の欠陥セクタの位置情報を参照して、欠陥セクタと欠陥セクタとの間や、欠陥セクタの周りのセクタについて、あらかじめ補完する必要がある。従来の補完方法として、磁気ディスク内の個々の欠陥セクタから固定長を取り出し、その中の欠陥セクタ数がある閾値以上である場合に、その部分において、固定長の補完を行っていた（例えば特許文献１）。
【０００４】
図１１は、従来の欠陥セクタに対する補完をするフローチャートである。まず、欠陥閾値と補完長を決定する（Ｓ９０１）。これは、一つの補完を行うときに与えられる数であり、固定の値である。個々のセクタから固定長分のセクタを取り出して、その固定長分のデータ・セクタ列内に存在する欠陥セクタの数が欠陥閾値を超えた場合、その固定長分のデータ・セクタ列内の欠陥セクタ以外のデータ・セクタを補完セクタとして登録し、また、その固定長分のデータ・セクタ列の内周側、外周側に補完長分の補完セクタを付加している。
【０００５】
次に、Ｎ番目の欠陥セクタの位置情報と、Ｎ番目の欠陥セクタの周りの欠陥セクタの位置情報を、製造工程時に行った表面テストの結果を参照する（Ｓ９０２、Ｓ９０３）。Ｎ番目の欠陥セクタから、固定長分のセクタを取り出し、この取得したデータ・セクタ列内に存在する欠陥セクタの数を算出する。そして、取得したデータ・セクタ列内に存在する欠陥セクタの数が、欠陥閾値よりも大きいか否かを判定する（Ｓ９０４）。
【０００６】
取得したデータ・セクタ列内に存在する欠陥セクタの数が、欠陥閾値よりも小さければ、補完処理をする必要がないと考えられ、Ｓ９０６の前に進む。取得したデータ・セクタ列内に存在する欠陥セクタの数が、欠陥閾値よりも大きい場合は、そのデータ・セクタ列の内周側と外周側に補完長分のセクタを付加することと、取得したデータ・セクタ列内の欠陥セクタ以外のデータ・セクタを補完セクタとする補完処理を行う（Ｓ９０５）。
【０００７】
その後、Ｎに１を加算する（Ｓ９０６）。Ｎ番目の欠陥セクタと同一ヘッド番号、同一セクタ番号の欠陥セクタの数とを比較することにより、同一ヘッド番号、同一セクタ番号内の欠陥セクタをすべてのセクタに対して、補完すべきか否かの判定を行ったかを判定する（Ｓ９０７）。すべての欠陥セクタに対して、補完すべきか否かの判定を行ったかを判定したならば、次の補完条件での補完を行う（Ｓ９０８）。すべての欠陥セクタに対して補完すべきか否かの判定を行ってないならば、Ｓ９０２の前に戻り次の欠陥セクタの場所から同じ作業繰り返す。
【０００８】
図１２は、磁気ディスク上の同一ヘッド番号、同一セクタ番号のセクタをシリンダ番号順に並べたデータ・セクタ列の例を模式的に示した図である。欠陥セクタ９０１ａ−９０１ｇの部分を斜線で塗りつぶしている。ここでの補完条件は、固定長Ｌを１０セクタ、欠陥閾値Ｍを７セクタ、補完長Ｃを３セクタとしている。
【０００９】
従来の補完方法においては、一つ一つの欠陥セクタから固定長のセクタを取り出して補完選定処理を行うか否かを判定している。まず、図１２（ａ）においては、欠陥セクタ９０１ａから１０セクタ分のセクタを取り出す。この１０セクタ分のセクタ内には、７セクタの欠陥セクタが存在する。つまり欠陥閾値を超えているため、補完選定処理を行う。
【００１０】
そこで、欠陥セクタ９０１ａから１０セクタ分取り出したデータ・セクタ列の内周側と外周側に、補完長３セクタ分のデータ・セクタを補完セクタ９１１ａ−９１１ｃ、９１１ｄ−９１１ｆとして登録する。また、取り出したデータ・セクタ列内の欠陥セクタ以外のデータ・セクタも補完セクタ９１１ｇ−９１１ｉとして登録する。
【００１１】
次に、欠陥セクタ９０１ｂから１０セクタ分のセクタを取り出す。この１０セクタ分のセクタ内には、６セクタの欠陥セクタしかないので、補完条件により、補完処理は行わない。さらに次に、欠陥セクタ９０１ｃから１０セクタ分を取り出す。それで、補完条件により、補完選定処理を行うか否かを判定する。次に、欠陥セクタ９０１ｄ、欠陥セクタ９０１ｅ、欠陥セクタ９０１ｆ、・・・と順に同じ補完条件によって補完選定処理を行うか否かを決定する。
【００１２】
同様に、図１２（ｂ）に対しても補完選定処理を行うか否かの判定し、補完処理を行っている。図１２（ｂ）においては、どこの欠陥セクタから１０セクタ分取り出しても欠陥セクタ数が６セクタ以上にならないので、補完選定処理は行わない。
【特許文献１】特開２００４−１７１７５５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
以上のように、従来では行われていくが、図１２（ｂ）のように欠陥セクタが集中しているところでも、補完が行われないことがある。このようなときには、欠陥数の少ない部分にも適用されるように補完条件を変更し、補完処理を行う。
【００１４】
このようにして、欠陥の長さ、数が違えば補完する長さも変えて補完することがある。これは、欠陥の長さによって補完の長さを変え、あるいは、同じ欠陥の長さであってもその個数によって補完の長さが変わるためである。よって、補完条件を増やすことによって補完を確実なものにしようとすると、無駄な補完が存在する問題点や補完のための時間が増加するという問題点が生じていた。
【００１５】
本発明は、このような問題点を解決するためになされたものであり、短時間で効率的にエラーに対する補完を行うことが可能な補完方法と、その補完方法を適用したデータ記憶装置を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明の一つの態様に係る磁気ディスク装置の欠陥管理方法において、記録ディスク上の欠陥セクタの管理方法であって、記録ディスク上で欠陥検出された複数の欠陥セクタを登録し、登録されている第１の欠陥セクタのアドレス情報と第２の欠陥セクタのアドレス情報とを取得し、前記２つのアドレス間において登録されている欠陥セクタ数と基準値とを使用して、前記２つのアドレス間のセクタについて補完欠陥セクタ登録するかを判定する、データ記憶装置の欠陥管理方法である。
【００１７】
また、前記２つのアドレス間の登録欠陥セクタの密度が基準値を超えた場合に、補完欠陥セクタ登録するかを判定するものであるとよい。さらに、前記補完欠陥セクタは、前記２つのアドレス内の非登録データ・セクタである中間補完セクタと、前記２つのアドレスそれぞれから外側に連続する非登録データ・セクタである拡張補完セクタと、を含むと好ましい。さらに、前記拡張補完セクタの数は前記登録欠陥セクタの密度に基づいて算出されることが望ましい。
【００１８】
また、前記２つのアドレス間について補完欠陥セクタ登録の判定をした後に、前記２つのアドレス間の前記第２の欠陥セクタに近い登録欠陥セクタからそのアドレス情報を順次取得し、取得した各アドレスと前記第１の登録欠陥セクタのアドレスとの間について補完欠陥セクタ登録の判定を順次行うとしてもよい。
【００１９】
さらに、前記２つのアドレス間の各登録欠陥セクタと前記第１の登録欠陥セクタとの間について補完欠陥セクタ登録の判定が終了した後に、前記２つのアドレス間において前記第１の登録欠陥セクタに隣接する第３の登録欠陥セクタのアドレス情報を取得し、さらに、前記第２の欠陥セクタから順に前記第３の登録欠陥セクタに近づく方向に各登録欠陥セクタのアドレス情報を順次取得し、取得した各アドレスと前記第３の登録欠陥セクタのアドレスとの間について補完欠陥セクタ登録の判定を順次行うとよい。また、前記判定を行うために、前記第１の欠陥セクタと前記第２の欠陥セクタと同一ヘッド番号、同一セクタ番号の欠陥セクタのシリンダ番号をリストにした、シリンダ・リストを用いることが望ましい。
【００２０】
本発明の他の態様に係る磁気ディスク装置において、記録ディスク上で欠陥検出された複数の欠陥セクタを登録しているデータ記憶装置であって、記録ディスクにアクセスするヘッドと、前記ヘッドが記録ディスク上のデータを読み出して検出した複数の欠陥セクタを登録するメモリと、前記メモリに登録されている第１の登録欠陥セクタのアドレス情報と第２の登録欠陥セクタのアドレス情報とを取得し、前記２つのアドレス間において登録されている欠陥セクタの数に基づいて、前記２つのアドレス間のセクタについて補完欠陥セクタ登録するかを判定するコントローラと、を備える、ものである。
【００２１】
さらに、前記コントローラは、前記基準値として、前記２つのアドレス間のデータ・セクタ列内に登録されている欠陥セクタの密度を用いるとよい。また、前記補完欠陥セクタは、前記２つのアドレス間の非登録データ・セクタと、前記第１の登録欠陥セクタから前記第２の登録欠陥セクタの反対側に連続する非登録データ・セクタと、前記第２の登録欠陥セクタから前記第１の登録欠陥セクタの反対側に連続する非登録データ・セクタと、を含むものでもよい。
【００２２】
また、前記コントローラは、前記拡張補完セクタの数を、前記２つのアドレス間のデータ・セクタ列内の欠陥セクタの数に基づいて算出することが望ましい。さらに、前記コントローラは、前記２つのアドレス間について補完欠陥セクタ登録の判定をした後に、前記２つのアドレス間の登録欠陥セクタのアドレス情報を取得し、取得したアドレスと前記第１の登録欠陥セクタのアドレスとの間について補完欠陥セクタ登録の判定を行うものでもよい。
【００２３】
さらに、前記コントローラは、前記２つのアドレス間の各登録欠陥セクタと前記第１の登録欠陥セクタとの間について補完欠陥セクタ登録の判定が終了した後に、前記２つのアドレス間において前記第１の登録欠陥セクタに隣接する第３の登録欠陥セクタのアドレス情報を取得し、さらに、前記第２の欠陥セクタから順に前記第３の登録欠陥セクタに近づく方向に各登録欠陥セクタのアドレス情報を順次取得し、取得した各アドレスと前記第３の登録欠陥セクタのアドレスとの間について補完欠陥セクタ登録の判定を順次行う、ことが好ましい。また、前記コントローラは、前記判定を行うために、前記第１の欠陥セクタと前記第２の欠陥セクタと同一ヘッド番号、同一セクタ番号の欠陥セクタのシリンダ番号をリストにした、シリンダ・リストを作成するものであるとよい。
【発明の効果】
【００２４】
本発明に係るエラーに対する補完方法によれば、製造工程の中で発見されている欠陥セクタの周りにおいての、欠陥の漏れによるエラーの確率を下げることができ、また、従来の補完方法である、様々な長さの固定長を取り出して補完を行っていたのを統一して一度の補完作業だけで処理することができるため、補完にかかる時間の短縮をすることが可能となる。
【発明を実施するための最良の形態】
【００２５】
以下に、本発明を適用可能な実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
【００２６】
本発明は、データ記憶装置における欠陥セクタの登録手法に関する。本形態の欠陥セクタ管理は、実際のデータ・ライト及びデータ・リードを行うテストによって検出された欠陥セクタとして登録されているセクタに加えて、欠陥として検出されなかったセクタをも、補完欠陥セクタとして登録する。本形態においては、記録ディスク上で欠陥検出された複数の欠陥セクタを登録し、この登録された欠陥セクタから２つの欠陥セクタを取り出し、２つの登録欠陥セクタのアドレス間における欠陥セクタ数を使用して欠陥セクタ補完処理の実行有無を決定している。ここでいう欠陥セクタ補完処理の詳細は、後述する。
【００２７】
以下においては、データ記憶装置の一例であるハードディスク・ドライブ（ＨＤＤ）を例として、本発明の実施形態を説明する。本実施形態の特徴点の理解の容易のため、最初に、ＨＤＤの全体構成の概略を説明する。図１は、本実施の形態に係るＨＤＤ１の構成を模式的に示すブロック図である。
【００２８】
図１に示すように、ＨＤＤ１は、密閉されたエンクロージャ１０内に、メディア（記録媒体）の一例である磁気ディスク１１、ヘッド素子部１２、アーム電子回路（アームエレクトロニクス：ＡＥ）１３、スピンドル・モータ（ＳＰＭ）１４、ボイス・コイル・モータ（ＶＣＭ）１５、そしてアクチュエータ１６を備えている。
【００２９】
ＨＤＤ１は、エンクロージャ１０の外側に固定された回路基板２０を備えている。回路基板２０上には、リード・ライト・チャネル（Ｒ／Ｗチャネル）２１、モータ・ドライバ・ユニット２２、ハードディスク・コントローラ（ＨＤＣ）とＭＰＵの集積回路（以下、ＨＤＣ／ＭＰＵ）２３、及びメモリの一例であるＲＡＭ２４などの各ＩＣを備えている。尚、各回路構成は一つのＩＣに集積すること、あるいは、複数のＩＣに分けて実装することができる。
【００３０】
外部ホスト５１からのライト・データは、ＨＤＣ／ＭＰＵ２３によって受信され、Ｒ／Ｗチャネル２１、ＡＥ１３を介して、ヘッド素子部１２によって磁気ディスク１１に書き込まれる。また、磁気ディスク１１に記憶されているリード・データはヘッド素子部１２によって読み出され、そのリード・データは、ＡＥ１３、Ｒ／Ｗチャネル２１を介して、ＨＤＣ／ＭＰＵ２３から外部ホスト５１に出力される。
【００３１】
磁気ディスク１１は、ＳＰＭ１４に固定されている。ＳＰＭ１４は所定の速度で磁気ディスク１１を回転する。ＨＤＣ／ＭＰＵ２３からの制御データに従って、モータ・ドライバ・ユニット２２がＳＰＭ１４を駆動する。本例の磁気ディスク１１は、データを記録する記録面を両面に備え、各記録面に対応するヘッド素子部１２が設けられている。
【００３２】
各ヘッド素子部１２はスライダ（不図示）に固定されている。また、スライダはアクチュエータ１６に固定されている。アクチュエータ１６はＶＣＭ１５に連結され、回動軸を中心に回動することによって、ヘッド素子部１２（及びスライダ）を磁気ディスク１１上において半径方向に移動する。モータ・ドライバ・ユニット２２は、ＨＤＣ／ＭＰＵ２３からの制御データに従ってＶＣＭ１５を駆動する。
【００３３】
ヘッド素子部１２には、典型的には、磁気ディスク１１への記録データに応じて電気信号を磁界に変換する記録ヘッド、及び磁気ディスク１１からの磁界を電気信号に変換する再生ヘッドを備えている。なお、磁気ディスク１１は、１枚以上あればよく、記録面は磁気ディスク１１の片面あるいは両面に形成することができる。
【００３４】
ＡＥ１３は、複数のヘッド素子部１２の中からデータ・アクセスが行われる１つのヘッド素子部１２を選択し、選択されたヘッド素子部１２により再生される再生信号を一定のゲインで増幅（プリアンプ）し、Ｒ／Ｗチャネル２１に送る。また、Ｒ／Ｗチャネル２１からの記録信号を選択されたヘッド素子部１２に送る。
【００３５】
Ｒ／Ｗチャネル２１は、外部ホスト５１から転送されたデータについて、ライト処理を実行する。ライト処理において、Ｒ／Ｗチャネル２１はＨＤＣ／ＭＰＵ２３から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してＡＥ１３に供給する。また、外部ホスト５１にデータを供給する際にはリード処理を行う。
【００３６】
リード処理において、Ｒ／Ｗチャネル２１はＡＥ１３から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたリード・データは、ＨＤＣ／ＭＰＵ２３に供給される。ＨＤＣ／ＭＰＵ２３において、ＭＰＵはＲＡＭ２４にロードされたマイクロ・コードに従って動作する。ＨＤＤ１の起動に伴い、ＲＡＭ２４には、ＭＰＵ上で動作するマイクロ・コードの他、制御及びデータ処理に必要とされるデータが磁気ディスク１１あるいはＲＯＭ（不図示）からロードされる。
【００３７】
ＨＤＣ／ＭＰＵ２３は、コマンド実行順序の管理、ヘッド素子部１２のポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、ＨＤＤ１の全体制御を実行する。本形態のＨＤＤ１は、特に、そのディフェクト管理における欠陥セクタの登録処理に特徴を有するが、その点については後述する。ＨＤＣ／ＭＰＵ２３は、Ｒ／Ｗチャネル２１から取得した磁気ディスク１１からのリード・データを、外部ホスト５１に伝送する。磁気ディスク１１からのリード・データは、ＲＡＭ２４内のリード・バッファに一旦格納された後、ＨＤＣ／ＭＰＵ２３を介して外部ホスト５１に転送される。
【００３８】
また、外部ホスト５１からのライト・データは、ＨＤＣ／ＭＰＵ２３を介して、ＲＡＭ２４内のライト・バッファに一旦格納され、その後、所定のタイミングでＨＤＣ／ＭＰＵ２３を介して磁気ディスク１１に転送される。
【００３９】
図２を参照して、磁気ディスク１１上の記録データについて説明する。図２は、磁気ディスク１１の記録面の記録データの状態を模式的に示している。図２に示されるように、磁気ディスク１１の記録面には、磁気ディスク１１の中心から半径方向に放射状に延び、所定の角度毎に形成された複数のサーボ領域１１１と、隣り合う２つのサーボ領域１１１の間にデータ領域１１２が形成されている。
【００４０】
サーボ領域１１１とデータ領域１１２は、所定の角度で交互に設けられている。各サーボ領域１１１には、ヘッド素子部１２の位置決め制御を行うためのサーボ・データが記録される。各データ領域１１２には、ユーザ・データが記録される。磁気ディスク１１の各記録面には、半径方向の所定幅を有し、同心円状に形成された複数本のトラック１１３が形成される。サーボ・データおよびユーザ・データは、トラック１１３に沿って記録される。サーボ領域１１１間の一つのトラック１１３は、複数のデータ・セクタ（ユーザ・データの記録単位）を備えている。
【００４１】
各データ・セクタは、シリンダ番号（トラック番号）、ヘッド番号そしてセクタ番号によって特定することができる。シリンダ番号は各記録面におけるトラック位置を表し、ヘッド番号は各記録面を表し、そしてセクタ番号は各トラック内のセクタ位置を表す。また、トラック１１３は、磁気ディスク１１の半径方向の位置に従って、複数のゾーンにグループ化されている。１つのトラック１１３に含まれるデータ・セクタの数は、ゾーンのそれぞれに設定される。図２においては、３つのゾーンが例示されている。ゾーン毎に記録周波数を変更することで、記録密度を向上することができる。
【００４２】
以下において、ＨＤＤ１の欠陥セクタの全補完処理について具体的に説明する。この全補完処理については、欠陥セクタの位置情報を登録する欠陥セクタ・テーブル登録処理と、半径方向（シリンダ方向）の欠陥セクタの補完処理と、円周方向（セクタ方向）の欠陥セクタの補完処理と、上記２つの補完処理によって選定された補完欠陥セクタの補完欠陥セクタ登録処理とが含まれている。
【００４３】
まず、欠陥セクタ・テーブル登録処理について記述する。ＨＤＤ１は、ＳＡＴ（Surface Analysis Test）を実行して、磁気ディスク１１上のキズなどに起因する欠陥セクタを検出する。ＳＡＴにおいて、ＨＤＤ１は、磁気ディスク１１の各データ・セクタに対して実際にデータのライト及びリードを実行し、正確にデータ・リードすることができなかったデータ・セクタを欠陥セクタとして欠陥セクタ・テーブルに登録する。
【００４４】
次に、半径方向の欠陥セクタの補完処理と、円周方向の欠陥セクタの補完処理とによって、補完欠陥セクタを選定する。この補完欠陥セクタとは、ＳＡＴによって欠陥セクタと認定されなかったデータ・セクタの内の特定基準に従うデータ・セクタのことである。この補完欠陥セクタは、補完欠陥セクタ登録処理のときに、ＳＡＴによって検出された欠陥セクタと同じ欠陥セクタ・テーブルに登録される。
【００４５】
欠陥セクタ・テーブルに登録されたデータ・セクタは、実際のユーザ・データの記録には使用されず、それらのアドレスに対応した代替セクタが割り当てられる。この割り当ては、リアサイン・テーブルと呼ばれる変換テーブルに従って実行されるが、リアサインの手法は広く知られた技術であるので説明を省略する。
【００４６】
以下において、本形態における欠陥セクタの補完処理について説明する。欠陥セクタの補完処理は、欠陥セクタの補完選定処理を行うか否かの判定処理と、補完欠陥セクタの補完選定処理とを含んでいる。
【００４７】
まず、図３及び図４を参照して、本形態のＨＤＤ１における、欠陥セクタの補完選定処理を行うか否かの判定処理について説明する。本形態のＨＤＤ１は、選択された２つの登録欠陥セクタ間における、登録欠陥セクタの密度に基づいて補完欠陥セクタの登録の有無を決定する。具体的には、欠陥セクタ密度が基準値以上である場合には補完選定処理を行い、基準値未満であれば補完選定処理を行わない。いずれのデータ・セクタを補完欠陥セクタとして登録するかは、後に詳述する。
【００４８】
図３は、半径方向に連続して配置されたデータ・セクタの一例を示しており、図３における左側が内周側（ＩＤ）であり、右側が外周側（ＯＤ）である。このデータ・セクタ列は、例えば、一つのゾーン内における内周側端から外周側端までの同一セクタ番号で表されるデータ・セクタ群と考えることができる。図３において、データ・セクタ３０１ａ−３０１ｅはＳＡＴにおいて欠陥検出され、欠陥セクタ・テーブルに登録されている欠陥セクタである。図３の例においては、２３のデータ・セクタの内の５データ・セクタ３０１ａ−３０１ｅが検出された欠陥セクタとして登録されている。
【００４９】
まず、図４（ａ）に示すように、ＨＤＤ１は、登録されている欠陥セクタの内の最内周側の欠陥セクタ３０１ａのアドレスを取得し、さらに、最外周側の欠陥セクタ３０１ｅのアドレスを取得する。そして、欠陥セクタ３０１ａから３０１ｅまでのデータ・セクタ数をカウントする。図の例においては、欠陥セクタ３０１ａから３０１ｅまでに１４のデータ・セクタが存在する。また、欠陥セクタ３０１ａから３０１ｅまでの間で登録されている欠陥セクタの数をカウントする。図の例においては、５つの欠陥セクタ３０１ａ−３０１ｅが、欠陥セクタ３０１ａから３０１ｅまでの間に存在する。さらに、欠陥セクタ３０１ａから３０１ｅまでの間の欠陥セクタ密度と基準値とを比較して、補完選定処理の実行有無を決定し、必要な場合は補完選定処理を行う。
【００５０】
続いて、ＨＤＤ１は、最外周から一つ内周側にある欠陥セクタ３０１ｄを選択し、そのアドレス情報と最内周欠陥セクタ３０１ａのアドレス情報を使用して、上述と同様の処理を実行する。つまり、欠陥セクタ３０１ａから３０１ｄまでのデータ・セクタ数をカウントする。図の例においては、欠陥セクタ３０１ａから３０１ｄまでに１０のデータ・セクタが存在する。また、欠陥セクタ３０１ａから３０１ｄまでの間で登録されている欠陥セクタの数をカウントする。図の例においては、４つの欠陥セクタ３０１ａ−３０１ｅが存在する。さらに、欠陥セクタ３０１ａから３０１ｄまでの間の欠陥セクタ密度と基準値とを比較して、補完選定処理の実行有無を決定し、必要な場合は補完選定処理を行う。
【００５１】
以下同様に、欠陥セクタ３０１ｃ、３０１ｂと欠陥セクタ３０１ａとの間のデータ・セクタについて、補完選定処理の実行有無の決定を実行し、必要な場合は補完選定処理を行う。
【００５２】
次に、図４（ｂ）に示すように、基準とする欠陥セクタを、欠陥セクタ３０１ａからその一つ外周側の欠陥セクタ３０１ｂに変更して同様の処理を実行する。それが終了すると、図４（ｃ）に示すように、さらに基準とする欠陥セクタを、欠陥セクタ３０１ｂからその一つ外周側の欠陥セクタ３０１ｃに変更して同様の処理を実行する。
【００５３】
そして最後に、基準とする欠陥セクタを欠陥セクタ３０１ｃからその一つ外周側の欠陥セクタ３０１ｄに変更して同様の処理を実行する（不図示）。なお、上述の欠陥セクタ補完の各判定ステップにおいて、それ以降の判定ステップを行っても新たな補完欠陥セクタの可能性がない場合（すでに全ての補完欠陥セクタが登録されている場合）、そのステップで処理を終了する。
【００５４】
次に、上述の判定処理に基づいた欠陥セクタの補完処理について説明する。図５は、図４（ａ）を参照して説明した判定処理に基づいた欠陥セクタの補完処理を示している。ここで、例として、欠陥データ補完処理の実行有無の決定に用いられる基準値を、選択された欠陥セクタ間の欠陥セクタ密度が５０％のときとする。
【００５５】
図５（ａ）に示すように、ＨＤＤ１は、欠陥セクタ３０１ａから３０１ｅまでのデータ・セクタについて、上述の補完選定処理の実行／非実行を決定する。図の例においては、選択された欠陥セクタ間の欠陥セクタ密度が基準値未満であるため、補完選定処理を行うことなく、次の処理に進む。
【００５６】
次に、図５（ｂ）に示すように、ＨＤＤ１は、欠陥セクタ３０１ａから３０１ｅまでのデータ・セクタについて、上述の補完選定処理の実行／非実行を決定する。図５（ｂ）の状態においても、選択された欠陥セクタ間の欠陥セクタ密度が基準値未満であるため、補完選定処理を行うことなく、次の処理に進む。続いて、図５（ｃ）に示すように、ＨＤＤ１は、欠陥セクタ３０１ａから３０１ｃまでのデータ・セクタについて、上述の補完選定処理の実行／非実行を決定する。欠陥セクタ３０１ａから３０１ｃの間においては、欠陥セクタ密度が基準値以上であるため、補完選定処理を実行する。
【００５７】
図５（ｃ）の例においては、ＨＤＤ１は、補完選定処理として、欠陥セクタ３０１ａから３０１ｃの間に位置するデータ・セクタ３１１ａ−３１１ｃと、欠陥セクタ３０１ａの内周側に位置するデータ・セクタ３１２ａ−３１２ｃと、欠陥セクタ３０１ｃの外周側に位置するデータ・セクタ３１２ｄ−３１２ｆとを、補完欠陥セクタとして選定・登録する。
【００５８】
このように、ＨＤＤ１は、補完選定処理として、判定に使用する登録欠陥セクタ間のデータ・セクタを補完欠陥セクタ（３１１ａ−３１１ｃ）として登録すると共に、判定に使用する２つの登録欠陥セクタによって規定されるデータ・セクタ列から両側のそれぞれに延びているデータ・セクタを、補完欠陥セクタ（３１２ａ−３１２ｆ）として登録する。以下においては、登録欠陥セクタ間の補完欠陥セクタを中間補完セクタ、それらから内周側及び外周側に付加されている補完欠陥セクタを拡張補完セクタと呼ぶ。
【００５９】
典型的には、判定に使用する登録補完セクタ間における非欠陥セクタを、全て中間補完セクタとして登録する。拡張補完セクタは、設計によって適切なセクタ数が選択される。好ましくは、判定に使用した２つの登録欠陥セクタ間のセクタ数が多くなるほど拡張補完セクタ数が増加し、さらに、それらの間の登録欠陥セクタ密度が増加するほど拡張補完セクタ数が増加するように設定する。典型的には、拡張補完セクタ数は、内周側と外周側において同一数に設定される。
【００６０】
最後に、図５（ｄ）に示すように、ＨＤＤ１は、欠陥セクタ３０１ａから３０１ｂまでのデータ・セクタについて、上述の補完選定処理の実行／非実行を決定する。図５（ｄ）の状態においても、選択された欠陥セクタ間の欠陥セクタ密度が基準値未満であるため、補完選定処理を行なわないことが決定される。以上によって、欠陥セクタ３０１ａを基準とした欠陥セクタの補完処理の実行が終了する。
【００６１】
次に、登録欠陥セクタ３０１ｂを基準とした補完欠陥セクタの選定処理について、図６を参照して説明する。つまり、図６は、図４（ｂ）を参照して説明した判定処理に対応する補完欠陥セクタの登録処理を示している。図６（ａ）に示すように、ＨＤＤ１は、欠陥セクタ３０１ｂから３０１ｅまでの間のデータ・セクタについて、上述の補完選定処理の実行／非実行を決定する。図の例においては、選択された欠陥セクタ間の欠陥セクタ密度が基準値未満であるため、補完選定処理を行うことなく、次の処理に進む。
【００６２】
欠陥セクタ密度の計算においては、登録欠陥セクタについて実行され、そのときに行う補完欠陥セクタの選定処理より前に行われた補完欠陥セクタの選定処理によって選定された補完欠陥セクタについては実行されない。図６（ａ）の例においては、密度計算に使用される欠陥セクタは、登録欠陥セクタ３０１ｂ、３０１ｃ、３０１ｄ及び３０１ｅであって、補完欠陥セクタ３１２ｄ−３１２ｆは、除かれる。
【００６３】
続いて、図６（ｂ）に示すように、ＨＤＤ１は、欠陥セクタ３０１ｂから３０１ｄまでのデータ・セクタについて、補完選定処理の実行／非実行を決定する。欠陥セクタ３０１ｂから３０１ｄの間においては、登録欠陥セクタの密度が基準値以上であるため、欠陥セクタ補完処理を実行する。図６（ｂ）の例においては、ＨＤＤ１は、欠陥セクタ補完処理として、欠陥セクタ３０１ｄの外周側に位置するデータ・セクタ３２２ａ−３２２ｃを、新たな補完欠陥セクタとして決定、登録する。
【００６４】
欠陥セクタ３０１ｂと３０１ｄとの間のデータ・セクタは、すでに補完欠陥セクタとして登録されているので、これらのデータ・セクタについて改めて補完欠陥セクタ登録を行う必要はない。欠陥セクタ３０１ｂの内周側のデータ・セクタについても同様である。図６（ｂ）において、欠陥セクタ３０１ｂから３０１ｄまでのセクタ数と欠陥セクタ密度は、図５（ｃ）の状態と同様であるので、拡張補完セクタ（３２２ａ−３２２ｃ）の数も同一（図の例では３セクタ）となる。
【００６５】
最後に、図６（ｃ）に示すように、ＨＤＤ１は、欠陥セクタ３０１ｂから３０１ｃまでの間のデータ・セクタについて、上述の補完選定処理の実行／非実行を決定する。図の例においては、選択された欠陥セクタ間の欠陥セクタ密度が基準値以上であるため、補完選定処理を行うことを決定するが、該当するデータ・セクタの全てがすでに補完欠陥セクタとして周囲セクタが登録されているため、新たな補完欠陥セクタを登録することなく、登録欠陥セクタ３０１ｂを基準とした補完欠陥セクタの登録処理を終了する。
【００６６】
上述と同様の処理を、登録欠陥セクタ３０１ｃ及び３０１ｄをそれぞれ基準として欠陥セクタの補完処理を実行する。これによって、図３に示されたデータ・セクタ列についての欠陥セクタの補完処理が完了する。
【００６７】
以上のように、本形態のＨＤＤ１における欠陥セクタの補完処理においては、２つの登録欠陥セクタのアドレス間における欠陥セクタ数を使用して欠陥セクタ補完処理の有無を決定している。そのため、欠陥セクタの補完処理を、同じデータ・セクタ列に対して補完条件を変えて行う必要がなくなり、欠陥セクタの補完処理にかかる時間を大幅に短縮することができる。
【００６８】
また、本形態のＨＤＤ１における欠陥セクタの補完処理においては、２つの登録欠陥セクタのアドレス間に存在するセクタ数や２つの登録欠陥セクタのアドレス間に存在する欠陥セクタの密度に応じた補完欠陥セクタの数を決定することができるため、適宜それぞれのデータ記憶装置に応じた補完欠陥セクタの数を決定することができる。
【００６９】
続いて、上述の欠陥セクタの全補完処理における、ＨＤＤ１の具体的動作についてより詳細に説明する。図７のフローチャートに示すように、ＨＤＤ１完成後の製品チェックにおいて、ＨＤＤ１は磁気ディスク１１上のＳＡＴを実行する（Ｓ１０１）。ＨＤＤ１は、磁気ディスク１１上もしくはＲＯＭ内にＳＡＴプログラムを格納している。ＨＤＣ／ＭＰＵ２３が、外部からの制御信号に従ってそのプログラムを実行し、ＳＡＴ実行部として機能する。ＳＡＴにおいて、ＨＤＣ／ＭＰＵ２３は、検出された欠陥セクタのアドレス情報を欠陥セクタ・テーブル（不図示）に登録する。欠陥セクタ・テーブルはＲＡＭ２１内に一時的に格納されると共に、磁気ディスク１１上の管理データ領域に記録される。
【００７０】
その後、ＨＤＣ／ＭＰＵ２３は、ＲＡＭ２１に記憶された欠陥セクタ・テーブル及び上述の手法に従って、シリンダ方向（磁気ディスク１１の半径方向）の欠陥セクタの補完処理を実行する（Ｓ１０２）。ＨＤＣ／ＭＰＵ２３は、実行プログラムに従って、他の回路構成を制御し、さらに必要な演算処理を実行することによって、この処理を実行制御する。
【００７１】
次に、ＨＤＣ／ＭＰＵ２３は、ＲＡＭ２１に記憶された欠陥セクタ・テーブル及び上述の手法に従って、セクタ方向（磁気ディスク１１の円周方向）の欠陥セクタの補完処理を行う（Ｓ１０３）。そして、登録欠陥セクタの位置情報に加えて、補完欠陥セクタの位置情報を、欠陥セクタ・テーブルに登録する（Ｓ１０４）。
【００７２】
上述のように、本実施の形態においては、Ｓ１０２とＳ１０３とにおいて、欠陥セクタを補完するかを判定するために、従来のような固定セクタ長のデータ・セクタ列ではなく、ＳＡＴにおいて検出された欠陥セクタ間のデータ・セクタ列を基準としている。
【００７３】
具体的には、これらの登録欠陥セクタ（ＳＡＴで検出された欠陥セクタ）の間に存在する登録欠陥セクタの密度を使用して、欠陥セクタの補完の有無について判定する。さらに、取得したセクタの両端から補完するセクタ数も、その密度及び欠陥セクタ自体の長さを考慮して計算するというものである。詳細は、補完処理内の判定処理と選定処理とのフローチャートのところで後述する。
【００７４】
次に、本実施の形態に係るＨＤＤ１で行う、半径方向の欠陥セクタの補完処理におけるフローチャートを図８に示す。これは、図７におけるＳ１０２のステップの詳細である。なお、円周方向における欠陥セクタ補完処理も同様の方法によって行うことができる。ＨＤＣ／ＭＰＵ２３は、まず、ヘッド／セクタ・チェック・リストの初期化を行う（Ｓ２０１)。ヘッド／セクタ・チェック・リストは、ＲＡＭ２１に記憶されている。ヘッド／セクタ・チェック・リストは、補完を行ったヘッド番号／セクタ番号を記憶するリストである。
【００７５】
本実施の形態においては、同一ヘッド番号、同一セクタ番号のデータ・セクタを、シリンダ番号の順に並べ、その同一ヘッド番号、同一セクタ番号のセクタ群において、欠陥セクタ同士の間において、補完するか否かの判定を行う。また、チェックが終わったヘッド番号／セクタ番号は、そのヘッド番号／セクタ番号をヘッド／セクタ・チェック・リストに記憶するというものである。
【００７６】
次に、ＳＡＴの結果である欠陥セクタ・テーブルを磁気ディスク１１からＲＡＭ２４に読み出す（Ｓ２０２）。その後、ＨＤＣ／ＭＰＵ２３は、欠陥セクタ・テーブルに登録されているＮ番目（Ｎは自然数）の登録欠陥セクタの位置情報を取得する（Ｓ２０３）。このＮ番目の欠陥セクタのヘッド番号とセクタ番号がチェック・リストにないかどうかを判定する（Ｓ２０４）。もし、チェック・リストにある場合には、このヘッド番号／セクタ番号の欠陥セクタについての補完セクタ登録処理は終了しているため、Ｎに１を加える処理（Ｓ２０９）に進む。
【００７７】
ヘッド番号／セクタ番号がチェック・リストにない場合、ＨＤＣ／ＭＰＵ２３は、チェック・リストにこのヘッド番号／セクタ番号を追加する（Ｓ２０５）。その後、このＮ番目の欠陥セクタ以外の、同一ヘッド番号／セクタ番号の欠陥セクタの位置情報を欠陥セクタ・テーブルから取り出し、シリンダ・リストを作成してＲＡＭ２１に記憶する（Ｓ２０６）。このシリンダ・リストとは、同一ヘッド番号／セクタ番号の登録欠陥セクタのシリンダ番号を、シリンダ番号の小さいものから順に並べたものである。ここで、例として、図３に示したデータ・セクタ列に対して作成された、Ｓ２０６におけるシリンダ・リストを図９に示す。
【００７８】
図９（ａ）には、図３に示したデータ・セクタ列と、それぞれのセクタに対応するシリンダ番号をそれぞれのセクタの上に示している。また、図９（ａ）に対するシリンダ・リストが図９（ｂ）となる。登録欠陥セクタ３０１ａ、３０１ｂ、３０１ｃ、３０１ｄ、３０１ｅのシリンダ番号は６、１０、１１、１５、１９であるので、にシリンダ番号を少ない順に並べることによってシリンダ・リストを、図９（ｂ）のように作成する。また、シリンダ・リストには、シリンダ番号の少ない順にポインタ番号がつけられている。このポインタ番号は、このポインタ番号に対応したシリンダ番号が記憶されているアドレスに対応するものである。
【００７９】
本形態のＨＤＤ１においては、２つの登録欠陥セクタのアドレス間における欠陥セクタ数を使用して欠陥セクタの補完選定処理の有無を決定しているので、その取り出す２つの登録欠陥セクタのシリンダ番号を示すためのポインタが必要となる。ここでいうポインタとは、シリンダ・リストのポインタ番号を指し示すものである。例えば、ポインタがポインタ番号０を指し示しているときには、シリンダ番号６が記憶されているアドレスをポインタが指し示すことになる。
【００８０】
本形態のＨＤＤ１においては、シリンダ・リストを用いて、補完欠陥セクタの判定処理を行っている。ここで用いられるのが、ＳＣＰ（:Start Cylinder Pointer)とＥＣＰ(:End Cylinder Pointer)と呼ばれるポインタである。取り出す２つの登録セクタのうち、内周側の登録欠陥セクタのシリンダ番号を示すポインタがＳＣＰであり、外周側の登録欠陥セクタのシリンダ番号を示すのがＥＣＰである。これらのポインタの使用方法については、後述する。
【００８１】
次に、ＨＤＣ／ＭＰＵ２３は、シリンダ・リストを参照して欠陥セクタの補完処理（補完欠陥セクタの決定及び登録処理）を行う（Ｓ２０７）。この補完処理の詳細に関しては後述する。そして、補完の結果を記憶し、つまり、補完欠陥セクタを欠陥セクタ・テーブルに記憶する（Ｓ２０８）。続いて、Ｎに１を加える（Ｓ２０９）。そして、異なるヘッド番号／セクタ番号を有する登録欠陥セクタ数（登録されている異なるヘッド番号／セクタ番号の数）とＮとを比較する（Ｓ２１０）。
【００８２】
Ｎが登録されている登録欠陥セクタ数よりも大きい場合は、すべての登録欠陥セクタについて補完処理がなされたので、次ステップＳ１０３に進む。Ｎが欠陥の存在するヘッド／セクタの数よりも小さい場合は、すべて欠陥セクタについて補完処理が終了していないので、Ｓ２０３の前に戻り同じステップを繰り返す。
【００８３】
次に、図８のＳ２０７のステップにおける、シリンダ・リストによる欠陥セクタの補完処理における判定処理と選定処理とのフローチャートを図１０に示す。この判定処理と選定処理を行うにあたって、最大補完長というパラメータを用いる。判定処理を行ったときに補完選定処理を実行すると判定された場合に、補完選定処理を行っても補完欠陥セクタがこの補完選定処理以前に行った補完選定処理によって選定された補完欠陥セクタの数以上に増加することがないことをＭＰＵ／ＨＤＣ２３が判定するために、この最大補完長というパラメータを用いている。この最大補完長には、いままで行った補完選定処理において選定された、拡張補完欠陥セクタの数の中で最大の補完欠陥セクタの数をいれておくことにする。
【００８４】
また、補完処理における判定処理において、選び出された２つの登録欠陥セクタのうち基準となる登録欠陥セクタに対して１つの最大補完長のパラメータを持っている。基準となる登録欠陥セクタというのは、上述の判定処理においては、内周側の登録欠陥セクタのことである。例えば、上述の図４（ａ）を参照とした判定処理においては、基準となる登録欠陥セクタは欠陥セクタ３０１ａとなる。また、上述の図４（ｂ）を参照として判定処理においては、基準となる登録欠陥セクタは欠陥セクタ３０１ｂとなる。補完処理における判定処理において、それぞれの基準となる登録欠陥セクタが移動したときに、この最大補完長はリセットされる。
【００８５】
また、補完欠陥セクタの判定処理によって選び出された２つの登録欠陥セクタ間の登録欠陥セクタ以外のデータ・セクタを中間補完セクタとしている。さらに、判定処理によって選び出された２つの登録欠陥セクタ間のデータ・セクタ列（ここから"取り出されたデータ・セクタ列"と呼ぶ。）の両側から延びているデータ・セクタを拡張補完セクタとし、この補完拡張補完セクタの数は、取り出されたデータ・セクタ列内に含まれる欠陥セクタの数に補完率Ｋを掛けて、固定補完長Ｌを加えた数とする。
【００８６】
ここで、補完率Ｋとは、補完欠陥セクタの判定処理によって取り出されたデータ・セクタ列内の欠陥セクタの数に対して、取り出されたデータ・セクタ列の両側から延びている拡張補完セクタの密度とする。また、固定補完長Ｌは、どのような欠陥セクタの補完選定処理においても、拡張補完セクタとして必要なセクタ数の補完欠陥セクタである。上記のように補完欠陥セクタの数を決定することによって、数の多い欠陥セクタに対する補完欠陥セクタは多くし、数の少ない欠陥セクタに対する補完欠陥セクタは少なくすることができる。このことによって、より効率よく補完処理を行うことができる。
【００８７】
図１０のフローチャートに沿って説明する。まず、ＭＰＵ／ＨＤＣ２３は、ＳＣＰがポインタ数０を指し示すようにする（Ｓ３０１）。ＳＣＰは、上述したように、ポインタであり、本実施のＨＤＤ１における判定処理のときに選び出された２つの登録欠陥セクタのうちの内周側の欠陥セクタに対応するポインタ数を示すポインタである。
【００８８】
次に、ＭＰＵ／ＨＤＣ２３は、ＥＣＰが最大のポインタ数を指し示すようにし、最大補完長の値を０にして初期化を行う（Ｓ３０２）。ここでいう、ＥＣＰは、上述したように、ポインタであり、本実施のＨＤＤ１における判定処理のときに選び出された２つの登録欠陥セクタのうち外周側の欠陥セクタに対応するポインタ数を示すポインタである。また、ＥＣＰを最大にするというのは、シリンダ・リストにおけるポインタ数の最大値のことであり、同一ヘッド番号／同一セクタ番号のセクタ列における登録欠陥セクタの数から１を引いた値となる。
【００８９】
次に、ＭＰＵ／ＨＤＣ２３は、ＳＣＰが最大の値のポインタ数を指し示しているか否かの判定を行う（Ｓ３０３）。ＳＣＰが最大の値のポインタ数を指し示しているのであれば、すべての欠陥セクタに対して判定処理を行ったので、図８のＳ２０８に進み補完欠陥セクタの位置情報の記憶を行う。
【００９０】
ＳＣＰが最大の値のポインタ数を指し示していなければ、ＭＰＵ／ＨＤＣ２３は、ＳＣＰが指し示すポインタ数とＥＣＰが指し示すポインタ数が同じか否かの判定を行う（Ｓ３０４）。ＳＣＰが指し示すポインタ数とＥＣＰが指し示すポインタ数が同じであれば、そのＳＣＰが指し示すポインタ数に対応するシリンダ番号が、基準となる登録欠陥セクタのシリンダ番号となる欠陥セクタの判定処理と選定処理は終了したので、Ｓ３０６の前に進む。
【００９１】
ＳＣＰが指し示すポインタ数とＥＣＰが指し示すポインタ数が違う値であれば、ＳＣＰが指し示すポインタ数に対応するシリンダ番号が、基準となる登録欠陥セクタのシリンダ番号となる欠陥セクタの判定処理と選定処理は終了していない。そこで、ＭＰＵ／ＨＤＣ２３は、最大補完長に登録されている数と、取り出されたデータ・セクタ列が全て欠陥セクタである場合の拡張補完セクタの数とを比較する（Ｓ３０５）。具体的には、ＥＣＰが指し示すポインタ数に対応するシリンダ番号ＥＣ（End Cylinder)とＳＣＰが指し示すシリンダ番号に対応するポインタ数に対応するシリンダ番号ＳＣ（Start Cylinder)の差に補完率Ｋをかけ、固定補完長Ｌを加えたものとを比較する。
【００９２】
このようにすることによって、ＳＣＰが指し示すポインタ数に対応するシリンダ番号のセクタを基準となる登録欠陥セクタとしてＥＣＰを移動させたとしても、最大補完長に登録されている数より大きい数の拡張補完セクタを補完選定処理することがないので、このＳＣＰが指し示すポインタ数に対応するシリンダ番号のセクタを基準となる登録欠陥セクタとする判定処理と選定処理とを終了する。そして、ＭＰＵ／ＨＤＣ２３は、ＳＣＰが指し示しているポインタ数に１を足し合わせた数のポインタ数をＳＣＰが指し示すようにする。（Ｓ３０６）。
【００９３】
最大補完長に登録されている数が、取り出されたデータ・セクタ列が全て欠陥セクタである場合の拡張補完セクタの数より小さい場合は、欠陥密度の算出を行う（Ｓ３０７）。欠陥密度の算出は、ＥＣＰが指し示しているポインタ数ＥＰとＳＣＰが指し示しているポインタ数ＳＰを用いて、
欠陥密度＝（ＥＰ−ＳＰ＋１）／（ＥＣ−ＳＣ＋１）
とする。
【００９４】
ＥＰ−ＳＰ＋１で計算された数は、取り出されたデータ・セクタ列内に含まれる欠陥セクタの数であり、ＥＣ−ＳＣ＋１で計算された数は、取り出されたデータ・セクタ列内に含まれる欠陥セクタをも含んだセクタの数である。
【００９５】
次に、ＭＰＵ／ＨＤＣ２３は、この欠陥密度が補完条件Ｒより大きいか否かの判定を行うことによって、補完選定処理を行うか否かの判定を行う（Ｓ３０８）。欠陥密度が補完条件より大きい場合、補完選定処理を行い、欠陥密度が補完条件より小さい場合は、補完選定処理を行わず、次の判定処理へと進む。具体的には、欠陥密度が補完条件Ｒより小さい場合は、補完選定処理をする必要がないため、ＭＰＵ／ＣＰＵ２３は、ＥＣＰが指し示すポインタ数から１を引いた数のポインタ数をＥＣＰが指し示すようにする（Ｓ３０９）。その後、Ｓ３０４の前に進む。
【００９６】
欠陥密度が補完条件Ｒより大きい場合は、補完選定処理を行う。まず、拡張補完セクタの数である補完長の算出を行う（Ｓ３１０)。補完長は、以下の式によって算出される。
補完長＝（ＥＰ−ＳＰ＋１）×Ｋ＋Ｌ
ここで、Ｋは補完率であり、Ｌは固定補完長である。また、ＥＰ−ＳＰ＋１は、取り出されたデータ・セクタ列内に含まれる欠陥セクタの数である。つまり、補完長は、取り出されたデータ・セクタ列内に含まれる欠陥セクタの数に応じた値になっている。このようにすることによって、数の多い欠陥セクタに対する補完欠陥セクタは多くし、数の少ない欠陥セクタに対する補完欠陥セクタは少なくすることができる。このことによって、より効率よく補完処理を行うことができる。
【００９７】
次に、ＭＰＵ／ＨＤＣ２３は、上述のように算出された補完長と最大補完長に記憶された数との比較を行う（Ｓ３１１）。最大補完長は、いままで行われた補完選定処理によって選定された拡張補完セクタの数のうち最大の数としているので、算出された補完長が最大補完長に記憶された数より大きいときには、ＭＰＵ／ＨＤＣ２３は、最大補完長に算出された補完長を入れ替えて記憶させる。（Ｓ３１２）。その後、ＭＰＵ／ＨＤＣ２３は、ＥＣＰが指し示すポインタ数から１を引いた数のポインタ数をＥＣＰが指し示すようにする（Ｓ３０９）。
【００９８】
算出された補完長が最大補完長に記憶された数より小さいときには、ＭＰＵ／ＨＤＣ２３は、最大補完長に算出された補完長を入れ替える必要がないので、そのまま、ＥＣＰを算出された補完長が最大補完長に記憶された数より小さいときには、ＥＣＰが指し示すポインタ数から１を引いた数のポインタ数をＥＣＰが指し示すようにする（Ｓ３０９）。
【００９９】
ここで、図３に示した半径方向に連続して配置されたデータ・セクタの一例を参照して、最初に取り出した登録欠陥セクタを欠陥セクタ３０１ａとして、本実施の形態における補完処理について説明する。まず、ＭＰＵ／ＨＤＣ２３は、ヘッド／セクタ・チェック・リストを初期化し、ＳＡＴの結果をＲＡＭ２４に読みだし、１番目の欠陥セクタとして欠陥セクタ３０１ａの位置情報を取り出す。
【０１００】
ＭＰＵ／ＨＤＣ２３は、欠陥セクタ３０１ａのヘッド番号、セクタ番号がチェック・リストにないかを確認し、同一ヘッド番号、同一セクタ番号の登録欠陥セクタの位置情報、ここではシリンダ番号をＲＡＭ２４から選び出し、図９（ｂ）に示したシリンダ・リストをＲＡＭ２４上に作成する。さらに、ＭＰＵ／ＨＤＣ２３は、ヘッド番号とセクタ番号をチェック・リストに追加する。
【０１０１】
次に補完処理における判定処理と選定処理を行う。まず、ＭＰＵ／ＨＤＣ２３は、ＳＣＰがポインタ数０を指し示すようにし、ＥＣＰが最大のポインタ数である４を指し示すようにする。そして、ポインタ数０に対応するシリンダ番号は６、ポインタ数４に対応するシリンダ番号は１９であるから、シリンダ番号６のセクタからシリンダ番号１９のセクタまで取り出し、この中の欠陥密度を算出する。ＳＰ＝０、ＥＰ＝４、ＳＣ＝６、ＥＣ＝１９となるから、シリンダ番号３のセクタからシリンダ番号２４のセクタまでのセクタ中の欠陥密度は、
（４−０＋１）／（１９−６＋１）＝３６％
となる。
【０１０２】
ここで、補完条件Ｒを５０％とし、補完率Ｋを４０％、固定補完長Ｌを２セクタとすると、取り出したセクタ内では、補完条件Ｒに到達しないので、補完は行わない。次に、ＭＰＵ／ＣＰＵ２３は、現在ＥＣＰが指し示しているポインタ数４から１を引いた数３をＥＣＰが指し示すようにする。そこで、欠陥密度を算出し、補完条件と比較する。これも補完条件に到達しないので、補完選定処理を行わない。
【０１０３】
次に、ＥＣＰをポインタ数２に移動、・・・というようにＥＣＰを移動させて、欠陥密度と補完条件を比較して、ＳＣＰがポインタ数０にセットしている補完作業を行う。ＳＣＰがポインタ数０を指し示している場合、ＥＣＰがポインタ数２を指し示しているときに、欠陥密度は補完条件Ｒ＝５０％を超えるので、補完選定処理を行う。
【０１０４】
補完長を補完率Ｋと固定補完長Ｌから算出する。ここでは、補完率Ｋ＝４０％、固定補完長Ｌ＝２セクタとしているので、ＳＰ＝０、ＥＰ＝２となるから、
補完長＝（２−０＋１）×０．４＋２＝３．２
となり、このときは、拡張補完セクタとして、取り出したデータ・セクタ列の内周側及び外周側に３セクタを選定する。なお、ここで、補完長の結果を四捨五入してもよいし、切捨て、切り上げどれを用いてもよい。また、このときに、登録欠陥セクタ３０１ａと３０１ｃの間の、非欠陥セクタであるセクタも中間補完セクタとして選定する。
【０１０５】
その後、ＭＰＵ／ＨＤＣ２３は、最大補完長に３を代入し、ＥＣＰがポインタ数１を指し示すようにし、判定処理を行い、補完選定処理を行うか否かを判定し、必要な場合は、選定処理を行う。この場合は、補完条件に到達する欠陥密度を持つことはないので、補完選定処理は行わない。
【０１０６】
次に、ＭＰＵ／ＨＤＣ２３は、ＥＣＰがポインタ数０を指し示すようになったら、ＳＣＰが指し示すポインタ数とＥＣＰが指し示すポインタ数が０で等しくなるので、基準となる登録欠陥セクタである、欠陥セクタ３０１ａでの判定処理と選定処理は終了となる。そこで、ＭＰＵ／ＨＤＣ２３は、ＥＣＰが最大のポインタ数４を指し示すようにし、ＳＣＰが、現在ＳＣＰが指し示しているポインタ数０に１を足した数１のポインタ数を指し示すようにする。以上のようにして、補完選定処理を行うか否かを判定し、補完を行うときは、補完長を算出し、補完セクタの位置情報を取り出す。
【０１０７】
上記の補完作業に用いた変数のうち、Ｋ及びＲは設定変更可能な変数として持たせ、データ記憶装置のパラメータであるＴＰＩ／ＢＰＩ等によって、最適な値を設定できるようにする。また、取得したセクタの長さは、従来の固定長ではなく、欠陥セクタから欠陥セクタまでの間の長さにすることによって、変更を可能にしている。
【０１０８】
さらに、補完する長さを計算できることから、余分な補完セクタを設けることがなくなる。さらにまた、固定長で行っていた補完をすべて満足する変数を設定することにより、これまで固定長で行っていた補完は、すべて置き換えが可能である。また、補完の条件を密度でみることにより、今までの固定長保管ではカバーしきれていなかった補完を無駄なく行うことができるようになる。
【０１０９】
これらに対し、欠陥情報から計算する方法であれば、一度の補完ですべてをカバーする補完ができる。また、自動的にその長さに応じた補完をすることができ、無駄な補完をしなくてすむ。このことにより、欠陥の漏れによるエラーの確率を下げることができ、また、従来の補完方法である、様々な長さの固定長を取り出して補完を行っていたのを統一して一度の補完作業だけで処理することができるため、補完にかかる時間の大幅な短縮をすることが可能となる。
【０１１０】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。また、上述の判定処理においては、内周側の登録欠陥セクタを基準とする欠陥セクタとして説明したが、外周側の登録欠陥セクタを基準とする欠陥セクタとして判定処理を行ってもよい。
【０１１１】
また、上記の密度計算において、基準の２つのアドレスを使用しなくてもよい。さらに、判定処理、補完選定処理において、半径方向について説明したが、これは円周方向についても同様の手順で行うことができる。さらにまた、以上の形態においては、磁気ディスク装置について記述したが、これは、磁気ディスク装置に限定されるものではなく、他のデータ記憶装置でもよい。
【図面の簡単な説明】
【０１１２】
【図１】本実施の形態に係るＨＤＤ１の構成を模式的に示すブロック図
【図２】磁気ディスク１１の記録面の記録データの状態の模式図
【図３】半径方向に連続して配置されたデータ・セクタの一例図
【図４】判定処理における、２つの登録欠陥セクタの取り出し方法
【図５】判定処理に基づいた欠陥セクタの補完処理
【図６】判定処理に対応する補完欠陥セクタの登録処理
【図７】欠陥セクタの全補完処理のフローチャート
【図８】半径方向の欠陥セクタの補完処理におけるフローチャート
【図９】データ・セクタ列の一例図とこのデータ・セクタ列に対して作成されたシリンダ・リストの模式図
【図１０】シリンダ・リストによる欠陥セクタの補完処理における判定処理と選定処理とのフローチャート
【図１１】従来の欠陥セクタに対する補完をするフローチャート
【図１２】磁気ディスク上の同一ヘッド番号、同一セクタ番号のセクタをシリンダ番号順に並べたデータ・セクタ列の例の模式図
【符号の説明】
【０１１３】
１０  エンクロージャ  １１  磁気ディスク  １２  ヘッド素子部
１３  アーム電子回路  １４  スピンドル・モータ（ＳＰＭ）
１５  ボイス・コイル・モータ（ＶＣＭ）  １６  アクチュエータ  ２０  回路基板
２１  リード・ライト・チャネル  ２２  モータ・ドライバ・ユニット
２３  ＭＰＵ／ＨＤＣ  ２４  シリンダ番号  ５１  外部ホスト
１１１  サーボ領域  １１２  データ領域  １１３  トラック
３０１ａ−３０１ｅ  欠陥セクタ
３１１ａ−３１１ｃ、３１２ａ−３１２ｆ、３２２ａ−３２２ｃ  補完セクタ
９０１ａ−ｇ  欠陥セクタ  ９１１ａ−ｉ  補完セクタ
【図１】
2006351129.tif 000003
【図２】
2006351129.tif 000004
【図３】
2006351129.tif 000005
【図４】
2006351129.tif 000006
【図５】
2006351129.tif 000007
【図６】
2006351129.tif 000008
【図７】
2006351129.tif 000009
【図８】
2006351129.tif 000010
【図９】
2006351129.tif 000011
【図１０】
2006351129.tif 000012
【図１１】
2006351129.tif 000013
【図１２】
2006351129.tif 000014