(57)【要約】  チェックデータ書込読出部は欠陥のチェックデータを媒体に記録されたサーボフレーム間のデータフレーム単位に書き込んで読み出す。チェックデータ書込読出部のリードチャネルは、ヘッド読取信号のレベルやシフト等の媒体欠陥によるアナログ的な変動を判定した欠陥検出データを出力する。ログ作成部はデータフレーム単位のチェックデータの読出しで生成された欠陥検出データからログ情報を作成する。欠陥セクタ情報作成部は、ログ情報の解析により、所定セクタ長における欠陥セクタの位置を示す欠陥セクタマップを作成して保存する。【特許請求の範囲】
【請求項１】
欠陥のチェックデータを媒体に記録されたサーボフレーム間のデータフレーム単位に書き込んで読み出すチェックデータ書込読出部と、
前記データフレーム単位のチェックデータの読出しで生成された欠陥検出データからログ情報を作成して保存するログ作成部と、
前記ログ情報の解析により、所定セクタ長における欠陥セクタの位置を示す欠陥セクタ情報を作成して保存する欠陥セクタ情報作成部と、
を備えたことを特徴とする記憶装置。
【請求項２】
請求項１記載の記憶装置に於いて、前記欠陥セクタ情報作成部は、前記チェックデータ書込読出部で行われる１トラックの書込み読出し処理と並行して１トラック前の処理で作成された前記ログ情報から前記欠陥セクタ情報を作成する処理を実行することを特徴とする記憶装置。
【請求項３】
請求項１記載の記憶装置に於いて、前記チェックデータ書込読出部はリードチャネル回路を備え、前記リードチャネル回路はヘッドのアナログ読出信号をデジタル変換して復調したチェックデータを出力する第１モードと、前記アナログ読取信号の欠陥によるレベル及びシフトを含むアナログ的変動を判定した欠陥検出データを出力する第２モードとを選択設定可能であり、前記第２モードを選択設定して前記欠陥検出データを出力させることを特徴とする記憶装置。
【請求項４】
請求項１記載の記憶装置に於いて、
前記チェックデータ書込読出部は、処理対象トラックにオントラックした後に最初のサーボゲート信号が得られるタイミング毎に、１トラック分のチェックデータの書込み開始、１トラック分のチェックデータの読出し開始、更に次トラックへの切替え指示を順次行い、
前記ログ作成部は、前記トラックから読み出された欠陥検出データからログ情報を作成して保存すると共にインデッス直後のログ位置を示すインデックスアドレスポインタを保存し、
前記欠陥セクタ情報作成部は、前記ログ情報を前記インデックスアドレスポインタの示すログ位置から読出して処理することを特徴とする記憶装置。
【請求項５】
請求項１記載の記憶装置に於いて、前記ログ作成部は、前記データフレーム単位の媒体読出しにより出力される欠陥検出データを加工した後にログ情報として保存することを特徴とする記憶装置。
【請求項６】
請求項５記載の記憶装置に於いて、前記ログ作成部は、前記欠陥検出データと予め設定したマスクデータを比較し、マスク対象と判別した場合にログ対象から除外することを特徴とする記憶装置。
【請求項７】
請求項５記載の記憶装置に於いて、前記ログ作成部は、前記欠陥検出データと予め設定したマスクデータを比較してマスク非対象と判別した場合は、予め定めた欠陥選択値と比較し、前記欠陥選択値を含む場合にログ情報として保存することを特徴とする記憶装置。
【請求項８】
請求項５記載の記憶装置に於いて、前記ログ作成部は、前記欠陥検出データの出現間隔が予め設定した閾値以下の場合、先行する媒体検出データを拡張して後続する媒体検出データに結合して１つの欠陥検出データに変換することを特徴とする記憶装置。
【請求項９】
請求項１記載の記憶装置に於いて、前記ログ作成部は、前記ログ情報として、前記データフレーム毎に、フレーム開始位置に続いて前記欠陥検出データから判別した欠陥情報を格納することを特徴とする記憶装置。
【請求項１０】
請求項９記載の記憶装置に於いて、前記ログ作成部は、前記欠陥情報として、欠陥開始位置、欠陥長及び欠陥タイプを格納することを特徴とする記憶装置。
【請求項１１】
請求項１記載の記憶装置に於いて、前記欠陥セクタ情報作成部は、前記ログ情報に含まれる１又は複数の欠陥情報をセクタ番号に変換し、同一セクタ内の合計欠陥数がＥＣＣ訂正能力を越えている場合に欠陥セクタとして欠陥セクタ情報に登録することを特徴とする記憶装置。
【請求項１２】
請求項１記載の記憶装置に於いて、前記欠陥セクタ情報作成部は、必要に応じて異なる複数のセクタ長について前記ログ情報から欠陥セクタ情報を作成することを特徴とする記憶装置。
【請求項１３】
請求項１記載の記憶装置に於いて、前記欠陥セクタ情報作成部は、前記所定セクタ長の欠陥セクタ情報から欠陥セクタ総数が所定の許容値を超えた場合、セクタ長を他の所定セクタ長に変更して欠陥セクタ情報を前記ログ情報から再作成することを特徴とする記憶装置。
【請求項１４】
欠陥のチェックデータを媒体に記録されたサーボフレーム間のデータフレーム単位に書き込んで読み出すチェックデータ書込読出ステップと、
前記データフレーム単位のチェックデータの読出しで生成された欠陥検出データからログ情報を作成して保存するログ作成ステップと、
前記ログ情報の解析により、所定セクタ長における欠陥セクタの位置を示す欠陥セクタ情報を作成して保存する欠陥セクタ情報作成ステップと、
を備えたことを特徴とする記憶装置の欠陥チェック方法。
【請求項１５】
請求項１４記載の記憶装置の欠陥チェック方法に於いて、前記欠陥セクタ情報作成部は、前記チェックデータ書込読出部で行われる１トラックの書込み読出し処理と並行して１トラック前の処理で作成された前記ログ情報から前記欠陥セクタ情報を作成する処理を実行することを特徴とする記憶装置の欠陥チェック方法。
【請求項１６】
請求項１４記載の記憶装置の欠陥チェック方法に於いて、前記チェックデータ書込読出ステップは、ヘッドのアナログ読出信号をデジタル変換して復調したチェックデータを出力する第１モードと、前記アナログ読取信号の欠陥によるレベル及びシフトを含むアナログ的変動を判定した欠陥検出データを出力する第２モードとを選択設定可能なリードチャネル回路に対し、前記第２モードを選択設定して前記欠陥検出データを出力させることを特徴とする記憶装置の欠陥チェック方法。
【請求項１７】
請求項１４記載の記憶装置の欠陥チェック方法に於いて、
前記チェックデータ書込読出ステップは、処理対象トラックにオントラックした後に最初のサーボゲート信号が得られるタイミング毎に、１トラック分のチェックデータの書込み開始、１トラック分のチェックデータの読出し開始、更に次トラックへの切替え指示を順次行い、
前記ログ作成ステップは、前記トラックから読み出された欠陥検出データからログ情報を作成して保存すると共にインデッス直後のログ位置を示すインデックスアドレスポインタを保存し、
前記欠陥セクタ情報作成ステップは、前記ログ情報を前記インデックスアドレスポインタの示すログ位置から読出して処理することを特徴とする記憶装置の欠陥チェック方法。
【請求項１８】
請求項１４記載の記憶装置の欠陥チェック方法に於いて、前記ログ作成ステップは、前記データフレーム単位の媒体読出しにより出力される欠陥検出データを加工した後にログ情報として保存することを特徴とする記憶装置の欠陥チェック方法。
【請求項１９】
記憶装置のコンピュータに、
欠陥のチェックデータを媒体に記録されたサーボフレーム間のデータフレーム単位に書き込んで読み出すチェックデータ書込読出ステップと、
前記データフレーム単位のチェックデータの読出しで生成された欠陥検出データからログ情報を作成して保存するログ作成ステップと、
前記ログ情報の解析により、所定セクタ長における欠陥セクタの位置を示す欠陥セクタ情報を作成して保存する欠陥セクタ情報作成ステップと、
を実行させることを特徴とするプログラム。
【請求項２０】
請求項２７記載の記憶装置に於いて、前記欠陥セクタ情報作成部は、前記チェックデータ書込読出部で行われる１トラックの書込み読出し処理と並行して１トラック前の処理で作成された前記ログ情報から前記欠陥セクタ情報を作成する処理を実行することを特徴とする記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気ディスク等の媒体の欠陥をチェックして欠陥セクタ情報を生成する記憶装置、欠陥チェック方法及びプログラムに関し、特に、異なるセクタ長のセクタフォーマットをサポートする欠陥セクタ情報を作成可能な記憶装置、欠陥チェック方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ハードディスクドライブ等の記憶装置における媒体の欠陥（デフェクト）をチェックする方法にあっては、セクタ長が例えば５１２バイトに固定されており、固定セクタ長を用いることでセクタ単位で媒体の欠陥をチェックしている。この欠陥チェックは、固定セクタ長でチェックデータを書き込んだ後にセクタ単位に読出してバッファに格納し、バッファ上で期待値と異なるパターンから欠陥位置を検出し、インデックスからのバイト距離を計算により求め、媒体のシステムエリアに記憶している。【０００３】
一方、近年にあっては、複数のセクタ長をサポートしている記憶装置があり、例えば５１２バイトと５２０バイトのセクタ長をサポートしている。このような複数のセクタ長をサポートした記憶装置の欠陥チェックは、例えば５１２バイトの固定セクタ長を用いて欠陥チェックを行った後に、セクタの先頭位置をずらして欠陥チェックを行うことで、最初の欠陥チェックで抜けていたセクタ間の隙間をチェックしている。【０００４】
図１（Ａ）〜（Ｃ）は複数のセクタ長をサポートしている記憶装置における固定セクタ長を用いた１回目の欠陥チェックである。図１（Ａ）のサーボゲート信号に挟まれたデータフレーム内で、固定セクタ長に基づいて発生した図１（Ｂ）のセクタパルスに同期して図１（Ｃ）のライトゲート信号を出力し、ライトゲート信号の期間に亘りチェックデータを書き込み、書き込み後に、同じく図１（Ｂ）と同じセクタパルスに同期した図１（Ｃ）リードゲート信号の期間に亘り読出し、バッファ上で期待値と比較して異なるパターンから欠陥位置を判定する。【０００５】
次に図１（Ｄ）〜（Ｆ）のように、１回目に対しセクタパルスの発生位置をずらしてライトゲート信号を発生してチェックデータを書き込み、書き込み後にリードゲート信号を発生して読出し、１回目で抜けていたセクタ間の隙間の部分について欠陥チェックを行っている。
【特許文献１】特開２００４−０７１０６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このような複数のセクタ長をサポートする記憶装置の欠陥チェックにあっては、次の問題がある。【０００７】
まず出荷後にセクタ長の変更を行わないが複数セクタ長をサポートしている装置では、出荷後に使用されるセクタ長で欠陥チェックする必要があるため、欠陥チェックを行う前に装置のセクタ長を決定しなければならない。【０００８】
しかし、工場出荷前に複数のセクタ長の中の特定のセクタ長に決定することは、ユーザからの注文生産でない限りセクタ長毎に販売を見込んで欠陥チェックを行うこととなり、生産計画が立てづらい問題がある。また、特定のセクタ長の欠陥チェックで許容欠陥数の許容値を満たさなかった装置についてセクタ長を変更する場合には、変更後のセクタ長を用いて再度欠陥チェックを行う必要があり、欠陥チェックに工数がかかり、生産性が低下する問題がある。【０００９】
一方、出荷後にセクタ長をユーザが変更できる装置では、図１に示したように、セクタ位置をずらして欠陥を２回チェックするため、欠陥チェックに要する時間が固定セクタ長の装置に比べ少なくとも２倍必要となり、同じ生産設備であれば、生産台数が半減してしまうという深刻な問題を生ずる。【００１０】
また従来の欠陥チェックにあっては、媒体の全面についてチェックデータをセクタ単位に書き込んで読み出した後にバッファ上で期待値との比較により欠陥を判定して欠陥位置を特定し、インデックスから欠陥位置までのバイト距離を計算しているため、欠陥チェックに時間かかるという問題がある。【００１１】
更に、従来の欠陥チェックは、媒体の全面に書き込んだチェックデータを読み出し、バッファに格納して比較しているため、バッファのメモリ容量が媒体対応の例えば４０ＧＢといった膨大な容量を必要とする問題がある。【００１２】
本発明は、１回のチェックデータの書き込みと読出しで複数のセクタ長をサポートした欠陥チェックが完了する記憶装置、欠陥チェック方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
（装置）
本発明は、記憶装置を提供する。本発明の記憶装置は、欠陥のチェックデータを媒体に記録されたサーボフレーム間のデータフレーム単位に書き込んで読み出すチェックデータ書込読出部と、データフレーム単位のチェックデータの読出しで生成された欠陥検出データからログ情報を作成して保存するログ作成部と、ログ情報の解析により所定セクタ長における欠陥セクタの位置を示す欠陥セクタ情報（欠陥セクタマップ）を作成して保存する欠陥セクタ情報作成部とを備えたことを特徴とする。【００１４】
ここで、欠陥セクタ情報作成部は、チェックデータ書込読出部で行われる１トラックの書込み読出し処理と並行して１トラック前の処理で作成されたログ情報から欠陥セクタ情報を作成する処理を実行する。【００１５】
チェックデータ書込読出部はリードチャネル回路（ＲＤＣ）を備え、リードチャネル回路はヘッドのアナログ読出信号をデジタル変換して復調したチェックデータを出力する第１モードと、アナログ読取信号の欠陥によるレベル及びシフトを含むアナログ的変動を判定した欠陥検出データを出力する第２モードとを選択設定可能であり、第２モードを選択設定して欠陥検出データを出力させる。【００１６】
チェックデータ書込読出部は、処理対象トラックにオントラックした後に最初のサーボゲート信号が得られるタイミング毎に、１トラック分のチェックデータの書込み開始、１トラック分のチェックデータの読出し開始、更に次トラックへの切替え指示を順次行い、ログ作成部は、トラックから読み出された欠陥検出データからログ情報を作成して保存すると共にインデックス直後のログ位置を示すインデックスアドレスポインタを保存し、欠陥セクタ情報作成部は、ログ情報をインデックスアドレスポインタの示すログ位置から読出して処理する。【００１７】
ログ作成部は、データフレーム単位の媒体読出しにより出力される欠陥検出データを加工した後にログ情報として保存する。ログ作成部は、欠陥検出データと予め設定したマスクデータを比較し、マスク対象と判別した場合にログ対象から除外する。【００１８】
ログ作成部は、欠陥検出データと予め設定したマスクデータを比較してマスク非対象と判別した場合は、予め定めた欠陥選択値と比較し、欠陥選択値を含む場合にログ情報として保存する。【００１９】
ログ作成部は、欠陥検出データの出現間隔が予め設定した閾値以下の場合、先行する媒体検出データを拡張して後続する媒体検出データに結合して１つの欠陥検出データに変換する。【００２０】
ログ作成部は、ログ情報として、データフレーム毎に、フレーム開始位置情報に続いて欠陥検出データから判別した欠陥情報を格納する。ログ作成部は、欠陥情報として、欠陥開始位置、欠陥長及び欠陥タイプを格納する。【００２１】
欠陥セクタ情報作成部は、ログ情報に含まれる１又は複数の欠陥情報をセクタ番号に変換し、同一セクタ内の合計欠陥数がＥＣＣ訂正能力を越えている場合に欠陥セクタとして欠陥セクタ情報に登録する。【００２２】
欠陥セクタ情報作成部は、必要に応じて異なる複数のセクタ長についてログ情報から欠陥セクタ情報を作成する。【００２３】
欠陥セクタ情報作成部は、所定セクタ長の欠陥セクタ情報から欠陥セクタ総数が所定の許容値を超えた場合、セクタ長を他の所定セクタ長に変更して欠陥セクタ情報をログ情報から再作成する。【００２４】
（方法）
本発明は記憶装置の欠陥チェック方法を提供する。本発明の欠陥チェック方法は、
欠陥のチェックデータを媒体に記録されたサーボフレーム間のデータフレーム単位に書き込んで読み出すチェックデータ書込読出ステップと、
データフレーム単位のチェックデータの読出しで生成された欠陥検出データからログ情報を作成して保存するログ作成ステップと、
ログ情報の解析により、所定セクタ長における欠陥セクタの位置を示す欠陥セクタ情報を作成して保存する欠陥セクタ情報作成ステップと、
を備えたことを特徴とする。【００２５】
（プログラム）
本発明は、記憶装置のコンピュータにより実行されるプログラムを提供する。本発明のプログラムは、記憶装置のコンピュータに、
欠陥のチェックデータを媒体に記録されたサーボフレーム間のデータフレーム単位に書き込んで読み出すチェックデータ書込読出ステップと、
データフレーム単位のチェックデータの読出しで生成された欠陥検出データからログ情報を作成して保存するログ作成ステップと、
ログ情報の解析により、所定セクタ長における欠陥セクタの位置を示す欠陥セクタ情報を作成して保存する欠陥セクタ情報作成ステップと、
を実行させることを特徴とする。【００２６】
なお、本発明の欠陥チェック方法及びプログラムの詳細は、本発明の記憶装置の場合と基本的に同じである。
【発明の効果】
【００２７】
本発明によれば、チェックデータを媒体に記録されたサーボフレーム間のデータフレーム単位に書き込んで読み出ことにより欠陥チェックを行うことで、複数のセクタ長をサポートする記憶装置であっても、１回の欠陥チェックでセクタ間の隙間を含む全てのデータフレームの欠陥をチェックすることができ、固定セクタ長の装置と同等の時間で欠陥チェックを完了でき、複数のセクタ長をサポートする装置の欠陥チェックに要する時間を短縮できる。【００２８】
またトラック単位に行われるチェックデータの書込み読出し及びログ情報の作成と並行して１トラック前のログ情報を解析して欠陥セクタ情報を作成することで、媒体に対するチェックデータの書込み読出しによるログ情報の作成と略同時に欠陥セクタ情報の作成を終了することができ、バッファ上に格納した後に欠陥セクタ情報を作成する場合に比べ、処理時間が短縮でき、且つ処理に必要なバッファ容量も少なくできる。【００２９】
また媒体からチェックデータを読み出す際に、読出しに使用するリードチャネルの動作モードとして、ヘッド読取信号の媒体欠陥によるレベル変動やレベルシフトを判定して得られた欠陥検出データを出力するモード（第２モード）を設定し、チェックデータとして欠陥が判定された欠陥検出データを取得してログ情報を作成するため、ヘッド読取信号から読出チェックデータを復調する動作モード（第１モード）でリードチャネルから出力された読出チェックデータを期待値と比較して欠陥位置を判定する処理が不要となり、欠陥チェックの処理負担を低減し、処理時間を短縮できる。【００３０】
また、リードチャネルから出力される欠陥検出データをログ情報として登録する際に、マスク処理による不要な欠陥検出データの排除、欠陥選択値による必要な欠陥検出データの抽出、欠陥検出データの出現間隔が短い場合に１つに統合する丸めなどの加工を行うことで、必要とするログ情報の登録容量を低減し、ログ情報の解析による欠陥セクタ情報の作成処理の負担と時間を低減できる。【００３１】
更に、ログ情報から欠陥セクタ情報を作成する際に、欠陥セクタ総数が装置の許容量を超えた場合には、セクタ長を変更し、同じログ情報に基づく再計算で欠陥セクタ情報を作成でき、一度，欠陥検出データのログ情報を作成しておけば、その後のセクタ長の変更に対し同じログ情報を使用して変更セクタ長対応の欠陥セクタ情報を簡単に作成できる。
【図面の簡単な説明】
【００３２】
【図１】従来の複数のセクタ長をサポートする装置の２回に亘るチェックデータの書込み読出しのタイムチャート
【図２】本発明による磁気ディスク装置の機能構成のブロック図
【図３】媒体トラックにおけるサーボフレームとデータフレームの説明図
【図４】図２の装置構成におけるチェックデータ書込み処理の説明図
【図５】図４の書込み処理のタイムチャート
【図６】図２の装置構成におけるチェックデータ読出し処理の説明図
【図７】図６の読出し処理のタイムチャート
【図８】インデックスと非同期にトラック切替えとチェックデータの書込み読出しを行う本発明による処理のタイムチャート
【図９】図８の読出し処理で作成されたログ情報とインデックスアドレスポインタの説明図
【図１０】図２の構成による欠陥チェック処理のタイムチャート
【図１１】図２のプロセッサによる欠陥チェック処理のフローチャート
【図１２】図２のＤＲＡＭに保存する欠陥ログ情報のフォーマット説明図
【図１３】図２の欠陥チェックによるログ登録処理のフローチャート
【図１４】ログ登録処理における欠陥検出データ、マスクデータ及びログ選択値の説明図
【図１５】マスクデータのビットセットがなく且つログ選択値のビットがセットされてログ登録された欠陥検出データとログデータの説明図
【図１６】マスクデータによりログ登録が除外される欠陥検出データとログデータの説明図
【図１７】ログ選択値のビットがセットされていないことでログ登録が除外される欠陥検出データとログデータの説明図
【図１８】連続する欠陥検出データを拡張して１つに丸める欠陥検出データとログデータの説明図
【図１９】欠陥長拡張カウント閾値以内の間隔で隣接する欠陥検出データとログデータの説明図
【図２０】欠陥長拡張カウント閾値を越えた間隔で隣接する欠陥検出データとログデータの説明図
【図２１】連続する欠陥検出データの中にマスクデータのビットがセットされた欠陥検出データが存在する場合のログ登録の説明図
【図２２】図２のプロセッサによる欠陥セクタマップ作成処理のフローチャート
【図２３】図２２に続く欠陥セクタマップ作成処理のフローチャート
【発明を実施するための最良の形態】
【００３３】
図２は本発明による欠陥チェック処理が適用される磁気ディスク装置のブロック図である。図２において、ハードディスクドライブ（ＨＤＤ）として知られた磁気ディスク装置は、回路ボード１０とディスクエンクロージャ１１で構成される。【００３４】
回路ボード１０には、プロセッサ１２、ハードディスクコントローラ（ＨＤＣ）１４、リードチャネル（ＲＤＣ）１６、サーボ制御部１８及びＤＲＡＭ２０が設けられる。ディスクエンクロージャ１１には、リード／ライトアンプ２４、ヘッドアッセンブリィ２６、ボイスコイルモータ２８及びスピンドルモータ３０が設けられる。【００３５】
スピンドルモータ３０の回転軸には図示しない磁気ディスク媒体が１または複数装着され、一定速度で回転される。ヘッドアッセンブリィ２６はヘッドアクチュエータのアームの先端に支持されており、ヘッドアクチュエータをボイスコイルモータ２８により駆動することで、ヘッドアッセンブリィ２６のリードヘッドとライトヘッドを備えた複合ヘッドを、磁気ディスク媒体の媒体面に対し位置決めを行う。【００３６】
ヘッドアッセンブリィ２６に設けている複合ヘッドのうちのライトヘッドはリード／ライトアンプ２４のライトアンプ側と接続され、またリードヘッドはリード／ライトアンプ２４のリードアンプ側と接続される。またリード／ライトアンプ２４にはヘッドアッセンブリィ２６に設けているヘッドのヘッドセレクト回路が設けられており、プロセッサ１２からのライトコマンドまたはリードコマンドに基づくヘッドセレクト信号で書込みまたは読出しを行い、いずれか１つのヘッドを選択する。【００３７】
回路ボード１０に設けたプロセッサ１２には、プログラム実行もしくはファームウェアにより実現される機能として、チェックデータ書込読出部３２、ログ作成部３４及び欠陥セクタ情報作成部３６が設けられている。このプロセッサ１２における欠陥チェック処理のための機能に対応する機能として、ハードディスクコントローラ１４には、ＦＩＦＯ３８、フォーマッタ４０、セクタパルス発生器４２及び欠陥チェッカ４４が設けられる。【００３８】
またリードチャネル１６には、本発明の欠陥チェック処理において欠陥ログ情報の作成に使用する欠陥検出データを磁気ディスク媒体からのチェックデータの読出しの際に出力する機能として、欠陥検出部４８とモード設定部４６が設けられている。【００３９】
更に本発明の欠陥チェック処理に対応してＤＲＡＭ２０には、欠陥チェックに使用するチェックデータ５０と、チェックデータの磁気ディスク媒体からの読出しで作成登録される欠陥ログ情報５２が格納されている。更に、本発明の欠陥チェック処理で得られた欠陥ログ情報５２から計算により作成した欠陥セクタマップは、ディスクエンクロージャ１１に設けている図示しない磁気ディスク媒体のシステム領域に格納される。【００４０】
回路ボード１０及びディスクエンクロージャ１２は、ホストからのコマンドに基づき通常の書込処理及び読出処理を行う。ここで、磁気ディスク装置における通常の動作を簡単に説明すると次のようになる。【００４１】
ホストからのライトコマンドとライトデータをハードディスクコントローラ１４に設けた図示しないホストインターフェースで受けると、ライトコマンドをプロセッサ１２で解読し、必要に応じて、転送バッファとして機能するＤＲＡＭ２０のバッファリングを含めて受信したライトデータを、ハードディスクコントローラ１４に設けたフォーマッタ４０で所定のデータ形式に変換すると共に、図示しないＥＣＣ処理部によりＥＣＣ符号を付加し、リードチャネル１６におけるライト系でスクランブル、ＲＬＬ符号変換、更に書込補償を行った後、ライトアンプからヘッドアッセンブリィ２６を介して選択したヘッドのライトヘッドから磁気ディスク媒体に書き込む。【００４２】
このときプロセッサ１２からＤＳＰなどを用いたサーボ制御部１８にヘッド位置決め信号が与えられており、ボイスコイルモータ２８によりヘッドをコマンドで指示された位置にシークした後にオントラックする位置決め制御を行っている。【００４３】
一方、リード動作は、ヘッドアッセンブリィ２６のヘッドセレクトで選択されたリードヘッドから読み出された読出信号をリードアンプで増幅した後に、リードチャネル１６のリード系に入力し、パーシャルレスポンス最尤検出（ＰＲＭＬ）などによりリードデータを復調し、ハードディスクコントローラ１４でＥＣＣ処理を行ってエラーを検出訂正した後、転送バッファとしてのＤＲＡＭ２０にバッファリングし、ホストインターフェースからリードデータをホストに転送する。【００４４】
次に磁気ディスク装置について、本発明による欠陥チェック処理のための機能を説明する。プロセッサ１２に設けたチェックデータ書込読出部３２は、欠陥チェック処理を起動した際に、ＤＲＡＭ２０上にチェックデータ５０を展開した後、ハードディスクコントローラ１４及びリードチャネル１６を経由して、ディスクエンクロージャ１１側の磁気ディスク媒体に対し、媒体に記録されているサーボフレーム間のデータフレーム単位にチェックデータを書き込んだ後に読み出すチェックデータ書込読出処理を実行する。【００４５】
またプロセッサ１２のログ作成部３４は、チェックデータ書込読出部３２により、磁気ディスク媒体からデータフレーム単位のチェックデータの読出しで生成された欠陥検出データからログ情報を作成し、ＤＲＡＭ２０に欠陥ログ情報５２として登録する。【００４６】
ここで、磁気ディスク媒体に書き込まれたチェックデータを読み出す際に、リードチャネル１６は欠陥検出部４８の機能を有効とするモード設定がモード設定部４６により行われている。リードチャネル１６には通常のホストからのリードコマンドによるリード動作時と同様、磁気ディスク媒体からヘッドにより読み出されたアナログ読出信号をＡＤ変換した後にパーシャルレスポンス最尤検出などによりリードデータを復調して出力する第１モードと、ヘッドからのアナログ読取信号のレベル大小やレベルシフトなどの欠陥による変動を判別して欠陥検出データを出力する第２モードとの２つの動作モードが選択可能である。【００４７】
そこで本発明にあっては、プロセッサ１２で欠陥チェック処理を実行する際には、リードチャネル１６に対し欠陥検出データをリードデータとして出力する第２モードをモード設定部４６により設定し、欠陥検出部４８の機能を有効としている。【００４８】
このため、欠陥検出処理の際に磁気ディスク媒体に書き込まれたチェックデータからのヘッド読取信号について、リードチャネル１６からは、もし欠陥が判別された場合には欠陥検出データをＮＲＺデータとして出力し、この欠陥検出データをログ作成部３４の指示の下にＤＲＡＭ２０に欠陥ログ情報５２として登録する。【００４９】
リードチャネル１６から出力された欠陥検出データは、ハードディスクコントローラ１４のフォーマッタ４０から欠陥チェッカ４４に送られ、更にＦＩＦＯ３８を通ってＤＲＡＭ２０に格納される。欠陥チェッカ４４は、リードチャネル１６から出力された欠陥検出データに対し、マスクデータによるログ対象からの排除、ログ選択値によるログ対象としての抽出、更に欠陥検出データが所定のデータ間隔で連続した場合に１つにまとめる丸めなどの加工を行った後に、ＦＩＦＯ３８を介して欠陥ログ情報５２に登録する。【００５０】
欠陥セクタ情報作成部３６は、ＤＲＡＭ２０に登録された欠陥ログ情報５２の解析により、本発明の磁気ディスク装置がサポートしている複数のセクタ長における特定のセクタ長における欠陥セクタの位置を示す欠陥セクタ情報としての欠陥セクタマップを作成して磁気ディスク媒体のシステム領域に保存する。【００５１】
図３は図２の磁気ディスク装置に設けている磁気ディスク媒体のトラックにおけるサーボフレームとデータフレームの説明図である。図３は磁気ディスク媒体上の１トラックを取り出して直線上に示しており、トラック先頭にはインデックス情報が格納されたインデックス付サーボフレーム５６−１が設けられ、インデックス付サーボフレーム５６−１を起点として一定の回転角度間隔でサーボフレーム５６−２，５６−３，・・・５６−ｎが設けられ、１トラック当り即ち１周当りのサーボフレームの数は１４０乃至１５０フレームとなっている。【００５２】
インデックス付サーボフレーム５６−１を先頭とした複数のサーボフレーム５６−２〜５６−ｎの間にはデータフレーム５８−１〜５８−ｎが配置されており、データフレーム５８−１〜５８−２のそれぞれに、複数のセクタ長例えば５１２バイトまたは５２０バイトのセクタ長によるセクタフォーマットを行った後に、データの読み書きが行われることになる。【００５３】
図４は図２の装置構成におけるチェックデータ書込処理の説明図であり、図２に示したプロセッサ１２及びハードディスクコントローラ１４の中のＦＩＦＯ３８、フォーマッタ４０、セクタパルス発生器４２及び欠陥チェッカ４４、更にリードチャネル１６を、磁気ディスク媒体６０に対するデータの流れに沿って配置して示している。【００５４】
図４のチェックデータの書込処理にあっては、まずプロセッサ１２からＤＲＡＭ２０に欠陥チェック用のチェックデータ５０を書き込んでセットする。チェックデータ５０としては、例えば２Ｔパターンである「００１１」の繰返しパターンを使用し、この繰返しパターンの８〜１０ビットを１ワードとしてチェックデータ５０を作成する。また、チェックデータ５０は図３に示したデータフレーム５８−１〜５８−ｎ単位に書き込まれることから、
（チェックデータ長）＝（フレームデータ長）×（フレーム数）
のサイズとしている。【００５５】
またプロセッサ１２は、サーボフレームを示すサーボゲート信号の直後にセクタパルスを１回発生するように、セクタパルス発生器４２を設定する。セクタパルス発生器４２の設定が完了すると、プロセッサ１２は欠陥チェック用のチェックデータ５０をディスク媒体６０に書き込むためフォーマッタ４０を起動する。【００５６】
フォーマッタ４０はセクタパルスに同期してライトゲート信号ＷＧをサーボセクタ間のデータフレーム期間に亘って発生し、ライトゲート信号が有効となっている間、チェックデータをリードチャネル１６を介してディスク媒体６０に書き込む。【００５７】
即ち、チェックデータの書込みにおけるセクタ長は、データフレーム長となるようにセクタパルスに基づいてライトゲート信号を発生し、この場合のセクタ数は１回転当りサーボフレームの数に一致する。【００５８】
図５は図４の書込処理におけるインデックス信号、サーボゲート信号、セクタパルス及びライトゲート信号のタイムチャートである。図５（Ａ）のインデックス信号は図３に示したインデックス付サーボフレーム５６−１の読取りで発生し、また図５（Ｂ）のサーボゲート信号は図３の各サーボフレーム５６−１〜５６−ｎの読取りに同期して発生する。【００５９】
図５（Ｃ）のセクタパルスは、サーボゲートの直後のタイミングでサーボゲート間に１回発生する。図５（Ｄ）のライトゲート信号はセクタパルスに同期して発生し、サーボゲート間隔で決まるデータフレームの終端位置、即ち次のサーボゲート信号の立ち上がりの直前で発生する。【００６０】
図４及び図５に示したように、あるトラックに対する欠陥チェックデータの書込みが終了すると、図６に示すチェックデータの読出処理が行われる。図６のチェックデータの読出処理は、書込時と同様のタイミングでセクタパルスを生成するようにセクタパルス発生器４２を設定した後、フォーマッタ４０を起動して、ディスク媒体６上から書込みの済んだチェックデータをリードチャネル１６を介して読み出す。【００６１】
リードチャネル１６は図２に示したように、モード設定部４６による第２モードの設定で欠陥検出部４８を有効としており、したがって、ヘッド読取信号のアナログ的なレベルの大小やシフトなどから欠陥を判定した欠陥検出データをＮＲＺデータとして出力する。【００６２】
欠陥検出データはフォーマッタ４０から欠陥チェッカ４４を通ってＦＩＦＯ３８に格納される。ＦＩＦＯ３８に欠陥検出データが一定量蓄積されると、ＤＲＡＭ２０に転送されて欠陥ログ情報５２として登録される。【００６３】
欠陥チェッカ４４は、予め設定したマスクデータ、ログ選択値及び欠陥長拡張カウントに基づいて、フォーマッタ４０を経由して得られた欠陥検出データについてマスク処理、抽出処理、丸め等の加工を施してＦＩＦＯ３８に出力する。【００６４】
図７は図６の読出処理のタイムチャートである。図７（Ａ）で先頭のインデックス付サーボフレームの読取りでインデックス信号を発生し、同時に図７（Ｂ）のようにサーボゲート信号を発生し、サーボゲート信号は一定の回転角の間隔で発生する。図７（Ｃ）のセクタパルスは、サーボゲートの直後に１回発生するように図６のセクタパルス発生器４２を設定しており、これは図５の書込処理と同じであり、セクタパルスに同期して図７（Ｄ）のリードゲート信号がデータフレーム間に亘り発生する。【００６５】
フォーマッタ４０はセクタパルスに同期してサーボゲート信号直後に起動され、入力ゲート信号が有効に出力されているデータフレームに亘り、ディスク媒体６０からの読出しに基づくリードチャネル１６からの欠陥検出データを出力させる。【００６６】
ここで図６の読取時におけるリードチャネル１６からの出力データは、リードチャネル１６に設けているＡＤコンバータが所定のリードレンティシィ時間を一般に持つことから、リードゲートをアサートしてから欠陥検出データとしてのＮＲＺデータが有効となるまでは時間遅れがある。【００６７】
そこで図７（Ｄ）の読出ＮＲＺデータに示すように、リードゲートをアサートしてから所定のリードレンティシィ時間Ｔ１を経過した後に、読出ＮＲＺデータを有効データとしてフォーマッタ４０に出力する。リードゲートがネゲートされた場合についても同様に、所定のリードレンティシィ時間Ｔ１後に読出ＮＲＺデータを有効から無効とし、以下これを繰り返す。【００６８】
次に本発明のチェックデータの読出しによるログ作成で使用するインデックスアドレスポインタを説明する。【００６９】
本発明の欠陥チェックの処理においてトラック切替えが行われた場合、インデックスからフォーマッタ４０を起動すると、回転待ちが発生してチェック時間が増加する。【００７０】
そこで、最初に処理する第１トラックについてはインデックスに同期したフォーマッタの起動で書込みと読出しを行うが、第２トラック以降については、トラック切替えによりオントラックした後にインデックスとは非同期にフォーマッタを起動して書込みと読出しを行い、回転待ちをなくす。【００７１】
図８（Ａ）は最初に処理する第１トラックのタイムチャートであり、インデックス１５０に基づいたセクタパルス１５２に同期してフォーマッタを起動し、ライトゲート信号又はリードゲート信号によるチェックデータの書込みと読出しを行う。この場合、読出しにより得られる各データフレームの欠陥検出データＤ１〜Ｄｎは、インデックス直後のデータフレームから順番に１トラック分連続して得られ、図９のＤＲＡＭ上のログ領域６４に順番に格納し、同時にインデックス直後のデータ位置を示すインデックスアドレスポインタ６５−１を保持する。【００７２】
続いて第２トラックについては、図９（Ｂ）のように、時刻ｔ１でインデックス信号に同期して１トラックシークを行い、あるスキュー時間後の時刻ｔ２で第２トラックにオントラックした場合、その後に最初に得られるサーボゲート信号１５４に基づくセクタパルス１５６に同期してフォーマッタを起動し、ライトゲート信号又はリードゲート信号によるチェックデータの書込みと読出しを行う。【００７３】
この場合、読出しにより得られる各データフレームの欠陥検出データＤ１〜Ｄｎは、インデックス１５０に対しトラック切替えに伴うスキュー時間分遅れ位置のデータフレームを先頭位置として順番に１トラック分得られ、図９のログ領域６４に順番に格納し、同時にインデックス直後のデータが欠陥検出データＤｎ−１であることを示すインデックスアドレスポインタ６５−２を保持する。【００７４】
図８（Ｃ）の第３トラックについても、第２トラックのフォーマッタを起動したサーボゲート１５４に同期した時刻ｔ４で１トラックシークを行い、あるスキュー時間後に第３トラックにオントラックした時刻ｔ５後に最初に得られるサーボゲート信号１５８に基づくセクタパルス１６０に同期してフォーマッタを起動し、チェックデータの書込みと読出しを繰り返す。【００７５】
このように本発明にあっては、第２トラック以降については、トラック切替え後にオントラックしたら、その後に最初に得られるサーボゲートに同期してフォーマッタを起動してチェックデータの書込みと読出しを行うことで、インデックスに同期したトラック切替えに伴う回転待ちを解消できる。【００７６】
図９のログ領域６４に格納した欠陥検出データについては、欠陥セクタマップを作成する際には、各トラックにつき保存されているインデックスアドレスポインタをサーチし、その位置から欠陥検出データを読み出すことで、常に、インデックスを先頭位置として順番に並んだデータフレームの順番にログ情報を処理できる。【００７７】
例えば図９の第１トラックはインデックスの直後から読出した欠陥検出データＤ１〜Ｄｎであることから、サーチしたインデックスアドレスポインタ６５−１は先頭の欠陥検出データＤ１を示しており、欠陥検出データＤ１〜Ｄｎの順番に読み出す。【００７８】
これに対し第２トラックは、インデックスからトラック切替えに伴うスキュー時間ずれた位置から欠陥検出データＤ１〜Ｄｎを読出して順番に格納しており、インデックスアドレスポインタ６５−２は欠陥検出データＤｎ−１がインデックス直後に読出したデータであることを示している。このため第２トラックについては、サーチしたインデックスアドレスポインタ６５−２の位置から欠陥検出データを、Ｄｎ−１，Ｄｎ，Ｄ１，・・・・・Ｄｎ−２の順番に読み出すことで、インデックスを先頭位置として順番に並んだ欠陥検出データとして読出すことができる。【００７９】
なお、図９のログ領域の詳細については後の説明で明らかにする。また図８にあっては、説明を容易にするため、第１トラックについてはインデックスに同期してフォーマッタを起動しているが、実際の装置では、第１トラックについても、オントラックした直後に最初に得られるサーボゲートに同期してフォーマッタを起動することになる。【００８０】
図１０は図２の装置構成による本発明の欠陥チェック処理のタイムチャートであり、プロセッサ１２、フォーマッタ４０、欠陥チェッカ４４及びサーボ制御部１８の連係動作として示している。【００８１】
図１０において、プロセッサ１２において媒体の欠陥チェック処理が起動すると、ステップＳ１で磁気ディスク媒体に対するアドレスＨＨＣＣをセットし、サーボ制御部１８のシーク制御ステップＳ３０１により、ヘッドを磁気ディスク媒体の例えば最外周の先頭トラックに位置決めする。なおアドレスＨＨＣＣは、ヘッドアドレスＨＨとシリンダアドレス（トラックアドレス）ＣＣを組み合わせたものである。したがって、アドレスＨＨＣＣによりヘッドセレクト（媒体面セレクト）と目標トラックアドレスの指定が行われる。【００８２】
アドレスＨＨＣＣに対するシーク制御によりオントラックが完了すると、プロセッサ１２はステップＳ２でサーボゲート信号の発生をチェックしており、オントラック後に最初のサーボゲート信号が得られるとステップＳ３に進み、データフレーム単位のチェックデータの書込みを指示する。【００８３】
この指示を受けてフォーマッタ４０が起動し、同時に設定されたセクタパルス発生器４２からのサーボゲート直後に発生するセクタパルスに同期してステップＳ１０１でデータフレーム単位にチェックデータをリードチャネル１６を介して磁気ディスク媒体に書き込む。これによって図３に示したトラックにつき、先頭のデータフレーム５８−１から最後のデータフレーム５８−ｎに向けてデータフレーム単位にチェックデータの書込み、即ちデータフレームを１セクタとしたチェックデータの書込みが繰り返し行われる。【００８４】
この状態でプロセッサ１２は、ステップＳ４で最終データフレームの書込み終了をチェックしており、最終データフレーム書込終了を判別すると、ステップＳ５でデータフレーム単位のデータ読出しを指示する。このデータ読出しの指示を受けて、フォーマッタ４０は、同じセクタパルス発生条件の下にリードゲートを設定して、ステップＳ１０２でデータフレーム単位に磁気ディスク媒体からの読出しを行って、リードチャネル１６を介して得られた欠陥検出データを欠陥チェッカ４４に転送する。【００８５】
欠陥チェッカ４４は、ステップＳ２０１でフォーマッタ４０を経由して転送された欠陥検出データを加工して欠陥ログ情報を作成し、ＦＩＦＯ３８で一定量溜まると、ＤＲＡＭ２０に欠陥ログ情報５２として登録する。【００８６】
続いてプロセッサ１２は、ステップＳ６で最終データフレームの読出し終了をチェックしており、これを判別するとステップＳ１でセットしたアドレスのトラックに対する欠陥検出処理の終了を認識し、ステップＳ７でアドレスＣＣをＣＣ＝ＣＣ＋１にインクリメントして、サーボ制御部１８にステップＳ３０２のシーク制御を指示し、これによりサーボ制御部１８は、現在のトラックから隣接したトラックにヘッドをシークする１トラックシークを行う。【００８７】
ステップＳ７のアドレスセットによる１トラックシークでオントラック状態になると、プロセッサ１２はステップＳ８でサーボゲート信号の発生を監視しており、サーボゲート信号が判別されると、ステップＳ３と同様、ステップＳ９でデータフレーム単位のチェックデータの書込みを指示し、これを受けてフォーマッタ４０が、ステップＳ１０３でデータフレーム単位にチェックデータを磁気ディスク媒体に書き込む。続いてプロセッサ１２は、ステップＳ１０で前回のトラックについて登録された欠陥ログ情報について、欠陥セクタ位置情報、即ち欠陥セクタマップの作成処理を実行する。【００８８】
続いてプロセッサ１２は、最終データフレームの書込み終了を監視しており、これを判別するとステップＳ１２でデータフレーム単位のチェックデータの読出しをステップＳ５と同様にフォーマッタ４０に指示し、フォーマッタ４０はステップＳ１０４でデータフレーム単位に磁気ディスク媒体から読み出して、リードチャネル１６より得られた欠陥検出データを欠陥チェッカ４４に転送し、ステップＳ２０２で転送された欠陥検出データを加工してＦＩＦＯ３８にログ情報を格納し、一定量に達するとＤＲＡＭ２０に欠陥ログ情報５２として登録する。【００８９】
続いてプロセッサ１２は、ステップＳ１３で前回のトラックについて登録された欠陥ログ情報から欠陥セクタ位置情報としての欠陥セクタマップの作成処理を行う。この欠陥セクタ位置情報の作成処理はステップＳ１０に続く処理となる。【００９０】
即ち本発明にあっては、あるトラックについてチェックデータの書込みと読出しによる欠陥ログ情報の作成保存と並行し、１つ前のトラックについて前回の処理で得られた欠陥ログ情報を解析して、所定セクタ長における欠陥セクタマップを並行処理により作成している。このため、ディスク媒体面の全トラックについてのチェックデータの書込みと読出しによる欠陥ログ情報の作成とほぼ同時に、全てのトラックについての欠陥セクタマップの解析による作成処理が終了することになる。【００９１】
図１１は図２のプロセッサ１２による欠陥チェック処理のフローチャートである。図１１において、プロセッサ１２による欠陥チェック処理は、ステップＳ１で磁気ディスク媒体のあるヘッドの先頭トラック位置を指定するアドレスＨＨＣＣをセットしてヘッド選択を行った後、ステップＳ２でシーク制御指示を行って先頭トラックにヘッドを位置決めする。【００９２】
続いてステップＳ３でオントラック応答を判別すると、ステップＳ４でサーボゲート信号の発生をチェックしており、これを判別するとステップＳ５でデータフレーム単位のチェックデータの書込指示を行ってチェックデータの書込みを開始する。【００９３】
続いてステップＳ６で１トラック前のログ情報に基づく欠陥セクタマップの作成処理を実行する。なお先頭トラックの処理にあっては、１トラック前のログ情報は存在しないことから、この処理はスキップすることになる。【００９４】
続いてステップＳ７で最終データフレームの書込み終了を判別すると、ステップＳ８でデータフレーム単位のチェックデータの読出しを指示し、書込みの済んだトラックからチェックデータの読出しを行ってリードチャネル１６より欠陥検出データを出力させる。【００９５】
続いてステップＳ９で、リードチャネル１６より出力されてフォーマッタ４０を介して欠陥チェッカ４４に欠陥検出データが与えられることから、欠陥チェッカ４４に対しログ情報の加工登録を指示し、これによって欠陥検出データのマスク処理やログ情報としての抽出、更には所定間隔で隣接する欠陥検出データを１つにまとめる丸めなどの加工を行った後に、ログ情報を作成し、更にログ情報に対しインデックスアドレスポインタを保持する。【００９６】
続いてステップＳ１０で１トラック前のログ情報に基づく欠陥セクタマップの作成処理を行う。これはステップＳ６に続く処理であり、もしステップＳ６で処理が終了していれば、ステップＳ１０の処理は不要となる。【００９７】
続いてステップＳ１１で最終データフレームの読出し終了を判別すると、これにより１トラック分の欠陥チェック処理が終了したことから、ステップＳ１２で最終トラックか否かチェックし、最終トラックでなければ、ステップＳ１３でトラックアドレス即ちシリンダアドレスＣＣを１つインクリメントした後、ステップＳ２に戻り、次のトラックについて同様な処理を繰り返す。【００９８】
ステップＳ１２で最終トラックであった場合には、ステップＳ１４で最終ヘッドか否かチェックし、最終ヘッドでなければ、ステップＳ１５でヘッドアドレスＨＨを１つインクリメントした後、ステップＳ１に戻り、次のディスク媒体面についてヘッド選択とヘッドアドレスＨＨＣＣをセットして同様な処理を繰り返す。【００９９】
ステップＳ１４で最終ヘッドであった場合には、ステップＳ１６で最後の１トラックについてログ情報に基づく欠陥セクタマップの作成処理を行った後、処理を終了する。なお、各磁気ディスク媒体面について作成した欠陥セクタマップはチェックした媒体面のシステム領域に格納する。【０１００】
図１２は図２のＤＲＡＭ２０に反映する欠陥ログ情報のフォーマット説明図である。図１２において、ＤＲＡＭ２０のメモリ領域６２には所定サイズのログ領域６４が確保され、登録ログ情報６６の先頭位置は矢印５６−１のように変化するログアドレスポインタの値で表現される。【０１０１】
即ち、ログアドレスポインタは初期値がトップアドレスであり、ログ領域６４に登録ログ情報６６を格納するごとに矢印５６−１のようにインクリメントされ、矢印５６−２に示すようにエンドアドレスに達した時にログ登録を終了し、それ以上のログ登録に対してはログオーバーによりエラーとする。【０１０２】
ログ領域６４に登録されるログ情報は、登録ログ情報６６について右側に取り出して示すように、１トラックについてフレーム開始マーク６８−１、フレーム番号７０−２、これに続くエントリ７８−１，７８−２・・・の欠陥情報が登録される。【０１０３】
エントリ７８−１の内容は
（１）欠陥開始位置７２−１
（２）欠陥長７４−１
（３）欠陥タイプ７６−１
の３つの情報で構成されている。フレーム開始マーク６８−ｉ、フレーム番号７０−ｉにこれに続くエントリ７８−ｉは任意のトラックｉにおける欠陥検出情報である。【０１０４】
もちろん本発明による欠陥ログ情報のフォーマットは図１２の実施形態限定されず、データチャンネルから得られた欠陥検出情報に基づいてインデックスを起点としたトラック内の欠陥検出位置が特定できる情報であれば、適宜の情報を格納するフォーマット形式することができる。また図１２のログ領域６４に対応して、トラック単位にインデックス直後のフレーム番号を指定する図９に示したインデックスアドレスポインタが保持される。【０１０５】
図１３は図２の欠陥チェッカ４４によるログ登録処理のフローチャートである。欠陥チェッカ４４によるログ登録処理にあっては、図１４（Ａ）に示す欠陥検出データ８０を加工処理するため、図１４（Ｂ）のマスクデータ８２、図１４（Ｃ）のログ選択値８４及び図１４（Ｄ）の欠陥長拡張カウント８５が予め設定されている。【０１０６】
図１４（Ａ）の欠陥検出データは１６進データ（ｈ３  ｈ２  ｈ１）で構成され、これは２進表示すると（ｂ１２〜ｂ１）となり、この例ではビットｂ６に欠陥によるアナログ読出し信号のレベル小を設定し、ビットｂ７に欠陥によるアナログ読出信号のレベル大を設定し、さらにビットｂ８に欠陥によるアナログ読出信号のレベルシフトを設定している。【０１０７】
図１４（Ｂ）のマスクデータ８２は欠陥検出データをマスクすることによりログ対象から除去するビット設定を行う。この例でマスクデータ８２は１６進で（０１００ｈ）であり、右側に示す２進ビット列の中のビット１をセットしている欠陥検出データをマスク対象としてログ対象から除外する。【０１０８】
図１４（Ｃ）のログ選択値８４は、ログ情報として登録する欠陥検出データを抽出するために使用する。ログ選択値８４は例えば１６進で（００Ｃ０ｈ）であり、この右側に示す２進ビット列の中のビット１をセットしている欠陥検出データをログデータとして選択して登録する。【０１０９】
ここでマスクデータ８２とログ選択値８４の間には優先度が設定され、優先度はマスクデータ８２が高くなるように設定される。即ち、欠陥検出データにマスクデータ８２のビットがセットされ、且つログ選択値８４のビットがセットされていた場合には、優先度の高いマスクデータ８２を有効としてログ対象から除外する。従ってログ選択値８４はマスクデータ８２による除去対象とならない欠陥検出データについて適用されることになる。【０１１０】
図１４（Ｄ）の欠陥長拡張カウント８５は、リードチャンネル１６から出力される欠陥検出データの間隔が例えば５ワード以内のとき先頭に位置する欠陥検出データを拡張して後方に位置する欠陥検出データをまとめて１つの欠陥検出データに丸める処理を実行する。【０１１１】
この図１４（Ｂ）〜（Ｄ）のマスクデータ８２及びログ選択値８４、欠陥長拡張カウント８５を設定した図１３のログ登録処理は次のようになる。まずステップＳ１で欠陥検出データとマスクデータ８２のＡＮＤを算出し、ステップＳ２で「０」か否かチェックする。「０」でなければマスクデータ８２のビットが欠陥検出データにセットされていることからマスク対象と判別してログ登録は行なわない。【０１１２】
ステップＳ２で「０」であった場合にはステップＳ３でマスク対象とせずステップＳ４で欠陥検出データとログ選択値８４とのＡＮＤを算出する。この算出結果につきステップＳ５で「０」でなかった場合にはログ選択値８４のビットが欠陥検出データにセットされていることからステップＳ６に進み、この欠陥検出データをログする。ステップＳ５で「０」であった場合にはログ選択値８４のビットがセットされていないことからステップＳ１０でログ対象から除外してログを行なわない。【０１１３】
ステップＳ６でログ選択値に基づきログ対象とした場合、ステップＳ７で前回にログ対象とした欠陥検出データとの距離が欠陥長拡張カウント８５の設定値である５ワード以下か否かチェックする。５ワード以下であればステップＳ８で先行する欠陥検出データを拡張してひとつのログにまとめて登録する。【０１１４】
欠陥チェッカ４４は、更に、特定の欠陥検出データを対象にイベント処理を実行する。イベント処理の対象となる欠陥検出データとしては、例えばサーマルアスペリティ（ＴＡ）による異常データがある。欠陥チェッカ４４は、サーマルアスペリティの発生によりリードチャネル１６から出力された異常検出データを計数してイベントカウントを求め、イベントカウントが所定の閾値を超えた場合、イベントオーバーフローのステータスで欠陥チェック処理を異常終了させる。【０１１５】
図１５乃至図２１は図１３のログ登録処理における欠陥検出データの加工処理の具体例である。【０１１６】
図１５はマスクデータのビットのセットがなく且つログ選択値のビットがセットされてログ登録された欠陥検出データとログデータの説明図である。図１５（Ａ）は欠陥検出データであり、欠陥検出データ８６，８８，９０が順次得られている。【０１１７】
欠陥検出データ８６の下側に示す数字「１（０８０ｈ）」は先頭の数字「１」が欠陥検出データのワード数であり、次の「（０８０ｈ）」が１６進の欠陥検出データそのものである。欠陥検出データ８６に続いては５ワードの欠陥なしデータがあり、続いて２ワードの欠陥検出データ８８が発生し、その内容は１６進で「２（０６０ｈ）」である。続いて６ワードの欠陥なしデータをはさんで欠陥検出データ９０が存在し、これは１ワードであり、その内容は１６進の「１（０８０ｈ）」となっている。【０１１８】
この図１５（Ａ）の欠陥検出データ８６，８８，９０について図１４（Ｂ）に示したマスクデータ８２のＡＮＤを算出してみると全て「０」となり、従ってマスクデータのビットのセットがないことからマスク対象から除外されている。【０１１９】
続いて図１４（Ｃ）のログ選択値８４とのＡＮＤを算出すると欠陥検出データ８６，８８，９０の全てがログ選択値８４のビットがセットされていることから、全てログデータとして登録する。さらに欠陥検出データ８６，８８，９０について欠陥長拡張カウント８５の値ＬとしてカウントするとＬ＝５であり、図１４（Ｄ）でセットした５ワード以下であることから、先行する欠陥検出データ８６を拡張して欠陥検出データ８８に合せた１つのログデータ９２に丸めている。【０１２０】
この欠陥長拡張処理における丸め処理を行なったログデータ９２は、ワード長は欠陥検出データ８６の１ワード、欠陥なしデータの５ワード、欠陥検出データ８８の２ワードを加えた８ワードとなる。またログデータの内容は欠陥検出データ８６と欠陥検出データ８８を加算して
（０８０ｈ）＋（０６０ｈ）＝（０Ｅ０ｈ）
としている。欠陥検出データ９０はそのままログデータとなる。【０１２１】
図１６はマスクデータによりログ登録が除外される欠陥検出データとログデータの説明図である。図１６（Ａ）の欠陥検出データ９４，９６，９８のうち欠陥検出データ９６の（１４０ｈ）は図１４（Ｂ）のマスクデータ８２のＡＮＤをとると計算結果が「０」とならず、マスク対象として除外され、残りの欠陥検出データ９４，９８がそのままログデータ９４，９８となる。【０１２２】
図１７はログ選択値８４がセットされていないことでログ登録から除外される欠陥検出データとログデータの説明図である。図１７（Ａ）の欠陥検出データ１００，１０２，１０４の全てにつき図１４（Ｂ）のマスクデータ８２とのＡＮＤを算出すると算出結果は「０」とはなり、従っていずれもマスク対象として除外されることはない。【０１２３】
次に図１４（Ｃ）のログ選択値８４とのＡＮＤを算出すると、欠陥検出データ１０２の算出結果が「０」となり、欠陥検出データ１０２はログ選択値のビットがセットされていないことからログ対象から除外され、欠陥検出データ１００，１０４のみをそのままログデータ１００，１０４とする。【０１２４】
図１８は連続する欠陥検出データを拡張して丸める欠陥検出データとログデータの説明図である。図１８（Ａ）にあっては欠陥検出データ１０６，１０８が連続し、欠陥なしデータの１０ワード間をおいて欠陥検出データ１１０，１１２が連続している。【０１２５】
欠陥検出データ１０６，１０８はマスクデータのビットのセットがなく且つログ選択値のビットがセットされていることからログ対象として選択され、さらに欠陥長拡張カウントＬはＬ＝０であることからデータをひとつにまとめる丸めによりログデータ１１４として、その内容は２ワードで値は
（０８０ｈ）＋（０４０ｈ）＝（０Ｃ０ｈ）
となる。【０１２６】
欠陥検出データ１１０はマスクデータのビットのセットがなく且つログ選択値のビットがセットされていることからログデータ１１０となるが、欠陥検出データ１１２についてはログ選択値のビットがセットされていないことでログ対象から除外される。【０１２７】
図１９は欠陥長拡張カウントが閾値となる５ワード以内で隣接した欠陥検出データとログデータの説明図である。図１９（Ａ）の欠陥検出データ１１６，１１８，１２０は全てマスク対象とならず且つログ選択値のビットがセットされていることから全てログ対象となる。さらに欠陥検出データ１１６から欠陥検出データ１２０までの欠陥長拡張カウントＬは
Ｌ＝１＋４＝５ワード
と閾値以下であることから欠陥検出データ１１８を拡張し、３つの欠陥検出データ１１６，１１８，１２０をひとつに丸めたログデータ１２２として登録する。【０１２８】
このログデータ１２２はワード長が
２＋１＋４＝８ワード
であり、その内容は
（０８０ｈ）＋（０２０ｈ）＋（０４０ｈ）＝（０Ｅ０ｈ）
となっている。【０１２９】
図２０は欠陥長拡張カウントの閾値を超えて隣接する欠陥検出データとログデータの説明図である。図２０（Ａ）の欠陥検出データ１２４，１２６，１２８は欠陥長拡張カウントＬが
Ｌ＝１＋５＝６ワード
と閾値を超えているため、ひとつの欠陥検出データとする丸めは行なわない。さらに欠陥検出データ１２６はログ選択値のビットのセットがないことからログ対象から除外され、ログデータは欠陥検出データ１２４，１２８の２つとなる。【０１３０】
図２１は連続する欠陥検出データの中にマスクデータのビットを持つ欠陥検出データが存在した場合のログ登録の説明図である。図２１（Ａ）の欠陥検出データ１３０，１３２，１３４のうち、中央の欠陥検出データ１３２は図１２（Ｂ）のマスクデータ８２のビットがセットされている。欠陥検出データ１３２がマスク対象としてログ対象から除外されることで、図２１（Ｂ）に示すログデータは欠陥検出データ１３０，１３４の２つとなる。【０１３１】
尚、図１５〜図２１に示すログデータにあっては欠陥なしデータに対応した部分のワード数は示されておらず、これはログデータとして加工された欠陥検出データのみをログ情報として登録していることを意味している。【０１３２】
図２２，図２３は図２のプロセッサ１２による欠陥セクタマップ作成処理のフローチャートである。図２２において、欠陥セクタマップ作成処理は図１２に示したようにログ領域６４に登録ログ情報６６が格納された状態で実行される。【０１３３】
図２２において、欠陥セクタマップ作成処理はステップＳ１で初期セクタサイズ設定、トラック番号初期化、フレーム番号初期化を行なう。初期セクタサイズは例えばセクタ長として５１２バイトと５２０バイトをサポートする場合には、例えば５１２のセクタサイズを初期値として設定する。【０１３４】
続いてステップＳ２で登録ログ情報について先頭フレームを検索し、ステップＳ３の最終フレームのビットを経由し、ステップＳ４でフレーム内に仮想セクタの開始位置と終了位置を算出する。続いてステップＳ５でログ情報から最初の１ワードを読み出す。この最初の１ワードは図１２のフレーム開始マーク６４−１または欠陥開始位置７２−１のいずれかである。
ここで欠陥開始位置７２−１は、ログ作成時に保存されたインデックスアドレスポインタが指し示す位置である。【０１３５】
続いてステップＳ６でリード位置はフレーム開始マークを示す「０ｘＦＦＦＦ」か否かチェックする。フレーム開始位置でなかった場合にはステップＳ５でリードした値は図１２の例えばエントリ７８−１の先頭の欠陥開始位置７２−１であることからステップＳ７に進み、ログ情報から次の２ワードを読み出す。【０１３６】
この２ワードは図１２におけるエントリ７８−１の欠陥長７４−１と欠陥タイプ７６−１である。続いてステップＳ８で欠陥タイプは登録対象であるか否かチェックし、登録対象であればステップＳ９に進み、欠陥位置と欠陥長をフレーム内の仮想セクタ番号に変換する。続いてステップＳ１０でフレーム内の仮想セクタごとに合計欠陥数を更新する。【０１３７】
続いてステップＳ５に戻りログ情報から１ワードを読出し、ステップＳ６、Ｓ１０の処理を繰り返す。ひとつのフレームの処理が終了するとステップＳ６で次のフレーム先頭のフレーム開始マークがステップＳ６で判別されることから、この場合はステップＳ１１に進み、フレーム内の仮想セクタごとの合計欠陥数をチェックし、ステップＳ１２でフレーム内の全ての仮想セクタをチェックするまでステップＳ１３でチェックしているセクタごとの合計欠陥数がＥＣＣ訂正の閾値を超えているかチェックし、超えていた場合にはステップＳ１４で欠陥セクタとして登録する。【０１３８】
このステップＳ１１〜Ｓ１４の処理をステップＳ１２でフレーム内の全ての仮想セクタのチェックが終了するまで繰り返し、チェックが終了するとステップＳ１５に進み、フレーム番号をインクリメントした後、ステップＳ３で最終フレームか否かチェックし、最終フレームでなければ次のフレームについてステップＳ4〜Ｓ１４の処理を繰り返す。【０１３９】
ステップＳ３で最終フレームであることが判別されると、図２３のステップＳ１６に進み、最終トラックまでチェックしたか否か判別し、最終トラックでなければステップＳ１７でトラック番号をインクリメントし、ステップＳ２に戻り次のトラックについて欠陥セクタマップの作成処理を繰り返す。【０１４０】
図２３のステップＳ１６で最終トラックのチェック終了が判別されるとステップＳ１８に進み、装置の欠陥セクタ総数は要求装置容量を満たすか否か、すなわち装置の許容欠陥セクタ総数を満たすか否かチェックし、満たしていればステップＳ２１に進み、正常終了として欠陥セクタマップ作成処理を終了する。【０１４１】
ステップＳ１８で欠陥セクタ総数が要求装置容量を満たしていない場合にはステップＳ１９に進み、セクタ長は変更可能か否かチェックする。セクタ長が例えばステップＳ１の初期セクタサイズである５１２バイトに対し、別のセクタ長である５２０バイトに変更可能で有った場合には、ステップＳ２０に進み、セクタ長を変更した後にトラック番号の初期化及びフレーム番号の初期化を行なった後、図２３のステップＳ２０に戻り変更後のセクタ長を仮想セクタとして同じログ情報対象に欠陥セクタマップの作成処理を繰り返す。【０１４２】
ステップＳ１９でセクタ長が変更できない場合にはステップＳ２２で異常終了とする。【０１４３】
この図２２，図２３に示す欠陥セクタマップの作成処理は、図１０のタイムチャート及び図１１のプロセッサのフローチャートに示したように、あるトラックに対するチェックデータの書込読出処理と並行して１つ前のトラックについて得られたログ情報を対象に欠陥セクタマップの作成処理を行なっている。【０１４４】
従って磁気ディスク媒体面の全トラックにつきチェックデータの書込読出に基づくログ情報の登録が完了までの時間に、更に１トラック分の処理時間を加えた時点で欠陥セクタマップ処理を終了でき、実質的にはチェックデータの書込読出処理の終了と同時に欠陥セクタマップの作成処理を終了することができる。【０１４５】
なお、図２２，図２３の欠陥セクタマップ作成処理にあっては、複数のセクタサイズの中の特定のセクタサイズを初期設定して欠陥セクタマップを作成しているが、セクタサイズを設定せず、インデックスから欠陥位置までのバイト距離を示す欠陥セクタマップを作成して媒体システム領域に保存しておき、その後に、セクタサイズを設定してセクタ対応の欠陥セクタマップを作成するようにしても良い。【０１４６】
さらに本発明は図２の磁気ディスク制御装置に設けたプロセッサ１２で実行される欠陥チェック処理のためのプログラムを提供するものであり、このプログラムは図１１のフローチャート及び図２２，図２３のフローチャートのそれぞれの処理内容をもつことになる。【０１４７】
尚、本発明はその目的と利点を損なうことのない適宜の変形を含み、さらに上記の実施形態に示した数値による限定は受けない。さらに上記の実施形態はハードディスクドライブとしてしられた磁気ディスク装置を例にとるものであったが媒体の欠陥チェックを必要とする適宜の記憶装置につき、本発明をそのまま適用することができる。
【図１】
2006090454.tif 000002
【図２】
2006090454.tif 000003
【図３】
2006090454.tif 000004
【図４】
2006090454.tif 000005
【図５】
2006090454.tif 000006
【図６】
2006090454.tif 000007
【図７】
2006090454.tif 000008
【図８】
2006090454.tif 000009
【図９】
2006090454.tif 000010
【図１０】
2006090454.tif 000011
【図１１】
2006090454.tif 000012
【図１２】
2006090454.tif 000013
【図１３】
2006090454.tif 000014
【図１４】
2006090454.tif 000015
【図１５】
2006090454.tif 000016
【図１６】
2006090454.tif 000017
【図１７】
2006090454.tif 000018
【図１８】
2006090454.tif 000019
【図１９】
2006090454.tif 000020
【図２０】
2006090454.tif 000021
【図２１】
2006090454.tif 000022
【図２２】
2006090454.tif 000023
【図２３】
2006090454.tif 000024
【手続補正書】
【提出日】平成19年9月7日(2007.9.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
欠陥のチェックデータを媒体に記録されたサーボフレーム間のデータフレーム単位に書き込んで読み出すチェックデータ書込読出部と、
前記データフレーム単位のチェックデータの読出しで生成された欠陥検出データからログ情報を作成して保存するログ作成部と、
前記ログ情報の解析により、所定セクタ長における欠陥セクタの位置を示す欠陥セクタ情報を作成して保存する欠陥セクタ情報作成部と、
を備えたことを特徴とする記憶装置。
【請求項２】
請求項１記載の記憶装置に於いて、前記欠陥セクタ情報作成部は、前記チェックデータ書込読出部で行われる１トラックの書込み読出し処理と並行して１トラック前の処理で作成された前記ログ情報から前記欠陥セクタ情報を作成する処理を実行することを特徴とする記憶装置。
【請求項３】
請求項１記載の記憶装置に於いて、前記ログ作成部は、前記データフレーム単位の媒体読出しにより出力される欠陥検出データを加工した後にログ情報として保存することを特徴とする記憶装置。
【請求項４】
欠陥のチェックデータを媒体に記録されたサーボフレーム間のデータフレーム単位に書き込んで読み出すチェックデータ書込読出ステップと、
前記データフレーム単位のチェックデータの読出しで生成された欠陥検出データからログ情報を作成して保存するログ作成ステップと、
前記ログ情報の解析により、所定セクタ長における欠陥セクタの位置を示す欠陥セクタ情報を作成して保存する欠陥セクタ情報作成ステップと、
を備えたことを特徴とする記憶装置の欠陥チェック方法。
【請求項５】
記憶装置のコンピュータに、
欠陥のチェックデータを媒体に記録されたサーボフレーム間のデータフレーム単位に書き込んで読み出すチェックデータ書込読出ステップと、
前記データフレーム単位のチェックデータの読出しで生成された欠陥検出データからログ情報を作成して保存するログ作成ステップと、
前記ログ情報の解析により、所定セクタ長における欠陥セクタの位置を示す欠陥セクタ情報を作成して保存する欠陥セクタ情報作成ステップと、
を実行させることを特徴とするプログラム。
【国際調査報告】
2006090454.tif 000025
2006090454.tif 000026
2006090454.tif 000027
2006090454.tif 000028