(57)【要約】【課題】データ・アドレス・マーク検出エラーに効果的に対応する。【解決手段】本発明の一つの実施形態において、データ・セクタは複数のデータ・アドレス・マークを備えており、ＲＷチャネル２１は、その内の一部のデータ・アドレス・マークを使用してデータ・セクタの読み出しを行う。スプリット・セクタにおいて、各分離セクションが二つのデータ・アドレス・マークを有し、ＲＷチャネル２１はそのうちに一方を使用する。使用するデータ・アドレス・マークは、レジスタ２２１で指定される。データ・アドレス・マークの検出エラーが起きると、その位置が、レジスタ２２２に格納される。エラー回復処理部２３４は、そのエラー位置から、次のリトライ使用するデータ・アドレス・マークを、レジスタ２２１に格納する。【選択図】図４
2007317271.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ・データが記録されているメディアから、ユーザ・データを読み出すデータ記憶装置であって、
データ・セクタのリード処理において、そのデータ・セクタ内に含まれる異なる位置のデータ・アドレス・マークの内の一部を使用してユーザ・データの開始位置を特定し、前記ユーザ・データのデータ処理を行うチャネル回路と、
前記リード処理において前記チャネル回路による前記一部のデータ・アドレス・マークの検出においてエラーが起きた場合に、検出エラーを起こしたことを特定されたデータ・アドレス・マークの位置に基づいたエラー処理を行う、前記リード処理を制御するコントローラと、
を備えるデータ記憶装置。
【請求項２】
前記チャネル回路は、前記一部のデータ・アドレス・マークの検出においてエラーが起きた場合に、そのエラーを起こしたデータ・アドレス・マークの位置を特定し、
前記コントローラは、前記チャネル回路から、前記位置を示すデータを取得し、そのデータを使用して前記エラー処理を実行する、
請求項１に記載のデータ記憶装置。
【請求項３】
前記コントローラは、前記エラー処理において、前記エラーを起こしたデータ・アドレス・マークと異なる位置のデータ・アドレス・マークを、前記ユーザ・データの開始位置の特定に使用するデータ・アドレス・マークとして指定し、
前記チャネル回路は、前記コントローラが指定した位置のデータ・アドレス・マークを使用して前記データ・セクタの読み出しを再度行う、
請求項１に記載のデータ記憶装置。
【請求項４】
前記データ・セクタは１もしくは複数のサーボ・データによって複数のセクションに分離され、
前記各分離されたセクションが、そのセクション内に複数のデータ・アドレス・マークを含み、
前記チャネル回路は、前記各セクションにおいてその複数のデータ・アドレス・マークの内の一部のデータ・アドレス・マークを使用してユーザ・データの開始位置を特定してそのユーザ・データのデータ処理を行う、
請求項１に記載のデータ記憶装置。
【請求項５】
前記コントローラは、前記エラー処理において、エラーを起こしたデータ・アドレス・マークと同一セクションにおける異なる位置のデータ・アドレス・マークを、そのセクションにおける前記ユーザ・データの開始位置の特定に使用するデータ・アドレス・マークとして指定し、
前記チャネル回路は、前記コントローラが指定した位置のデータ・アドレス・マークを使用して前記データ・セクタの読み出しを再度実行する、
請求項４に記載のデータ記憶装置。
【請求項６】
前記コントローラから前記チャネル回路に出力され、セクション毎に変化するリード制御信号の１データ・セクタ内における前記変化の回数に基づいて、前記検出エラーを起こしたデータ・アドレス・マークの位置を特定する、
請求項４に記載のデータ記憶装置。
【請求項７】
前記チャネル回路は、前記リード制御信号の前記変化の回数をカウントするカウンタを備え、そのカウント数に従って前記検出エラーを起こしたデータ・アドレス・マークの位置を特定し、
前記コントローラは、前記チャネル回路から、前記検出エラーを起こしたデータ・アドレス・マークの位置を示すデータを取得し、そのデータを使用して前記エラー処理を実行する、
請求項６に記載のデータ記憶装置。
【請求項８】
前記コントローラは、前記検出エラーを起こしたデータ・アドレス・マークの位置に基づいて、前記ユーザ・データのエラー訂正処理を実行する、
請求項1に記載のデータ記憶装置。
【請求項９】
前記チャネル回路は、さらに、前記検出エラーを起こしたデータ・アドレス・マークと異なるデータ・アドレス・マークの検出エラーの有無をサーチする、
請求項１に記載のデータ記憶装置。
【請求項１０】
前記チャネル回路は、前記検出エラーを起こしたデータ・アドレス・マークを含むデータ・セクタの読み出しを再度実行して、前記検出エラーを起こしたデータ・アドレス・マークと異なるデータ・アドレス・マークの検出エラーの有無をサーチする、
請求項９に記載のデータ記憶装置。
【請求項１１】
ユーザ・データが記録されているメディアからのデータ・リードにおけるエラー処理方法であって、
データ・セクタのリード処理において、そのデータ・セクタ内に含まれる異なる位置のデータ・アドレス・マークの内の一部を使用してユーザ・データの開始位置を特定し、読み出した前記ユーザ・データのデータ処理を行い、
前記リード処理において、前記一部のデータ・アドレス・マークにおける検出エラーが起きた場合に、そのエラーを起こしたデータ・アドレス・マーク位置を特定し、
前記特定されたデータ・アドレス・マークと異なる位置のデータ・アドレス・マークを使用して、前記データ・セクタ読み出しのリトライを行う、方法。
【請求項１２】
前記データ・セクタは１もしくは複数のサーボ・データによって複数のセクションに分離され、各分離されたセクションが異なる位置にデータ・アドレス・マークを含み、
前記各セクションにおいてその一部のデータ・アドレス・マークを使用してユーザ・データの開始位置を特定してそのユーザ・データのデータ処理を行い、
一つのセクションにおいて前記データ・アドレス・マークの検出においてエラーが発生した場合にその検出エラーを起こしたデータ・アドレス・マークを特定し、前記リトライにおけるそのセクションの読み出し時に、前記特定されたデータ・アドレス・マークと異なるデータ・アドレス・マークを使用する、
請求項１１に記載の方法。
【請求項１３】
前記セクション毎に変化するリード制御信号の１データ・セクタ内における前記変化の回数をカウントし、そのカウント数に従って前記検出エラーを起こしたデータ・アドレス・マーク位置を特定する、
請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ記憶装置及びそのリード処理におけるエラー処理方法に関し、特に、データ・セクタに複数のデータ・アドレス・マークを含むメディアからのリード処理に関する。
【背景技術】
【０００２】
データ記憶装置として、光ディスク、磁気テープあるいは半導体回路などの様々な態様のメディアを使用する装置が知られているが、その中で、ハードディスク・ドライブ（ＨＤＤ）は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。さらに、コンピュータにとどまらず、動画像記録再生装置、カーナビゲーション・システム、携帯電話、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、ＨＤＤの用途は、その優れた特性により益々拡大している。
【０００３】
ＨＤＤで使用される磁気ディスクは、同心円状に形成された複数のトラックを有している。各トラックには、アドレス情報を有する複数のサーボ・データとユーザ・データを含むデータ・セクタとが記録されている。ヘッド素子部がサーボ・データのアドレス情報に従って所望のデータ・セクタにアクセスすることによって、データ・セクタへのデータ書き込み及びデータ・セクタからのデータ読み出しを行うことができる。
【０００４】
データ・セクタは、そのユーザ・データの開始位置を示すデータ・アドレス・マークを有している。データ・アドレス・マークが検出できない場合、そのデータ・セクタのユーザ・データを読み出すことができないため、一つのデータ・セクタが複数のデータ・アドレス・マークを有するフォーマットが知られている（例えば、特許文献１を参照）。最初のデータ・アドレス・マークが検出できない場合、その後のデータ・アドレス・マークを使用して読み出すと共に、データ訂正処理を行うことによって、そのデータ・セクタのユーザ・データを読み出すことができる。
【特許文献１】特開平１０−２５５４００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
一つのデータ・セクタがサーボ・データによって、２もしくはそれ以上のセクションに分離されることがある。このようなデータ・セクタは、一般にスプリット・セクタと呼ばれる。２つのデータ・アドレス・マークを使用するＨＤＤは、スプリット・セクタの各セクションにおいて２つのデータ・アドレス・マークを有する。各セクションのユーザ・データ読み出しにおいて、そこに含まれる一方のデータ・アドレス・マークが使用される。
【０００６】
上記特許文献のように、チャネル回路が自動的に、エラーを起こしたデータ・アドレス・マークと異なるデータ・アドレス・マークを使用してデータの読み出し処理を続行する場合と異なり、予め指定されたデータ・アドレス・マークのみを使用してセクタのリード処理を行うチャネル回路が存在する。このように、指定されたデータ・アドレス・マークを使用するチャネル回路の場合、データ・アドレス・マークの検出エラーが起きると、そのデータ処理を停止する。コントローラは、次のリトライで使用するデータ・アドレス・マークをチャネル回路に指示することが必要となる。上述のように２セクションに分離されている場合、スプリット・セクタは４つのデータ・アドレス・マークを有する。データ・アドレス・マークの検出エラーが起きた場合、コントローラは、エラーが起きたデータ・アドレス・マークとは異なるデータ・アドレス・マークをチャネル回路に指示することが必要である。
【０００７】
しかし、コントローラがデータ・アドレス・マークの検出エラーという情報しか得られない場合、コントローラは、最大３回のリトライを行うことが必要とされる。具体例を説明する。スプリット・セクタの第１セクションが第１及び第２データ・アドレス・マークを有し、第２セクションが第３及び第４データ・アドレス・マークを有するとする。また、デフォルトとして、第１及び第３データ・アドレス・マークをチャネル回路が使用する。
【０００８】
データ・アドレス・マーク検出エラーが起きると、コントローラは、第１及び第４データ・アドレス・マーク、第２及び第４データ・アドレス・マーク、第２及び第３データ・アドレス・マークの３通りの組み合わせを順にリトライする。従って、ワースト・ケースにおいて、コントローラは、３回のリトライを行うことになる。
【０００９】
また、ＨＤＤの容量を向上させるため、１データ・セクタのデータ・サイズを増加することが提案されている。現在の１データ・セクタのサイズは５１２バイトであるが、これを拡張することによって、ユーザ・データ以外のデータ量を減少させ、より多くのユーザ・データを磁気ディスクが記憶することができる。具体的には、１データ・セクタのデータ・サイズを、４Ｋバイトにすることが提案されている。
【００１０】
このように、１データ・セクタのデータ・サイズが増大すると、１スプリット・セクタのセクション数が増加し、それに従ってデータ・アドレス・マークの数が増加する。データ・アドレス・マークの増加は、その検出エラーに対するリトライ処理におけるデータ・アドレス・マークの組み合わせの増加となり、リトライ処理遅延の原因となりうる。
【課題を解決するための手段】
【００１１】
本発明の第１の態様は、ユーザ・データが記録されているメディアから、ユーザ・データを読み出すデータ記憶装置である。データ記憶装置は、チャネル回路と、リード処理を制御するコントローラとを備える。チャネル回路は、データ・セクタのリード処理において、そのデータ・セクタ内に含まれる異なる位置のデータ・アドレス・マークの内の一部を使用してユーザ・データの開始位置を特定し、前記ユーザ・データのデータ処理を行う。コントローラは、前記リード処理において前記チャネル回路による前記一部のデータ・アドレス・マークの検出においてエラーが起きた場合に、検出エラーを起こしたことを特定されたデータ・アドレス・マークの位置に基づいたエラー処理を行う。検出エラーを起こしたデータ・アドレス・マークの位置が特定され、その位置に基づいてエラー処理を行うことで、より効果的なエラー処理を行うことができる。
【００１２】
前記チャネル回路は、前記一部のデータ・アドレス・マークの検出においてエラーが起きた場合に、その出エラーを起こしたデータ・アドレス・マークの位置を特定する。さらに、前記コントローラは、前記チャネル回路から、前記位置を示すデータを取得し、そのデータを使用して前記エラー処理を実行することができる。データ・アドレス・マークを使用するチャネルがエラーを起こしたデータ・アドレス・マーク位置を特定することで、効率的にそれを行うことができる。
【００１３】
前記コントローラは、前記エラー処理において、前記エラーを起こしたデータ・アドレス・マークと異なる位置のデータ・アドレス・マークを、前記ユーザ・データの開始位置の特定に使用するデータ・アドレス・マークとして指定し、前記チャネル回路は、前記コントローラが指定した位置のデータ・アドレス・マークを使用して前記データ・セクタの読み出しを再度行うことができる。これによって、リトライ処理を効率化することができる。
【００１４】
前記データ・セクタは１もしくは複数のサーボ・データによって複数のセクションに分離され、前記各分離されたセクションが、そのセクション内に複数のデータ・アドレス・マークを含み、前記チャネル回路は、前記各セクションにおいてその複数のデータ・アドレス・マークの内の一部のデータ・アドレス・マークを使用してユーザ・データの開始位置を特定してそのユーザ・データのデータ処理を行うことができる。スプリット・セクタにおいてデータ・アドレス・マークの検出エラーが起きた場合に、効果的に対応することができる。さらに、前記コントローラは、前記エラー処理において、エラーを起こしたデータ・アドレス・マークと同一セクションにおける異なる位置のデータ・アドレス・マークを、そのセクションにおける前記ユーザ・データの開始位置の特定に使用するデータ・アドレス・マークとして指定する。さらに、前記チャネル回路は、前記コントローラが指定した位置のデータ・アドレス・マークを使用して前記データ・セクタの読み出しを再度実行することができる。これによって、リトライ処理を効率化することができる。
【００１５】
あるいは、前記コントローラから前記チャネル回路に出力され、セクション毎に変化するリード制御信号の１データ・セクタ内における前記変化の回数に基づいて、前記検出エラーを起こしたデータ・アドレス・マークの位置を特定することができる。これによって簡便な構成によって、データ・アドレス・マークのエラー位置を特定することができる。さらに、前記チャネル回路は、前記リード制御信号の前記変化の回数をカウントするカウンタを備え、そのカウント数に従って前記検出エラーを起こしたデータ・アドレス・マーク位置を特定し、前記コントローラは、前記チャネル回路から、前記データ・アドレス・マークの位置を示すデータを取得し、そのデータを使用して前記エラー処理を実行することができる。これによって簡便な構成によって、データ・アドレス・マークのエラー位置を特定することができる。
【００１６】
前記コントローラは、前記検出エラーを起こしたデータ・アドレス・マークの位置に基づいて、前記ユーザ・データのエラー訂正処理を実行することができる。これによって、エラー訂正能力を上げ、効率的なエラー訂正処理を行うことができる。
【００１７】
前記チャネル回路は、さらに、前記検出エラーを起こしたデータ・アドレス・マークと異なるデータ・アドレス・マークの検出エラーの有無をサーチすることが好ましい。これによって、検出エラーを起こすデータ・アドレス・マークの特定を効率的に行うことができる。さらに、前記チャネル回路は、前記検出エラーを起こしたデータ・アドレス・マークを含むデータ・セクタの読み出しを再度実行して、前記検出エラーを起こしたデータ・アドレス・マークと異なるデータ・アドレス・マークの検出エラーの有無をサーチすることが好ましい。これによって、通常のリード処理と検出エラーを起こすデータ・アドレス・マークの特定処理とに適した制御を行うことができる。
【００１８】
本発明の他の態様は、ユーザ・データが記録されているメディアからのデータ・リードにおけるエラー処理方法である。その方法は、データ・セクタのリード処理において、そのデータ・セクタ内に含まれる異なる位置のデータ・アドレス・マークの内の一部を使用してユーザ・データの開始位置を特定し、読み出した前記ユーザ・データのデータ処理を行う。前記リード処理において、前記一部のデータ・アドレス・マークにおける検出エラーが起きた場合に、そのエラーを起こしたデータ・アドレス・マークの位置を特定する。そして、前記特定されたデータ・アドレス・マークと異なる位置のデータ・アドレス・マークを使用して、前記データ・セクタ読み出しのリトライを行う。特定されたデータ・アドレス・マークと異なる位置のデータ・アドレス・マークを使用して、前記データ・セクタ読み出しのリトライを行うことによって、リトライ処理を効率化することができる。
【発明の効果】
【００１９】
本発明によれば、データ・セクタのリード処理において、データ・アドレス・マーク検出エラーに対応した効果的なエラー処理を行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下に、本発明を適用可能な実施の形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。又、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
【００２１】
本実施形態は、ユーザ・データの記録単位であるデータ・セクタにおいて、ユーザ・データ位置を特定するデータ・アドレス・マークの検出に関する。データ・セクタは、複数のデータ・アドレス・マークを備えており、その内の一部のデータ・アドレス・マークを使用してデータ・セクタの読み出しを行う。データ・アドレス・マークの検出ができない場合、その検出できないデータ・アドレス・マーク位置を特定し、そのエラー位置の情報を使用してエラー処理を行う。
【００２２】
以下においては、データ記憶装置の一例であるハードディスク・ドライブ（ＨＤＤ）を例として、本発明の実施形態を説明する。本実施形態の特徴点の理解を容易とするため、最初に、ＨＤＤの全体構成を説明する。図１は、本実施の形態に係るＨＤＤ１の全体構成を模式的に示すブロック図である。図１に示すように、ＨＤＤ１は、エンクロージャ１０内に、メディア（記録媒体）の一例である磁気ディスク１１、ヘッド素子部１２、アーム電子回路（アームエレクトロニクス：ＡＥ）１３、スピンドル・モータ（ＳＰＭ）１４、ボイス・コイル・モータ（ＶＣＭ）１５、そしてアクチュエータ１６を備えている。
【００２３】
ＨＤＤ１は、エンクロージャ１０の外側に固定された回路基板２０を備えている。回路基板２０上には、リード・ライト・チャネル（ＲＷチャネル）２１、モータ・ドライバ・ユニット２２、ハードディスク・コントローラ（ＨＤＣ）とＭＰＵの集積回路（以下、ＨＤＣ／ＭＰＵ）２３及び半導体メモリの一例であるＲＡＭ２４などの各ＩＣを備えている。尚、各回路構成は一つのＩＣに集積すること、あるいは、複数のＩＣに分けて実装することができる。
【００２４】
ＳＰＭ１４は、そこに固定されている磁気ディスク１１を、所定の角速度で回転する。ＨＤＣ／ＭＰＵ２３からの制御データに従って、モータ・ドライバ・ユニット２２がＳＰＭ１４を駆動する。本例の磁気ディスク１１は、データを記録する記録面を両面に備え、各記録面に対応するヘッド素子部１２が設けられている。
【００２５】
各ヘッド素子部１２はスライダ（不図示）に固定されている。また、スライダはアクチュエータ１６に固定されている。アクチュエータ１６はＶＣＭ１５に連結され、回動軸を中心に回動することによって、ヘッド素子部１２（及びスライダ）を磁気ディスク１１上において半径方向に移動する。モータ・ドライバ・ユニット２２は、ＨＤＣ／ＭＰＵ２３からの制御データに従ってＶＣＭ１５を駆動する。ヘッド素子部１２には、典型的には、ライト・データに応じて電気信号を磁界に変換するライト素子及び磁気ディスク１１からの磁界を電気信号に変換するリード素子を備えている。なお、磁気ディスク１１は、１枚以上あればよく、記録面は磁気ディスク１１の片面あるいは両面に形成することができる。また、本発明をリード素子のみを備えるデータ記憶装置に適用することができる。
【００２６】
ＡＥ１３は、複数のヘッド素子部１２の中からデータ・アクセスが行われる１つのヘッド素子部１２を選択し、選択されたヘッド素子部１２により再生される再生信号を一定のゲインで増幅（プリアンプ）し、ＲＷチャネル２１に送る。また、ＲＷチャネル２１からの記録信号を選択されたヘッド素子部１２に送る。
【００２７】
チャネル回路の一例であるＲＷチャネル２１は、ライト処理において、ＨＤＣ／ＭＰＵ２３から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してＡＥ１３に供給する。リード処理において、ＲＷチャネル２１はＡＥ１３から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたリード・データは、ＨＤＣ／ＭＰＵ２３に供給される。本形態のＲＷチャネル２１は、リード処理における、データ・セクタ内のデータ・アドレス・マークの使用にその特徴点を有する。この点については、後に詳述する。
【００２８】
ＨＤＣ／ＭＰＵ２３において、ＭＰＵはＲＡＭ２４にロードされたマイクロ・コードに従って動作する。ＨＤＤ１の起動に伴い、ＲＡＭ２４には、ＭＰＵ上で動作するマイクロ・コードの他、制御及びデータ処理に必要とされるデータが磁気ディスク１１あるいはＲＯＭ（不図示）からロードされる。ＨＤＣはロジック回路として構成され、ＭＰＵと一体的に様々な処理を実行する。例えば、ＨＤＣ／ＭＰＵ２３は、コマンド実行順序の管理、ヘッド素子部１２のポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、ＨＤＤ１の全体制御を実行する。本形態のＨＤＣ／ＭＰＵ２３は、リード処理におけるデータ・アドレス・マーク検出エラーが起きた場合に、それに対応したエラー処理にその特徴を有する。その点については後に詳述する。
【００２９】
ＨＤＣ／ＭＰＵ２３は、ＲＷチャネル２１から取得した磁気ディスク１１からのリード・データを、ホスト５１に転送する。磁気ディスク１１からのリード・データは、ＲＡＭ２４内のリード・バッファに一旦格納された後、ＨＤＣ／ＭＰＵ２３を介してホスト５１に転送される。また、ホスト５１からのライト・データは、ＨＤＣ／ＭＰＵ２３を介して、ＲＡＭ２４内のライト・バッファに一旦格納され、その後、所定のタイミングでＨＤＣ／ＭＰＵ２３を介して磁気ディスク１１に転送される。
【００３０】
図２を参照して、磁気ディスク１１上の記録データについて説明する。図２は、磁気ディスク１１の記録面の記録データの状態を模式的に示している。磁気ディスク１１の記録面には、磁気ディスク１１の中心から半径方向に放射状に延び、所定の角度毎に形成された複数のサーボ領域１１１と、隣り合う２つのサーボ領域１１１の間にデータ領域１１２が形成されている。サーボ領域１１１とデータ領域１１２は、所定の角度で交互に設けられている。各サーボ領域１１１には、ヘッド素子部１２の位置決め制御を行うためのサーボ・データが記録される。各データ領域１１２には、ユーザ・データが記録される。
【００３１】
磁気ディスク１１の記録面には、半径方向の所定幅を有し、同心円状に形成された複数本のデータ・トラック１１３が形成されている。ユーザ・データは、データ・トラック１１３に沿って記録される。また、磁気ディスク１１の記録面上には、同心円状に形成された複数のサーボ・トラックが形成されており、各サーボ・トラックは同一半径位置の各サーボ領域１１１によって構成されている。サーボ・トラック・ピッチとデータ・トラック・ピッチとは、同一もしくは異なる。
【００３２】
各データ・トラック１１３において、ユーザ・データは、データ・セクタ単位で記録されている。データ・セクタのデータ・フォーマットについては、後に詳述する。また、データ・トラック１１３は、磁気ディスク１１の半径方向の位置に従って、複数のゾーン１１４ａ−１１４ｃにグループ化されている。１つのデータ・トラック１１３に含まれるセクタの数は、ゾーンのそれぞれに設定される。
【００３３】
図３はデータ・トラック記録されているデータの物理フォーマットを模式的に示す図である。本例において、データ・トラック１１３は、複数のデータ・セクタ（SECTOR）を備え、図３においては、４つのデータ・セクタ１３１ａ−１３１ｄが例示されている。また、各データ・セクタもしくは一つのデータ・セクタを分離するように、一定の間隔サーボ・データ（ＳＲＶ）１３２が配置されている。図３においては、２つのサーボ・データ１３２ａ、１３２ｂが例示されている。
【００３４】
データ・トラック１１３におけるデータ・セクタ１３１は、二つのタイプに分類することができる。一つは、サーボ・データ１３２によって分離されているスプリット・セクタ、もう一つは、分離されていない通常のデータ・セクタ（非スプリット・セクタ）である。図３の例においては、データ・セクタ１３１ａ−１３１ｃは、サーボ・データ１３２に分離されておらず、通常のデータ・セクタである。一方、データ・セクタ１１３ｄは、サーボ・データ１３２ｂによって分離されており、スプリット・セクタである。
【００３５】
図３に示すように、非スプリット・セクタとスプリット・セクタとは、異なるデータ・フォーマットを持つ。図３は、非スプリット・セクタとして、データ・セクタ１３１ｂのデータ・フォーマットを示している。本例のデータ・セクタ１３１ｂは、二つのデータ・アドレス・マーク（Data Address Mark：DAM）を備えている。以下、データ・アドレス・マークをＤＡＭと記載する。１データ・セクタが複数のＤＡＭを有するので、一つのＤＡＭにて検出エラーを起こしても、他のＤＡＭを使用することで、ユーザ・データを読み出すことができる。
【００３６】
データ・セクタ１３１ｂは、具合的には、シンク（SYNC）３１１ａ、第１ＤＡＭ３１２ａ、第１ユーザ・データ・セクション３１３ａ、第２ＤＡＭ３１２ｂ、第２ユーザ・データ・セクション３１３ｂ、ＣＲＣＣ（Cyclic Redundancy Check Code）３１４及びＥＣＣコード（ＥＣＣ:Error Correction Code）３１５を備えている。シンク３１１は一定周波数の信号であって、ＲＷチャネル２１のＰＬＬ回路は、それに同期するように働く。また、ＲＷチャネル２１のＶＧＡ（Variable Gain Amplifier）は、シンク３１１を入力とするその出力振幅が期待値になるように、そのゲインを調整する。
【００３７】
誤り訂正のために付加されるコードは、図３の例において、ＣＲＣＣ３１４、ＥＣＣ３１５である。ＣＲＣＣ３１４及びＥＣＣ３１５は、磁気ディスク１１へのデータの記録における誤り訂正のために付加される。ＨＤＣ／ＭＰＵ２３は、ＥＣＣ３１５を使用して、読み出したデータのエラー訂正処理を実行する。また、ＨＤＣ／ＭＰＵ２３は、ＥＣＣコード３１５からまれな確率で起こる誤検出を防止するため、ＣＲＣＣ３１４を誤り訂正の検証に使用する。ＥＣＣ３１５及びＣＲＣＣ３１４の生成のため、典型的には、リードソロモン符号が使用される。ユーザ・データのＥＣＣ処理については、後に説明する。
【００３８】
上述のように、データ・セクタ１３１ｂは、複数のＤＡＭを備えている。データ・セクタ１３１ｂは、第１ユーザ・データ・セクション３１３ａの前に第１ＤＡＭ３１２ａを有する。さらに、第２ユーザ・データ・セクション３１３ｂの前に第２ＤＡＭ３１２ｂを有する。第１及び第２ユーザ・データ・セクション３１３ａ、３１３ｂは、ホスト５１から転送されたデータである。
【００３９】
ＤＡＭは、ユーザ・データの始まりを示し、その後に続くユーザ・データを読み出すための同期データである。ＲＷチャネル２１は、ＤＡＭの検出を条件として、その後のユーザ・データの読み出しを行う。具体的には、ＲＷチャネル２１は、第１ＤＡＭ３１２ａと第２ＤＡＭ３１２ｂの内の一方を使用して、データ・セクタ１３１ｂの読み出し処理を行う。ＲＷチャネル２１における第１ＤＡＭ３１２ａ及び第２ＤＡＭ３１２ｂの使用方法については、後に詳述する。
【００４０】
スプリット・セクタ１３１ｄは、サーボ・データ１３２ｂによって二つのセクタ・セクション１３１ｅ、１３１ｆに分離されている。サーボ・データ１３２ｂの直前に第１セクタ・セクション１３１ｅが、サーボ・データ１３２ｂの直後に第２セクタ・セクション１３１ｆが存在する。第１及び第２セクタ・セクション１３１ｅ、１３１ｆのそれぞれが、シンク、二つＤＡＭ及びユーザ・データ・セクションを有し、スプリット・セクタ１３１ｄは４つのＤＡＭ及びユーザ・データ・セクションを有する。
【００４１】
具体的には、第１セクタ・セクション１３１ｅは、シンク３１１ａ、第１ＤＡＭ３１２ａ、第１ユーザ・データ・セクション３１３ａ、第２ＤＡＭ３１２ｂ、第２ユーザ・データ・セクション３１３ｂを有する。第２セクタ・セクション１３１ｆも同様に、シンク３１１ｂ、第１ＤＡＭ３１６ａ、第１ユーザ・データ・セクション３１７ａ、第２ＤＡＭ３１６ｂ、第２ユーザ・データ・セクション３１７ｂを有する。第２セクタ・セクション１３１ｆは、さらに、ＣＲＣＣ３１４、ＥＣＣ３１５を有する。
【００４２】
第１セクタ・セクション１３１ｅの読み出しにおいて、そこに含まれる第１及び第２ＤＡＭ３１２ａ、３１２ｂの一方が使用される。また、第２セクタ・セクション１３１ｆの読み出しにおいて、そこに含まれる第１及び第２ＤＡＭ３１６ａ、３１６ｂの一方が使用される。エラー訂正処理は、スプリット・セクタ１３１ｄ全体として行われ、最後のセクタ・セクションである第２セクタ・セクション１３１ｆのみが、ＥＣＣ３１５及びＣＲＣＣ３１４を有している。
【００４３】
図４は、本形態におけるＨＤＤ１において、リード処理に関連する論理構成を模式的に示すブロック図である。図４に示すように、ＲＷチャネル２１は、磁気ディスク１１からのデータ読み出し処理を実行するデータ処理部２１０と、データ処理部２１０のデータ読み出し処理及びＲＷチャネル２１の全体を制御するチャネル制御部２２０とを有している。
【００４４】
図５は、データ処理部２１０におけるデータ・セクタのリード処理に関連する構成を模式的に示している。データ処理部２１０は、可変ゲイン・アンプ（ＶＧＡ）２１１、波形等化フィルタ２１２、ＡＤコンバータ２１３、ＦＩＲフィルタ２１４、ビタビ復号器２１５、復調器２１６及びシリアル−パラレル変換器２１７などを有している。ＡＥ１３からのリード信号は、ＡＧＣ（Auto Gain Control）を構成する可変ゲイン・アンプ（ＶＧＡ）２１１を介して、波形等化フィルタ２１２に入力される。波形等化フィルタ２１２は、入力アナログ信号からのノイズ除去及び信号波形をスリミングする波形等化処理を行う。波形等化された信号は、ＡＤコンバータ２１３によるサンプリング及び量子化によってデジタル信号に変換され、ＦＩＲフィルタ２１４に入力される。
【００４５】
ＦＩＲフィルタ２１４は、デジタル信号のトランスバーサル等化処理を行う。具体的には、ＦＩＲフィルタ２１４は正確にデータを復元するために入力波形を整形し、入力波形を目標波形に等化する。ビタビ復号器２１５は、ＦＩＲフィルタ２１４で等化された波形をＰＲＭＬ（Partial Response Maximum Likelihood）処理回路で処理し、ＲＬＬ（Run Length Limited）信号を出力する。ビタビ復号器２１５は、所定のアルゴリズムに従って、入力されたデータ列における前後関係から、最も確からしいデータ列を決定する。復調器２１６は、ビタビ復号器２１５が復号したＲＬＬ信号を元信号に復調する。復調されたシリアルデータは、シリアル−パラレル変換器２１７によってパラレルデータに変換され、ＨＤＣ／ＭＰＵ２３に転送される。
【００４６】
本形態のＨＤＤ１は、ＤＡＭを使用したユーザ・データのリード処理制御にその特徴を有している。図３及び図４を参照して、データ・セクタ１３１ｂの通常リード処理について説明する。コマンド実行部２３１は、ホスト５１からのリード・コマンドに従って、リード処理を制御する。具体的には、コマンド実行部２３１はチャネル制御部２２０にリード制御信号READ_GATEを出力し、それをアクティブにすることで、ＲＷチャネル２１をリード・モードにセットする。そしてコマンド実行部２３１がデータ・セクタの読み出しを指示する。つまり、リード制御信号READ_GATEがアクティブの場合、データ処理部２１０は、ＡＥ１３からの読み出し信号を取り込み、所定の信号処理及び符号処理を実行する。
【００４７】
データ処理部２１０は、レジスタ２２１に格納されているデータを参照し、それが特定するＤＡＭをリード・データ処理のために使用する。本例は、第１ＤＡＭ３１２ａを、予め使用する設定とする。データ処理部２１０は、第１ＤＡＭ３１２ａを検出すると、それによって第１ユーザ・データ・セクション３１３ａの開始位置を特定し、第１及び第２ユーザ・データ・セクション３１３ａ、３１３ｂ及びのデータ処理を実行する。
【００４８】
データ処理部２１０は処理したリード・データを、ＨＤＣ／ＭＰＵ２３に転送する。ＨＤＣ／ＭＰＵ２３は、コマンド実行部２３１、エラー訂正部２３２、ホスト・インターフェース・コントローラ（ＨＩＣ）２３３及びエラー回復処理部２３４として機能する。各ブロックは機能ブロックであって、ハード・ウェア及び／もしくはマイクロ・コードに従って動作するＭＰＵが、各機能ブロックとして働く。
【００４９】
データ処理部２１０が処理したリード・データにおけるＥＣＣ３１５及びＣＲＣＣ３１４を使用して、エラー訂正部２３２が、ユーザ・データ３１３ａ、３１３ｂのエラー訂正処理を実行する。エラー訂正されたユーザ・データ３１３ａ、３１３ｂは、一旦ＲＡＭ２４内のバッファ２４１に格納された後、ＨＩＣ２３３を介して、ホスト５１へ転送される。
【００５０】
次に、第１ＤＡＭ３１２ａを検出できない場合のＨＤＣ／ＭＰＵ２３によるエラー処理について説明する。つまり、ＨＤＣ／ＭＰＵ２３は、ＤＡＭの検出においてエラーが起きた場合に、そのエラーに対応する処理を行うコントローラとして働く。第１ＤＡＭ３１２ａを検出できない場合、データ処理部２１０はその結果をチャネル制御部２２０に通知し、データ処理を停止する。チャネル制御部２２０は、第１ＤＡＭ３１２ａの検出エラーをＨＤＣ／ＭＰＵ２３に通知する。チャネル制御部２２０は、さらに、レジスタ２２２に検出エラーを起こしたＤＡＭの位置を特定するデータを格納する。本例では、第１ＤＡＭ３１２ａを示すデータを格納する。
【００５１】
通知を受けたエラー回復処理部２３４は、第１ＤＡＭ３１２ａに代えて第２ＤＡＭ３１２ｂを使用することをＲＷチャネル２１に指示する。具体的には、エラー回復処理部２３４は、レジスタ２２１に、第２ＤＡＭ３１２ｂを特定するデータを格納する。エラー回復処理部２３４は、さらに、コマンド実行部２３１にデータ読み出しの処理実行を指示する。
【００５２】
コマンド実行部２３１は、ヘッド素子部１２がデータ・セクタ１３１ｂの上に着いたタイミングで、リード制御信号READ_GATEをアクティブにする。そしてチャネル制御部２２０からの指示に従って、データ処理部２１０は読み出したデータ・セクタ１３１ｂのデータ処理を行う。先の工程と異なり、データ処理部２１０は、第２ＤＡＭ３１２ｂを使用して読み出したデータの処理を行う。具体的には、データ処理部２１０は、第２ＤＡＭ３１２ｂを検出すると、それを基準として第２ユーザ・データ・セクション３１３ｂ、ＣＲＣＣ３１３及びＥＣＣ３１４の信号処理を行う。
【００５３】
データ処理部２１０は、読み出すことができなかった第１ユーザ・データ・セクション３１３ａに相当する部分は、予め定められた特定のデータを埋め込む。データ処理部２１０で処理されたリード・データは、エラー訂正部２３２に転送される。エラー訂正部２３２は、特定のデータが埋め込まれた部分を含むデータについて、エラー訂正処理を実行する。エラー訂正されたデータは、その後、上述のようにＲＡＭ２４のバッファ２４１を経由してホスト５１に転送される。
【００５４】
続いて、スプリット・セクタ１３１ｄのリード処理について説明する。スプリット・セクタ１３１ｄの通常リード処理は、基本的には、上記データ・セクタ１３１ｂの通常リード処理を２回繰り返す。つまり、データ処理部２１０は、第１セクタ・セクション１１３ｅのデータ処理のために予め第１ＤＡＭ３１２ａを使用するように設定している。また、データ処理部２１０は、第２セクタ・セクション１１３ｆのデータ処理のためにその第１ＤＡＭ３１６ａを使用する。他の処理は、上記データ・セクタ１３１ｂの処理と実質的に同様であり、説明を省略する。
【００５５】
次に、スプリット・セクタ１３１ｄにおいて、ＤＡＭ検出エラーが発生した場合のエラー回復処理について説明する。エラー回復処理部２３４は、ＤＡＭ検出エラーに対するエラー処理の一例である、リトライ処理を実行する。
【００５６】
上述のように、ＲＷチャネル２１は、予め指定されたＤＡＭを使用して、リード・データの処理を実行する。上記例のように、一つのデータ・セクタが二つのＤＡＭ３１２ａ、３１２ｂしか有しない場合、ＤＡＭ３１２ａの検出エラーが発生しても、エラー回復処理部２３４が次に指定すべきは他のＤＡＭ３１２ｂの一つであるので、１回のリトライ処理でデータを読み出すことができる。
【００５７】
しかし、スプリット・セクタ１３１ｄは、４つのＤＡＭ３１２ａ、３１２ｂ、３１６ａ、３１６ｂを有し、最初の処理で使用するデフォルトＤＡＭは、ＤＡＭ３１２ａ、３１６ａの二つが存在する。この内のいずれが検出エラーを起こしたかわからない場合、エラー回復処理部２３４は、次のリトライ処理で使用するＤＡＭを一意に決定することができない。つまり、次のリトライで使用するＤＡＭとして、エラー回復処理部２３４は、（ＤＡＭ３１２ａ、ＤＡＭ３１６ｂ）、（ＤＡＭ３１２ｂ、ＤＡＭ３１６ａ）、（ＤＡＭ３１２ｂ、ＤＡＭ３１６ｂ）の三つから選択する。従って、最大３回のリトライ・ステップが必要となる。
【００５８】
スプリット・セクタのスプリット数（セクタ・セクション数）が増加するにつれて、さらに最大リトライ・ステップ数は増加する。例えば、一つのデータ・セクタが、２つのサーボ・データによって３つのセクションにスプリットされる場合、ＤＡＭエラー後の次の選択組み合わせとして、７つの組み合わせが考えられる。一般に、サーボ・データに割り込まれる回数をＮとすると、２×Ｎ−１の組み合わせが考えられる。このように、複数ＤＡＭのうちに一部の複数ＤＡＭを使用してデータ・セクタを読み出す場合、検出エラーを起こしたＤＡＭ位置が特定されないと、多数回のリトライが必要とされる。
【００５９】
上述のＲＷチャネル２１は、ＤＡＭエラーを検出すると、そのエラーを起こしたＤＡＭを特定する。ＨＤＣ／ＭＰＵ２３は、ＲＷチャネル２１から検出エラーを起こしたＤＡＭを特定するデータを取得し、それを使用して次のリトライ・ステップで使用するＤＡＭを決定する。検出エラーを起こしたＤＡＭの情報を取得しているため、ＨＤＣ／ＭＰＵ２３が選択すべきＤＡＭの組み合わせの幅を小さくすることができる。
【００６０】
図３、４及び図６のフローチャートを参照して、スプリット・セクタ１１３ｄのＤＡＭエラー回復処理について、具体的に説明する。一例として、第２セクタ・セクション１３１ｆの第１ＤＡＭ３１６ａの検出エラーが起きたケースを説明する。コマンド実行部２３１からのリード制御信号READ_GATEに従って、データ処理部２１０は、読み出したスプリット・セクタ１１３ｄのデータ処理を行う（Ｓ１１）。具体的には、チャネル制御部２２０が、リード制御信号READ_GATEに従ってデータ処理部２１０に処理の実行を指示する。データ処理部２１０は、データ処理に際し、レジスタ２２１に格納されているデータが特定するＤＡＭを使用する。最初の工程においては、第１ＤＡＭ３１２ａ及び第１ＤＡＭ３１６ａを使用する。
【００６１】
データ処理部２１０は、第２セクタ・セクション１３１ｆの第１ＤＡＭ３１６ａのエラーを検出すると（Ｓ１２）、その処理を停止し、さらに、エラーの発生とエラーが起きたＤＡＭ位置とをチャネル制御部２２０に知らせる。例えば、データ処理部２１０はＤＡＭの検出回数をカウントするカウンタを備えており、それによって、エラーを起こしたＤＡＭ位置を特定することができる。
【００６２】
チャネル制御部２２０は、ＨＤＣ／ＭＰＵ２３にＤＡＭエラー発生の事実を通知すると共に、レジスタ２２２にエラーを起こしたＤＡＭ位置を示すデータを格納する（Ｓ１３）。ＤＡＭエラーが発生すると、ＲＷチャネル２１はデータ・セクタ１３１ｄのデータ処理を停止する（Ｓ１４）。エラー回復処理部２３４は、レジスタ２２２からエラーＤＡＭ位置を示すデータを取得し、それに従って、リトライ処理で使用するＤＡＭをレジスタ２２１に格納する（Ｓ１５）。
【００６３】
本例においては、レジスタ２２２のデータは、第２セクタ・セクション１３１ｆの第１ＤＡＭ３１６ａを示している。エラー回復処理部２３４は、第１セクタ・セクション１３１ｅにおいて第１ＤＡＭ３１２ａを使用し、第２セクタ・セクション１３１ｆにおいて第２ＤＡＭ３１６ｂを使用することを示すデータをレジスタ２２１に格納する。リトライ処理において、データ処理部２１０は、レジスタ２２１を参照して、そこで指定されている第１ＤＡＭ３１２ａ及び第２ＤＡＭ３１６ｂを使用して、リード・データのデータ処理を行う（Ｓ１６）。
【００６４】
なお上述の例においては、データ処理部２１０がエラーを起こしたＤＡＭ位置を特定するが、チャネル制御部２２０がそのＤＡＭ位置を特定してもよい。例えば、チャネル制御部２２０はタイマを備え、データ・セクタ１３１ｄの読み出しの開始からの時間を測定する。読み出し開始からデータ処理部２１０からのＤＡＭエラーの通知までの時間から、いずれのＤＡＭ位置においてエラーが発生したか、特定することができる。
【００６５】
また、上述の例においては、ＤＡＭエラーに応答して、ＲＷチャネル２１はユーザ・データの処理を停止する。しかし、これに代えて、ＤＡＭエラーが発生してもデータ処理部２１０は読み出し処理を続行し、エラーを起こしたＤＡＭよりも後ろに位置する各ＤＡＭを検出することができるかを確認してもよい。データ処理部２１０には、リード制御信号READ_GATEを基準として、予め設定された各ＤＡＭの検出タイミング（検出すべきタイミング）を有している。各設定タイミングは、ある程度の幅を有し、このタイミングをウィンドウと呼ぶ。データ処理部２１０には、各検出ウィンドウにおけるＤＡＭ検出の有無を確認することで、各ＤＡＭの検出の有無を確認することができる。
【００６６】
データ処理部２１０は、検出エラーを起こしたＤＡＭを含むデータ・セクタもしくはセクタ・セクションの全てのＤＡＭの検出の有無を確認する。そのデータ・セクタもしくはセクタ・セクションにおける最後のＤＡＭの検出の有無を確認すると、データ処理を停止し、エラーの発生とエラーが起きた全てのＤＡＭ位置とをチャネル制御部２２０に知らせる。これによって、一回の読み出し処理において、エラーを起こすＤＡＭを全て特定することができる。
【００６７】
この他、ＨＤＤ１は、通常のリード処理と異なり、エラーＤＡＭを検出するためのリードを行ってもよい。具体的には、ＤＡＭエラーが起こると、ＨＤＣ／ＭＰＵ２３は、そのエラーを起こしたセクタもしくはセクタ・セクションについて、エラーＤＡＭサーチのためのリードを行う。
【００６８】
ＨＤＣ／ＭＰＵ２３は、エラーＤＡＭサーチにおいて、サーボ・データのタイミングに合わせてリード制御信号READ_GATEを変化させる。これによって、各ＤＡＭの検出有無を確認するためのウィンドウの幅によって、リード制御信号READ_GATEがサーボ・データの領域に重なることを確実に避けることができる。データ処理部２１０は、リード制御信号READ_GATEで指定された時間内において、予め設定されたウィンドウにおける各ＤＡＭの検出の有無を確認する。
【００６９】
次に、検出エラーを起こしたＤＡＭ位置の特定に関する他の好ましい態様を説明する。本態用のチャネル制御部２２０は、検出したＤＡＭをカウントするカウンタを備え、コマンド実行部２３１からのリード制御信号READ_GATEの変化に従ってカウントする。そのカウンタの値が、エラーＤＡＭ位置を特定する。チャネル制御部２２０は、カウント値をレジスタ２２２に格納する。あるいは、カウンタ自体がレジスタ２２２として機能する。
【００７０】
図７に示した例について、具体的に説明する。本例においては、一つのデータ・セクタ４００が３つのサーボ・データ４２１ａ−４２１ｃによって、4つのセクタ・セクション４０１ａ−４０１ｄに分離されている。各セクタ・セクション４０１ａ−４０１ｄは、それぞれシンク４１１ａ−４１１ｄ、第１及び第２ＤＡＭ４１２ａ−４１２ｈ、第１及び第２ユーザ・データ・セクション４１３ａ−４１３ｈを有している。また、最後のセクタ・セクション４０１ｄは、ＣＲＣＣ４１４及びＥＣＣ４１５を有している。
【００７１】
まず、ＤＡＭエラーが発生せずにデータ・セクタ４００のリード処理が終了する通常リード処理について説明する。データ処理部は、デフォルトとして、各セクタ・セクション４０１ａ−４０１ｄの第１ＤＡＭを使用する。通常リード処理のカウンタ値及びリード制御信号は、それぞれGOOD COUNTER及びGOOD READ_GATEで示されている。カウンタは、リード制御信号READ_GATEの立ち上がりに応答してカウントする。つまり、リード制御信号READ_GATEがアクティブになる度にカウントする。
【００７２】
図７に示すように、通常リード処理におけるリード制御信号GOOD READ_GATEは、各セクタ・セクション４０１ａ−４０１ｄの開始でアクティブとなり、その終了においてインアクティブとなる。セクタ・セクション４０１ａの開始において、リード制御信号GOOD READ_GATEがアクティブとなり、カウンタGOOD COUNTERが１を示す。さらに、その後の各セクタ・セクション４０１ｂ−４０１ｄの開始においてリード制御信号GOOD READ_GATEがアクティブとなり、カウンタGOOD COUNTERが２、３及び４とカウント・アップする。このデータ・セクタのリード処理におけるカウンタ値は４であり、ＤＡＭエラーが起きなかったことを示す。
【００７３】
一方、第２セクタ・セクション４０１ｂの第１ＤＡＭ４１２ｃにおいて、検出エラーが発生した場合のカウンタ値及びリード制御信号は、それぞれDAM ERR COUNTER及びDAM ERR READ_GATEで示されている。リード制御信号DAM ERR READ_GATEは、最初の第１セクタ・セクション４０１ａの開始でアサートされ、その終了においてネゲートされる。リード制御信号の制御は、そのデータ・セクタの直前のサーボ・データ内における特定のデータを検出したタイミングを基準に行われる。ＲＷチャネル２１は、直前のサーボ・データ内における特定データを検出したタイミングからの時間をカウントし、予め定められた時間が経過したタイミングでリード制御信号をアサートする。
【００７４】
さらに、リード制御信号DAM ERR READ_GATEは第２セクタ・セクション４０１ｂの開始でアサートされ、その第１ＤＡＭ４１２ｃのエラーに応答してネゲートされる。カウンタ値DAM ERR COUNTERは、リード制御信号DAM ERR READ_GATEの立ち上がり毎に増加するので、本ケースでは、２の値を示す。チャネル制御部２２０が、このカウント値をレジスタ２２２に格納する。カウンタ値DAM ERR COUNTERが２ということは、第２セクタ・セクション４０１ｂでＤＡＭエラーが発生したことを示し、上記例では、エラーＤＡＭ位置として第１ＤＡＭ４１２ｃを示すことになる。このように、リード制御信号を使用したカウンタを設けることによって、データ・セクタにおけるＤＡＭエラー位置を簡便な構成で特定することができる。
【００７５】
上述においては、ＨＤＣ／ＭＰＵ２３のＤＡＭエラーのエラー処理の一例として、リトライ工程におけるＤＡＭ選択について説明した。他の好ましい態様において、ＨＤＣ／ＭＰＵ２３は、他のＤＡＭエラー処理として、ＤＡＭエラー位置のデータを使用したユーザ・データのエラー訂正処理を行うことができる。図８は、ＤＡＭエラー位置を使用したエラー訂正処理に関連する構成を模式的に示すブロック図である。
【００７６】
エラー訂正部２３２は、オンライン訂正処理であるOn The Flyモード（ＯＴＦモード）とオフライン訂正処理である消失訂正処理モードの二つのモードを備える。初期設定として、エラー訂正部２３２はＯＴＦモードにあり、ＯＴＦエラー訂正が不可能な場合に消失訂正モードに切り換わる。具体的には、ＯＴＦ／消失訂正処理部３２２がエラー訂正の実体処理を行い、その処理モードの制御をモード制御部３２１が行う。
【００７７】
ＯＴＦモードは、データ・セクタの符号語を連続的に読み込み、誤り訂正をしながらユーザ・データをホスト５１に連続的に転送する。消失訂正処理モードは、ＯＴＦモードでの誤り訂正が不可能な符号語が読み込まれたときに、符号語の読み込み及びユーザ・データの転送を一時的に停止し、符号語の誤りを訂正する。訂正完了後に、符号語の読み込み及びユーザ・データの転送を再開する。上記のエラーを起こしたＤＡＭ位置の情報は、消失訂正処理モードにおいて使用することができる。
【００７８】
ＯＴＦモードと消失訂正処理モードの処理方法は異なり、消失訂正処理モードの誤り訂正は、ＯＴＦモードの２倍の誤りを訂正することが可能である。ＯＴＦモード及び消失訂正処理モード共に、ＲＷチャネル２１から転送されたＣＲＣＣ及びＥＣＣを使用してエラー訂正処理を実行する。ＥＣＣおよびＣＲＣＣには、例えば、ガロア拡大体ＧＦ（２8）上での演算が可能なリードソロモン符号を用いることができる。
【００７９】
ＯＴＦモードにおいて、ＯＴＦ／消失訂正処理部３２２は、データ処理部２１０から転送されたリード・データの符号語のみをもとに誤り位置及び誤りパターンからなる誤りデータを計算する。さらに、ＯＴＦ／消失訂正処理部３２２は、この読み込み符号語及び誤りデータを使用してＣＲＣシンドロームを計算し、ＣＲＣシンドロームをもとに誤りデータが全て正しいか否かを判別する。誤りデータが全て正しければ、誤りデータに従って読み込み符号語を訂正する。
【００８０】
誤りデータが正しくない場合、ＯＴＦ／消失訂正処理部３２２はその結果をモード制御部３２１に通知する。モード制御部３２１は、その通知から、ＯＴＦ／消失訂正処理部３２２のモードを消失訂正処理モードに変更する。消失とは、誤りパターンが判れば訂正できる誤りのことである。消失訂正処理は、誤りである可能性の高い位置を消失位置として推定し、この消失位置をもとに誤りデータを計算する。
【００８１】
上述のように、複数のＤＡＭから選択したＤＡＭをＲＷチャネル２１が使用する場合、リード・データのデータ処理に使用したＤＡＭよりも前の位置にあるユーザ・データは、正確に読み出されない。そこで、例えば、ＲＷチャネル２１は、検出したＤＡＭ位置以前のユーザ・データ位置に、予め定められた規定のデータを埋め込む。従って、エラーを起こしたＤＡＭ位置が特定されている場合、ユーザ・データにおける消失位置を特定することができる。
【００８２】
具体的には、消失訂正処理モードでは、ＯＴＦ／消失訂正処理部３２２はエラーを起こしたＤＡＭ位置を使用して、誤りの可能性が高い位置のデータである消失位置データを生成する。さらに、ＯＴＦ／消失訂正処理部３２２はデータ処理部２１０から取得した符号語及び計算した消失位置データをもとに誤りデータを計算する。計算した誤りデータ及び符号語から、ＣＲＣシンドロームを計算する。このＣＲＣシンドロームを使用して、ＯＴＦ／消失訂正処理部３２２は誤りデータが全て正しいか否かを判別することができる。ＯＴＦ／消失訂正処理部３２２は、誤りデータが全て正しければ、誤りデータに従って符号語を訂正し、誤りデータのいずれかが正しくなければ、新たに消失位置データを生成し直し、消失訂正を再度実施する。消失訂正が不可能である場合、エラーとなる。
【００８３】
図８及び図９を参照して、エラー訂正処理における各機能部の処理手順を説明する。ＨＤＣ／ＭＰＵ２３は、エラーを起こしたＤＡＭ位置を表すデータを、レジスタ２２２からが取得し、ＲＡＭ２４に保存する（Ｓ２１）。データ処理部２１０はユーザ・データ、ＣＲＣＣ及びＥＣＣをバッファ２４１に格納するとともに、ＯＴＦ／消失訂正処理部３２２に転送する。ＯＴＦ／消失訂正処理部３２２は、ＯＴＦモードに設定されており、入力された符号語のＯＴＦエラー訂正処理を実行する（Ｓ２２）。ＯＴＦ／消失訂正処理部３２２は、バッファ２４１に格納されているユーザ・データを正確なデータに訂正する。
【００８４】
ＯＴＦエラー訂正処理でエラー訂正処理が正常に完了すると（Ｓ２３におけるＹＥＳ）、バッファ２４１のデータがホスト５１に転送される（Ｓ２４）（図８において不図示）。正常にエラー訂正することができない場合（Ｓ２３におけるＮＯ）、モード制御部３２１はＯＴＦ／消失訂正処理部３２２を消失訂正処理モードに設定する（Ｓ２５）。
【００８５】
消失訂正処理モードにおいて、ＯＴＦ／消失訂正処理部３２２は、エラーを起こしたＤＡＭ位置を使用して、誤りの可能性が高い位置を示す消失位置データを生成する（Ｓ２６）。さらに、ＯＴＦ／消失訂正処理部３２２は、ＲＷチャネル２１から取得した符号語及び計算した消失位置データを使用して誤りデータを計算する（Ｓ２７）。そして、ＯＴＦ／消失訂正処理部３２２は、誤りデータが正しいかを判定し、正しい場合（Ｓ２８におけるＹＥＳ）はバッファ２４１に格納されているユーザ・データを訂正する（Ｓ２９）。データが正しくない場合（Ｓ２８におけるＮＯ）、ＯＴＦ／消失訂正処理部３２２は消失位置データを生成し直し、消失訂正を再実行する（Ｓ３０）。消失訂正が不可能な場合、訂正処理を終了する。
【００８６】
他のＤＡＭエラー処理の例として、ＨＤＣ／ＭＰＵ２３は、検出エラーを起こしたＤＡＭ位置の情報を使用して、欠陥テーブルへの欠陥登録及びそれを使用した欠陥管理を行うことができる。ＨＤＣ／ＭＰＵ２３は、ＤＡＭエラーを起こし、正確にデータを読み出すことができないデータ・セクタを欠陥セクタとして欠陥テーブルに登録する。さらに、そのエラーを起こしたデータ・セクタに加えて、他のトラックのデータ・セクタを欠陥セクタとして登録する。このように欠陥登録されたセクタは、その後使用されず（不使用セクタ）、対応アドレスに対してリアサインされた別のスペア・セクタに、そのデータが記録される。
【００８７】
一つのＤＡＭ領域上の欠陥は、隣接するセクタのＤＡＭ領域まで広がっている可能性が高い。さらに、この欠陥は経時的に成長し、現在、修復可能なエラーであるソフトエラーとして検出されるものも、将来においてデータ読み出し不能なハードエラーと変化する可能性が高い。従って、ＤＡＭが検出不能のために交替処理するデータ・セクタに加え、欠陥が広がっている可能性が高いセクタも合わせて欠陥セクタとして交替処理することによって、他のセクタにおけるソフトエラー及びハードエラーの発生を未然に防止する。
【００８８】
ＨＤＣ／ＭＰＵ２３は、例えば、エラーを起こしたデータ・セクタ及び半径方向に隣接するデータ・トラックにおける所定範囲のデータ・セクタを欠陥セクタとして登録する。このとき、ＨＤＤは、検出エラーを起こしたＤＡＭ位置を使用して、欠陥セクタとして登録するデータ・セクタを決定することができる。例えば、ＨＤＣ／ＭＰＵ２３は、エラーを起こしたデータ・セクタに半径方向において隣接する両側のデータ・セクタを欠陥登録する。さらに、エラーを起こしたＤＡＭ位置に近いデータ・セクタをあわせて欠陥セクタとして登録することができる。例えば、後ろ側にあるＤＡＭ位置においてエラーが起きている場合、隣接データ・セクタの一つ後ろのデータ・セクタを欠陥セクタとして登録することができる。
【００８９】
以上、本発明を好ましい実施形態を例として説明したが、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本発明は磁気ディスク装置に限らず、他のタイプのメディアを使用するデータ記憶装置に適用することができる。
【００９０】
上記例において、１データ・セクタもしくは１セクタ・セクションは二つのＤＡＭを有するが、３以上のＤＡＭを有する場合にも、本発明を適用することがきる。また、スプリット・セクタに限らず、３以上のＤＡＭを有するデータ・セクタに本発明を適用することができる。ＤＡＭ検出のエラーに対応したエラー処理として、ＨＤＤは、上述の例をあわせて使用すること、あるいは、個別に使用することができる。上述においては、ＲＷチャネルがエラー位置を特定するが、ＨＤＣ／ＭＰＵがエラー位置を特定し、それを使用してエラーに対応したエラー処理を行うことができる。
【図面の簡単な説明】
【００９１】
【図１】本実施形態にかかるＨＤＤの全体構成を模式的に示すブロック図である。
【図２】本実施形態にかかる磁気ディスク上に記録されているデータの物理フォーマットを模式的に示す図である。
【図３】本実施形態にかかる磁気ディスクにおいて、トラックに記録されているデータの物理フォーマットを模式的に示す図である。
【図４】本実施形態において、ＤＡＭ検出エラーに対応する処理を実行する各論理構成要素を模式的に示すブロック図である。
【図５】本実施形態において、ＲＷチャネルのデータ処理部におけるデータ・セクタのリード処理に関連する構成を模式的に示している。
【図６】本実施形態において、ＤＡＭエラー位置を特定してリード・リトライ処理を示すフローチャートである。
【図７】本実施形態において、スプリット・セクタのデータ・フォーマット及びカウンタを使用したエラーＤＡＭ位置の特定方法を模式的に示している。
【図８】他の実施形態において、ＤＡＭ検出エラー位置を使用したエラー訂正処理に関連する各論理構成要素を模式的に示すブロック図である。
【図９】他の実施形態において、ＤＡＭ検出エラー位置を使用したエラー訂正処理を示すフローチャートである。
【符号の説明】
【００９２】
１  ハードディスク・ドライブ、１０  エンクロージャ、１１  磁気ディスク
１２  ヘッド素子部、１４  スピンドル・モータ、１５  ボイス・コイル・モータ
１６  アクチュエータ、２０  回路基板、２１  リード・ライト・チャネル
２２  モータ・ドライバ・ユニット、２３  ハードディスク・コントローラ／ＭＰＵ
５１  ホスト、１１１  サーボ領域、１１２  データ領域、１１３  トラック
１３１  データ・セクタ、１３２  サーボ・データ、２１０  データ処理部
２２０  チャネル制御部、２２１、２２２  レジスタ、２３１  コマンド実行部
２３２  エラー訂正部、２３３  ホスト・インターフェース・コントローラ
２３４  エラー回復処理部、２４１  バッファ、３１１  シンク
３１２  データ・アドレス・マーク、３１３  ユーザ・データ・セクション
３１４  ＣＲＣＣ、３１５  ＥＣＣコード、３１６  データ・アドレス・マーク
３１７  ユーザ・データ・セクション、３２１  モード制御部
３２２  ＯＴＦ／消失訂正処理部、４０１  セクタ・セクション
４２１  サーボ・データ、４１１  シンク、４１２  データ・アドレス・マーク
４１３  ユーザ・データ・セクション
【図１】
2007317271.tif 000003
【図２】
2007317271.tif 000004
【図３】
2007317271.tif 000005
【図４】
2007317271.tif 000006
【図５】
2007317271.tif 000007
【図６】
2007317271.tif 000008
【図７】
2007317271.tif 000009
【図８】
2007317271.tif 000010
【図９】
2007317271.tif 000011