(57)【要約】      （修正有）【課題】リトライ時読み出しにおけるエラーレートを改善する。【解決手段】ハードディスクドライブ装置は、磁気ディスクに対する読み取りのリトライ動作の時に、磁気ヘッドをオフセットして、同一の物理セクタに対して、複数回データのリードを行うリード・ライトブロック３２と、物理セクタを分割した区間毎に、複数回の読み取り結果であるリードデータ系列のビタビ復号結果から、読み取り結果として確からしいリードデータ系列の復号結果を選択する選択回路４０９と、選択された区間毎のリードデータ系列の復号結果を結合するＭＵＸ４１０と、を備える。【選択図】図４
2010267346.tif 000002
【特許請求の範囲】
【請求項１】
磁気ディスクに対する読み取りのリトライ動作の時に、当該磁気ディスクから読み取りを行うヘッドをオフセットして、同一の領域に対して読み取りを複数回行う読取手段と、
前記領域のデータサイズより短いデータ長毎に、予め定められた指標に基づいて、前記読取手段の複数回の読み取り結果である複数の読取データから、読み取り結果として確からしい前記読取データを選択する選択手段と、
前記データ長毎に、選択された前記読取データを結合する結合手段と、
を備えることを特徴とするディスクコントローラ。
【請求項２】
前記選択手段は、
前記複数回の読み取り結果である複数の読取データのそれぞれに対して、ビタビアルゴリズムによる最尤復号を行う復号手段と、
復号された前記複数の読取データを記憶する記憶手段と、
復号された前記複数の読取データのそれぞれに対して畳み込み演算を行うことで、復号前の読取データを表した波形信号を算出する波形算出手段と、
前記複数の読取データのそれぞれについて、算出された前記波形信号と、読出結果であって最尤復号を行う前の前記読取データと、の差分を算出する差分算出手段と、をさらに備え、算出された前記差分に基づいて、読み取り結果として確からしい前記読取データを選択すること、
を特徴とする請求項１に記載のディスクコントローラ。
【請求項３】
前記波形算出手段は、算出された前記波形信号と、最尤復号を行う前の前記読取データとから、差分としてノイズ成分を算出すること、
を特徴とする請求項２に記載のディスクコントローラ。
【請求項４】
前記波形算出手段は、算出された前記波形信号と、最尤復号を行う前の前記読取データとから、差分として信号電力又はＳ／Ｎ比を算出すること、
を特徴とする請求項２に記載のディスクコントローラ。
【請求項５】
複数回の読み取り結果である複数の読取データのそれぞれに対して、所定のパラメータを用いてＦＩＲ(Finite  Impulse  Response)フィルタを行うフィルタリング手段と、をさらに備え、
前記復号手段は、前記フィルタリング手段によりフィルタリングされた後の前記複数の読取データのそれぞれに対して、ビタビアルゴリズムによる最尤復号を行い、
前記波形算出手段は、最尤復号された前記複数の読取データのそれぞれから、前記フィルタリング手段で用いられた前記所定のパラメータを用いた畳み込み演算で、復号前の読取データを表した波形信号を算出すること、
を特徴とする請求項２乃至４のいずれか一つに記載のディスクコントローラ。
【請求項６】
前記読取手段は、前記領域として、前記磁気ディスクの物理セクタに対して、複数回データの読み取りを行い、
前記選択手段は、前記物理セクタを分割した区間毎に、読み取り結果として確からしい前記読取データを選択すること、
を特徴とする請求項１乃至５のいずれか一つに記載のディスクコントローラ。
【請求項７】
磁気ディスクに対する読み取りのリトライ動作の時に、当該磁気ディスクから読み取りを行うヘッドをオフセットして、同一の領域に対して読み取りを複数回行う読取手段と、
前記領域のデータサイズより短いデータ長毎に、予め定められた指標に基づいて、前記読取手段の複数回の読み取り結果である複数の読取データから、読み取り結果として確からしい前記読取データを選択する選択手段と、
前記データ長毎に、選択された前記読取データを結合する結合手段と、
を備えることを特徴とするハードディスクドライブ装置。
【請求項８】
磁気ディスクに対する読み取りのリトライ動作の時に、当該磁気ディスクから読み取りを行うヘッドをオフセットして、同一の領域に対して読み取りを複数回行う読取ステップと、
前記領域のデータサイズより短いデータ長毎に、予め定められた指標に基づいて、前記読取ステップの複数回の読み取り結果である複数の読取データから、読み取り結果として確からしい前記読取データを選択する選択ステップと、
前記データ長毎に、選択された前記読取データを結合する結合ステップと、
を有することを特徴とするディスク制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気ディスクからデータを読み取るディスクコントローラ、ディスクドライブ装置、及びディスク制御方法に関する。
【背景技術】
【０００２】
従来から、ハードディスクドライブ装置は、音声データや映像データを格納する記憶手段として用いられている。
【０００３】
ハードディスクドライブ装置において、データは物理セクタ単位で書き込まれる。そして、当該物理セクタからデータの読み取りで、エラーが発生した場合、同一の物理セクタに対して再度読み取り処理を行う。当該処理は、リトライと呼ばれる。なお、エラーになる原因には、例えば隣接するトラックの影響等、さまざまな要因が考えられる。
【０００４】
従来のリトライ方法によれば、磁気ヘッドを一定量ほど隣接するトラック側にオフトラックさせてから、読み取り処理を行っている。そして、適切にデータの読み取りが行われた場合には、次の命令（読み取り又は書き込み命令）に従って、処理を行うこととしている。
【０００５】
従来のリトライ方法としては、例えば特許文献１に記載された技術がある。特許文献１に記載された技術においては、リトライ動作を行った際、ビタビ（Viterbi）アルゴリズムを用いた復号で得られるMSE(Mean  Square  Error)値が規定量以下になった場合に、適切なデータとして使用することとしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０００−１２３４９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１を含む従来技術であっても、磁気ヘッドをオフセットさせて同一物理セクタに対してリトライを行った際、リトライで読み出されたデータが全てエラーになることもあるという問題がある。このようなリトライでエラーになったデータであっても、物理セクタ内の一部の区間においては、適切に読み取れている可能性もある。
【０００８】
本発明は、上記に鑑みてなされたものであって、適切なデータの読み取りを可能とするディスクコントローラ、ディスクドライブ装置、及びディスク制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明にかかるディスクコントローラは、磁気ディスクに対する読み取りのリトライ動作の時に、当該磁気ディスクから読み取りを行うヘッドをオフセットして、同一の領域に対して読み取りを複数回行う読取手段と、前記領域のデータサイズより短いデータ長毎に、予め定められた指標に基づいて、前記読取手段の複数回の読み取り結果である複数の読取データから、読み取り結果として確からしい前記読取データを選択する選択手段と、前記データ長毎に、選択された前記読取データを結合する結合手段と、を備えることを特徴とする。
【００１０】
また、本発明にかかるハードディスクドライブ装置は、磁気ディスクに対する読み取りのリトライ動作の時に、当該磁気ディスクから読み取りを行うヘッドをオフセットして、同一の領域に対して読み取りを複数回行う読取手段と、前記領域のデータサイズより短いデータ長毎に、予め定められた指標に基づいて、前記読取手段の複数回の読み取り結果である複数の読取データから、読み取り結果として確からしい前記読取データを選択する選択手段と、前記データ長毎に、選択された前記読取データを結合する結合手段と、を備えることを特徴とする。
【００１１】
また、本発明にかかるディスク制御方法は、磁気ディスクに対する読み取りのリトライ動作の時に、当該磁気ディスクから読み取りを行うヘッドをオフセットして、同一の領域に対して読み取りを複数回行う読取ステップと、前記領域のデータサイズより短いデータ長毎に、予め定められた指標に基づいて、前記読取ステップの複数回の読み取り結果である複数の読取データから、読み取り結果として確からしい前記読取データを選択する選択ステップと、前記データ長毎に、選択された前記読取データを結合する結合ステップと、を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、読み取りリトライ時のエラー修復の確率を向上させるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施の形態にかかるハードディスクドライブ装置のハードウェア構成を示した図である。
【図２】図２は、磁気ディスクの構造を示した概念図である。
【図３】図３は、本実施の形態にかかるハードディスクドライブ装置で、クロストークを受けたことでエラーが生じた場合に行われる、リトライを示した説明図である。
【図４】図４は、本実施の形態にかかるハードディスクドライブ装置のリード・ライトブロック内における、読み取ったデータを処理するための構成を示したブロック図である。
【図５】図５は、本実施の形態にかかるハードディスクドライブ装置における、リード結果毎の各区間のノイズ量の変化を示した図である。
【図６】図６は、本実施の形態にかかるハードディスクドライブ装置における、ライト時にヘッドがずれてしまった場合のリトライ手法を示した図である。
【図７】図７は、本実施の形態にかかるハードディスクドライブ装置における、リトライに基づく複数回のデータ読み取り処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照して、この発明にかかるディスクコントローラ、ディスクドライブ装置、及びディスク制御方法の最良な実施の形態を詳細に説明する。
【００１５】
（第１の実施の形態）
図１に示すように、本実施の形態にかかるハードディスクドライブ装置１００は、ＨＤＣ１と、バッファＲＡＭ２と、モータドライバ６と、ボイスコイルモータ（以下、ＶＣＭと称す）７と、スピンドルモータ（以下、ＳＰＭと称す）８と、磁気ディスク９と、ＲＡＭ１０と、ＲＯＭ１１と、磁気ヘッド１３と、アーム１４と、軸１２と、ヘッドＩＣ３と、を備え、伝送路２０を介してホストシステム２１と接続されている。
【００１６】
ＳＰＭ８は、磁気ディスク９を定常回転させるためのモータとする。ＶＣＭ７は、図示しないマグネットと駆動コイルとからなり、モータドライバ６から供給される電力で、磁気ヘッド１３を目的の位置に移動させる駆動を行う。
【００１７】
モータドライバ６は、ＳＰＭ８及びＶＣＭ７を駆動させるために、ＳＰＭ８及びＶＣＭ７のそれぞれに電流を流す制御を行う。
【００１８】
磁気ディスク９は、読み書き可能なデータ領域を備えている。図２は、磁気ディスク９の構造を示した概念図である。図２に示すように磁気ディスク９は、異なる径毎にトラックを備えている。図２に示すように、各トラック（例えば、トラックＮ）には、ホストシステムから転送されるデータを記録するための領域(データ領域)が配置されている。そして、データ領域は、複数のセクタで構成されている。このような構成を磁気ディスク９が備えると共に、磁気ヘッド１３が、磁気ディスク９の半径方向に移動することで、任意のトラックの任意のセクタに対して、磁気ヘッド１３が走査を行うことができる。そして、磁気ヘッド１３が磁気ディスク９のセクタを走査することで、データの読み出し及び書き込みを行うことができる。
【００１９】
図１に戻り、磁気ヘッド１３は、アーム１４に保持されている。そして、磁気ヘッド１３は、サーボデータからトラックの位置情報を読み出すと共に、磁気ディスク９を走査し、データの読み出し及び書き込みを行う。アーム１４は、ＶＣＭ７の駆動力により軸１２を中心とした回転運動を行い、磁気ヘッド１３を磁気ディスク９の半径方向に移動させる。
【００２０】
ヘッドＩＣ３は、例えば、磁気ヘッド１３が読み出した微弱な信号を増幅する機能を備える。
【００２１】
ＲＯＭ１１は、ＨＤＣ１（例えばＭＰＵ４１）で用いられるコントロールプログラムを記憶している。ＲＡＭ１０は、ＨＤＣ１（例えばＭＰＵ４１）が変素数等を格納する作業領域として使用される。
【００２２】
ＨＤＣ（ハードディスクコントローラ）１は、ハードディスクドライブ装置１００を制御する目的で設計されたＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、リード・ライト部４と、メイン制御部５とを備えている。
【００２３】
メイン制御部５は、ＭＰＵ４１と、バッファブロック４２と、ホストブロック４３とを備えている。
【００２４】
ホストブロック４３は、ホストシステム２１とのインタフェース制御を行う。バッファブロック４２は、バッファＲＡＭ２の制御を行う。
【００２５】
ＭＰＵ４１は、読み出し・書き込み処理を行う。所望するデータの読み書きの対象となるトラックをサーチするとともに、当該データの読み書きの位置を管理する。
【００２６】
リード・ライト部４は、サーボブロック３１と、リード・ライトブロック３２と、を備える。そして、リード・ライト部４は、メイン制御部５からの要求に従って、磁気ヘッド１３による読み出し又は書き込み制御を行う。
【００２７】
サーボブロック３１は、主に磁気ヘッド１３の位置決め処理に必要な信号処理を行う。リード・ライトブロック３２は、データの読み出し・書き込みのための、磁気ヘッド１３間の信号処理を行う。つまり、リード・ライトブロック３２からの信号により、データの読み出し、書き込み制御が行われることになる。
【００２８】
バッファＲＡＭ２は、読み出したデータ等を記憶する。そして、バッファＲＡＭ２に記憶されたデータは、ホストシステム２１に出力される。
【００２９】
次に、リード要求に基づく制御について説明する。サーボブロック３１の磁気ヘッド１３の位置決め実施時に、リード・ライトブロック３２からの制御信号に従って、磁気ヘッド１３からアナログ信号が読み出される。そして、ヘッドＩＣ３で増幅されたアナログ信号は、ＨＤＣ１のリード・ライト部４に送られる。そして、リード・ライト部４は、増幅したアナログ信号を復号する。メイン制御部５が、復号された信号を、ホストシステム２１に転送する。その際、転送するデータは一旦バッファＲＡＭ２に格納されてからホストシステム２１に転送される。なお、アナログ信号を復号するためのリードデータ部４の構成については後述する。
【００３０】
次に、ライト要求に基づく制御について説明する。ホストシステム２１からメイン制御部５に転送されたデータは、一旦バッファＲＡＭ２に格納された後、メイン制御部５からリード・ライト部４へ送られ、リード・ライト部４によって符号化された書き込みデータは、ヘッドＩＣ３を経由して磁気ヘッド１３によって磁気ディスク９に書き込まれる。
【００３１】
そして、磁気ヘッド１３が、磁気ディスク９の物理セクタのリード（読み取り）の際、エラーが発生することもある。エラーが発生する例としては、リード時にクロストーク(隣接トラック信号の干渉)を受けた場合や、ライト時に途中から磁気ヘッド１３がずれて隣接トラックに近接する位置まで記録してしまった場合などがある。
【００３２】
この場合、本実施の形態にかかるハードディスクドライブ装置１００では、１本のトラックを、リトライ時に少しずつオフセットさせながら何回かリードがなされる。具体的には、リード・ライト部４のリード・ライトブロック３２の制御により、あるトラックをリードしてエラーとなった場合、リトライ時に磁気ヘッド１３をオフセットさせてリードし、それでもエラーとなったら、また別の方向に磁気ヘッド１３をオフセットさせてリードを行う。
【００３３】
そして、本実施の形態にかかるハードディスクドライブ装置１００では、通常リード、及びリトライのリードで、全てエラーになった場合に、通常リード及びリトライのリードで読み出されたデータのうち、区間毎にノイズ量が少ないデータを選択、結合することで、エラーではないデータを生成し、リードエラーが生じた場合のリトライの復号性能を高めることとした。
【００３４】
図３は、クロストークを受けたことでエラーが生じた場合に行われる、リトライを示した説明図である。図３に示した例では、通常のリード３０１で、読み取りエラーが生じたものとする。この場合、本実施の形態にかかるハードディスクドライブ装置１００では、磁気ディスク９に対する読み取りのリトライ動作を行う。その際、サーボブロック３１が、磁気ヘッド１３をオフセットして、リード・ライトブロック３２が同一セクタに対して、複数回データをリードする。
【００３５】
本実施の形態においては、サーボブロック３１が磁気ヘッド１３をオフセットした上で、リード・ライトブロック３２が、リトライによる１回目のリード３０２と、リトライによる２回目のリード３０３と、を行う。
【００３６】
本実施の形態においては、通常のリードの他にリトライによる２回のリードを行う例について説明したが、リトライ回数を２回に制限するものではなく、１回又は３回以上であっても良い。
【００３７】
具体的に、図３に示す例においては、リード対象のトラックにおいて、隣接トラック１からのクロストークが線３０４のように、隣接トラック２からのクロストークが線３０５のように及ぼしている。このため、ハードディスクドライブ装置１００では、通常リード３０１による、リード対象のトラックの中心のリードで、リードエラーが生じた。そこで、リード・ライトブロック３２は、リトライ動作で、磁気ヘッド１３のリードする位置をずらすようオフセットをかけてリードを行わせる。
【００３８】
図３に示す例では、線３０４及び線３０５のようなクロストークを受けるため、１セクタ内の区間１においては、リトライによる２回目のリード３０３によるデータが、区間２においては通常リード３０１によるデータが、区間３においては、リトライによる１回目のリード３０２によるデータが、ノイズ量が少ないデータと考えられる。そこで、本実施の形態にかかるリード・ライトブロック３２では、区間毎にノイズ量の少ないデータを選択・抽出し、抽出されたデータを結合することで、１セクタ内のリードデータを生成する。
【００３９】
なお、セクタ内に含まれる区間の数は、実際に用いられる磁気ディスクに応じて、適切な数を設定するものとする。
【００４０】
図４は、リード・ライトブロック３２内における、読み取ったデータを処理するための構成を示したブロック図である。図４に示すように、リード・ライトブロック３２内には、ＡＤＣ４０１と、ＦＩＲフィルタ４０２と、ビタビ復号器４０３と、復号結果格納メモリ４０４と、ＰＲターゲット４０５と、理想波形算出回路４０６と、ノイズ量算出回路４０７と、ノイズ量格納メモリ４０８と、選択回路４０９と、ＭＵＸ４１０と、ＥＣＣ４１１とを備えている。そして、本実施の形態にかかるリード・ライトブロック３２では、上述した構成に基づいて、各々のリード時のビタビアルゴリズムによる復号結果を保持し、保持した復号結果から、一セクタを分割した区間毎に、ノイズ量が少ない復号結果（復号されたデータ）を選択し、選択された復号結果の結合及び出力を行う。
【００４１】
なお、本実施の形態にかかるリード・ライトブロック３２では、リードした信号処理のアルゴリズムとして、ＰＲＭＬ（Partial  Response  Maximum  Likelihood）方式を用いている。つまり、ＦＩＲフィルタ４０２、及びビタビ復号器４０３による処理で、磁気ディスク９からリードされたデータが‘１’又は‘０’を判定する。
【００４２】
ＡＤＣ（Analog  Digital  Converter）４０１は、ヘッドＩＣ３により増幅された信号に対してサンプリングを行い、リードデータ系列を生成する。
【００４３】
リードデータ系列とは、読み取りのターゲットとなっている物理セクタ内で、磁気ヘッド１３が読み出したデータの推移を示したデータとする。
【００４４】
リードデータ系列の流れは、同一物理セクタに対して磁気ヘッド１３により行われたリード回数だけ存在する。本実施の形態においては、図４に示すように、リードデータの流れとして、通常リードによるリードデータ系列の流れ４５１と、リトライによる１回目のリードデータ系列の流れ４５２と、リトライによる２回目のリードデータ系列の流れ４５３とが存在する。
【００４５】
ＦＩＲ(Finite  Impulse  Response)フィルタ４０２は、各リードデータ系列に対して、フィルタリングを行うことで、波形等化を行う。
【００４６】
ビタビ（Viterbi）復号器４０３は、波形等化された後の各リードデータ系列に対して、ビタビアルゴリズムによる最尤復号（以下、ビタビ復号とする）を行う。これにより各リードデータ系列について硬判定がなされ、最も確からしい系列が生成される。これにより、誤りがある程度訂正されることになる。
【００４７】
復号結果格納メモリ４０４は、ビタビ復号器４０３による、各リードデータ系列の硬判定結果（リードデータ系列のビタビ復号結果）を記憶する。なお、本実施の形態にかかる復号結果格納メモリ４０４は、１セクタ分のリードデータ系列を３個分保持する容量があればよい。
【００４８】
ＰＲ（Partial  Response）ターゲット４０５は、ＦＩＲフィルタ４０２でフィルタリングするために用いたパラメータを保持している。
【００４９】
理想波形算出回路４０６は、ビタビ復号された各リードデータ系列のそれぞれについて、ＰＲターゲット４０５に格納されているパラメータを用いて畳み込み演算を行うことで、リードデータ系列毎の理想波形を算出する。これにより、理想波形とは、擬似的に再現した元の波形信号であって、換言すれば、畳み込み演算で畳み込まれた畳込波形信号とする。
【００５０】
そして、擬似的に再現された元の信号と、実際の信号とを比較すれば、ビタビ復号された各リードデータ系列が適切か否か判定することが可能となる。つまり、擬似的に再現された元の波形信号と、実際の信号との差分が大きければ、ビタビ復号されたリードデータ系列が誤っている可能性が高いことを意味する。
【００５１】
そこで、ノイズ量算出回路４０７が、各リードデータ系列について、算出された理想波形と、ＦＩＲフィルタ４０２で波形等化され且つビタビ復号前のリードデータ系列と、の差分から、ノイズ量を算出する。
【００５２】
ノイズ量の算出手法について説明する。まず、通常リード又はリトライによるリードの区間ｗ（ｗはセクタ内の区間を特定する１，２などの数値とする）の総ノイズ量Ｎwと定義する。そして区間ｗ内で、理想波形と波形等化されたリードデータ系列との差分を求めるサンプル点ｋがａ〜ｂだけ存在する。この場合、サンプル点ｋ（ａ〜ｂ）におけるノイズ量ｎkは、以下に示す式（１）で表すことができる。なお、ｙkは、サンプル点ｋにおけるＦＩＲフィルタで波形等化されたリードデータ系列を示す。そして、ｘkは、サンプル点ｋにおける理想波形を示す。
ｎk＝ｙk―ｘk……（１）
【００５３】
式（１）によって、ＦＩＲフィルタによって波形等化されたリードデータ系列と、畳み込み演算によって得られる理想波形と、の差分に基づいて、各サンプル点でのノイズ量を算出できる。そして、サンプル点ｋのノイズ量ｎｋを算出した後、区間ｗの総ノイズ量を、以下に示す式（２）で算出する。
【００５４】
【数１】
2010267346.tif 000003
【００５５】
上述した式（２）により、リード結果（リードデータ系列）毎の総ノイズ量Ｎwから、区間毎に適切なリードデータ系列を特定できる。
【００５６】
そして、ノイズ量格納メモリ４０８が、算出された総ノイズ量を、リード結果（リードデータ系列）毎に格納する。本実施の形態にかかるノイズ量格納メモリ４０８は、各リードデータ系列（読み取った回数分のリードデータ系列）の総ノイズ量を、１セクタ分記憶できるだけの記憶容量を保持すればよい。
【００５７】
図５は、リード結果毎の各区間のノイズ量の変化を示した図である。縦軸は、算出されたノイズ量の逆数であり、横軸がセクタ内の位置とする。なお、図５に示すノイズ量は、図３で示したクロストークの影響を受けることで生じているものとする。つまり、各リード結果において、ノイズ量が低いところはクロストークの影響が小さく、ノイズ量が高いところはクロストークの影響が大きいことを意味する。
【００５８】
そこで、本実施の形態にかかるハードディスクドライブ装置１００においては、通常のリード結果、及びリトライによるリード結果のうち、区間毎に算出された総ノイズ量から、ノイズ量が少ないリード結果を区間毎に選択する。そして選択されたリード結果に対応するビタビ復号されたリードデータ系列は、後段の回路（例えば、ＭＵＸ４１０等）に出力される。
【００５９】
図５に示す例では、区間１はリトライによる２回目のリード結果５０３を、区間２は通常リード結果５０１を、区間３はリトライによる１回目のリード結果５０２を、後述する選択回路４０９が選択することで、クロストークの影響を避けた復号結果を得ることができる。
【００６０】
図４に戻り、選択回路４０９は、ノイズ量格納メモリ４０８に格納された、各リード結果（リードデータ系列）の区間毎の総ノイズ量から、最もノイズ量の低い、換言すれば読み取り結果として最も確からしいリードデータ系列を区間毎に選択する。なお、本実施の形態においては、予め定められた指標として、ノイズ量を用いたが、他の値を用いても良い。
【００６１】
ＭＵＸ４１０は、復号結果格納メモリ４０４に格納されている、リードデータ系列のビタビ復号結果のうち、選択回路４０９により選択された区間毎のリードデータ系列の復号結果を結合して、物理セクタから読み出したリードデータ系列の復号結果として、ＥＣＣ４１１に出力する。
【００６２】
ＥＣＣ（Error  Correcting  Code）４１１は、入力されたリードデータ系列のビタビ復号結果に対して、エラー検出訂正をおこなった後、図１のメイン制御部５に対して出力する。
【００６３】
なお、本実施の形態にかかるハードディスクドライブ装置１００では、必要なメモリとして、（１）ＦＩＲ出力系列で１〜２セクタ分、（２）ビタビ出力系列（復号結果格納メモリ４０４）でリトライを行なう回数分、及び（３）ノイズ系列（ノイズ量格納メモリ４０８）としてリトライを行なう回数分が必要となる。
【００６４】
ところで、現在、主流となりつつあるＥＣＣ４１１としてのＬＤＰＣ符号を行うハードディスクドライブ装置では、ビタビ復号とＬＤＰＣ復号のパイプライン処理を行なったり、ＬＤＰＣ復号での復号遅延によるレイテンシを吸収するために、軟判定されたビタビ復号出力を数セクタ〜数十セクタ分格納できるメモリを必要とする。
【００６５】
また、ＬＤＰＣ復号の途中演算結果を格納するためにも膨大なメモリが必要となる。本実施の形態にかかるハードディスクドライブ装置１００のリトライ時は、これらのメモリ領域をすべて使うことは事実上ない。したがって、本実施の形態のハードディスクドライブ装置１００で必要な（１）〜（３）のメモリは、ＬＤＰＣ符号のために用意されたメモリ領域の一部を共用することで足りる。
【００６６】
また、本実施の形態にかかるハードディスクドライブ装置１００で、リトライを行うのは、クロストークを受けた場合に制限する技術ではなく、例えば、ライト時にヘッドがずれた場合についても適用することができる。図６は、ライト時にヘッドがずれてしまった場合のリトライ手法を示した図である。図６に示すように、ライト時の磁気ヘッド１３の軌跡が符号６０１で示されるようになったものとする。この場合、サーボブロック３１が磁気ヘッド１３をオフセットさせながら、リード・ライトブロック３２がリトライで複数回リードを行なう。この結果、通常のリード６０２の他に、リトライによるリード６０３及びリード６０４が行われる。後は、上述したクロストークを受けた場合と同様に、リードによって得られたリードデータ系列に対してビタビ復号を行い、ビタビ復号結果からノイズ量を求めて、ノイズ量の低い復号結果だけを選択する。これにより、ライト時の軌跡がずれた場合についても、復号性能を改善することができる。
【００６７】
次に、本実施の形態にかかるハードディスクドライブ装置１００における、リトライに基づく複数回のデータ読み取り処理について説明する。図７は、本実施の形態にかかるハードディスクドライブ装置１００における上述した処理の手順を示すフローチャートである。なお、本フローチャートにおいては、通常リード及びリトライ時のリードのそれぞれエラーが生じたものとする。
【００６８】
まずは、リード・ライトブロック３２が、ヘッドＩＣ３を介して、磁気ディスク９上の物理セクタに対して、アナログ信号の読み取り制御を行う（ステップＳ７０１）。
【００６９】
次に、ＡＤＣ４０１が、ヘッドＩＣ３から入力されたアナログ信号を、リードデータ系列に変換する（ステップＳ７０２）。
【００７０】
その後、ＦＩＲフィルタ４０２が、変換されたリードデータ系列に対して、フィルタリングを行うことで、波形等化を行う（ステップＳ７０３）。
【００７１】
そして、ビタビ復号器４０３が、波形等化された後のリードデータ系列に対して、ビタビ復号を行う（ステップＳ７０４）。その後、復号結果格納メモリ４０４に、リードデータ系列のビタビ復号結果が記憶される（ステップＳ７０５）。
【００７２】
また、理想波形算出回路４０６は、ＰＲターゲット４０５を用いて、ビタビ復号されたリードデータ系列に畳み込み演算を行うことで、理想波形を算出する（ステップＳ７０６）。
【００７３】
その後、ノイズ量算出回路４０７が、算出された理想波形と、ＦＩＲフィルタ４０２で波形等化され且つビタビ復号前のリードデータ系列とから、ノイズ量を算出する（ステップＳ７０７）。
【００７４】
そして、ノイズ量格納メモリ４０８が、算出された総ノイズ量を記憶する（ステップＳ７０８）。
【００７５】
その後、リード・ライト部４が、当該セクタに対してさらに読み取りを行うか否か判定する（ステップＳ７０９）。読み取りを行うと判定した場合（ステップＳ７０９：Ｙｅｓ）、サーボブロック３１が、磁気ヘッド１３のオフセットを行う（ステップＳ７１０）。その後、ステップＳ７１０から再び読取制御を行う。なお、本実施の形態においては、通常リードの他、リトライによるリードを２回行うものとする。
【００７６】
一方、リード・ライト部４が、さらに読み取りを行わないと判定した場合（ステップＳ７０９：Ｎｏ）、選択回路４０９が、区間毎に、ノイズ量の少ないと判断された、リードデータ系列の復号結果を選択する（ステップＳ７１１）。その後、ＭＵＸ４１０が、選択された区間毎のリードデータ系列の復号結果を結合し、物理セクタのリードデータ系列の復号結果として出力する（ステップＳ７１２）。
【００７７】
上述した処理手順により区間毎にノイズ量が少ないリードデータ系列の復号結果で結合されたデータ系列が出力されることになる。
【００７８】
なお、本実施の形態にかかるハードディスクドライブ装置１００では、通常リードの他に２回のリトライリードを行うものとしたが、リトライ回数を制限するものではない。リトライを行う回数は、合計２回以下又は３回より多くても良く、ハードディスクドライブ装置がリードデータ系列の復号結果やノイズを格納するメモリ容量に基づいて決定するなどが考えられる。
【００７９】
なお、本実施の形態にかかるハードディスクドライブ装置１００では、１セクタを分割する区間のデータ長は、予め定められたサイズとするが、動的にデータ長を変更してもよい。
【００８０】
本実施の形態にかかるハードディスクドライブ装置１００では、ノイズ量が少ない区分のリードデータ系列を結合、出力を行うことで、一セクタ分のノイズ量が少ないリードデータ系列を提供できるので、読み取りリトライ時のエラー修復の確率を向上させることができる。
【００８１】
本実施の形態にかかるハードディスクドライブ装置１００では、クロストークの影響や、ライト時に記録位置がずれることによって信号成分が劣化しエラーレートが悪くなるような状況でも、このリトライ方法によってエラーレートを改善する。
【００８２】
また、本実施の形態にかかるハードディスクドライブ装置１００では、フィルタリング後のリードデータ系列と、理想波形信号との差分に基づいて、リードデータ系列のビタビ復号結果を選択することで、従来技術と比べて、適切なビタビ復号結果を選択できる。
【００８３】
また、上述した各実施の形態に限定されるものではなく、以下に例示するような種々の変形が可能である。
【００８４】
（変形例１）
上述した第１の実施の形態では、フィルタリング後のリードデータ系列と、理想波形信号との差分として、ノイズ量を用いたが、他のパラメータを用いても良い。そこで、変形例として、Ｓ／Ｎ比を適用する場合が考えられる。この場合、上述した実施の形態と同様の手法でノイズ量が算出できるので、Ｓ／Ｎ比を算出することができる。
【００８５】
また、差分としてノイズ量やＳ／Ｎ比を算出する以外の手法を用いても良く、フィルタリング後のリードデータ系列と、理想波形信号との差分として、例えば信号電力を算出しても良い。
【００８６】
なお、上述した実施の形態にかかるハードディスクドライブ装置１００で実行されるコントロールプログラムは、ＲＯＭ等に予め組み込まれて提供される。
【００８７】
上述した実施の形態にかかるハードディスクドライブ装置１００で実行されるコントロールプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００８８】
さらに、上述した実施の形態にかかるハードディスクドライブ装置１００で実行されるコントロールプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述した実施の形態にかかるハードディスクドライブ装置１００で実行されるコントロールプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００８９】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【００９０】
１  ＨＤＣ
２  バッファＲＡＭ
３  ヘッドＩＣ
４  リード・ライト部
５  メイン制御部
６  モータドライバ
７  ＶＣＭ
８  ＳＰＭ
９  磁気ディスク
１０  ＲＡＭ
１１  ＲＯＭ
１２  軸
１３  磁気ヘッド
１４  アーム
２０  伝送路
２１  ホストシステム
３１  サーボブロック
３２  リード・ライトブロック
４１  ＭＰＵ
４２  バッファブロック
４３  ホストブロック
１００  ハードディスクドライブ装置
４０１  ＡＤＣ
４０２  ＦＩＲフィルタ
４０３  ビタビ復号器
４０４  復号結果格納メモリ
４０５  ＰＲターゲット
４０６  理想波形算出回路
４０７  ノイズ量算出回路
４０８  ノイズ量格納メモリ
４０９  選択回路
４１０  ＭＵＸ
４１１  ＥＣＣ
【図１】
2010267346.tif 000004
【図２】
2010267346.tif 000005
【図３】
2010267346.tif 000006
【図４】
2010267346.tif 000007
【図５】
2010267346.tif 000008
【図６】
2010267346.tif 000009
【図７】
2010267346.tif 000010
【手続補正書】
【提出日】平成21年12月28日(2009.12.28)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
ハードディスクドライブ装置において、データは物理セクタ単位で書き込まれる。そして、当該物理セクタからデータの読み取りで、エラーが発生した場合、読み取ったデータに対してＥＣＣによるエラー訂正を行う。そして、ＥＣＣによるエラー訂正ができなかった場合に、同一の物理セクタに対して再度読み取り処理を行う。当該処理は、リトライと呼ばれる。なお、ＥＣＣで訂正できないエラーになる原因には、例えば隣接するトラックの影響等、さまざまな要因が考えられる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
【図１】図１は、本実施の形態にかかるハードディスクドライブ装置のハードウェア構成を示した図である。
【図２】図２は、磁気ディスクの構造を示した概念図である。
【図３】図３は、本実施の形態にかかるハードディスクドライブ装置で、クロストークを受けたことで、ＥＣＣで訂正できないエラーが生じた場合に行われる、リトライを示した説明図である。
【図４】図４は、本実施の形態にかかるハードディスクドライブ装置のリード・ライトブロック内における、読み取ったデータを処理するための構成を示したブロック図である。
【図５】図５は、本実施の形態にかかるハードディスクドライブ装置における、リード結果毎の各区間のノイズ量の変化を示した図である。
【図６】図６は、本実施の形態にかかるハードディスクドライブ装置における、ライト時にヘッドがずれてしまった場合のリトライ手法を示した図である。
【図７】図７は、本実施の形態にかかるハードディスクドライブ装置における、リトライに基づく複数回のデータ読み取り処理の手順を示すフローチャートである。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
そして、磁気ヘッド１３が、磁気ディスク９の物理セクタのリード（読み取り）の際、ＥＣＣで訂正できないエラーが発生することもある。ＥＣＣで訂正できないエラーが発生する例としては、リード時にクロストーク(隣接トラック信号の干渉)を受けた場合や、ライト時に途中から磁気ヘッド１３がずれて隣接トラックに近接する位置まで記録してしまった場合などがある。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
この場合、本実施の形態にかかるハードディスクドライブ装置１００では、１本のトラックを、リトライ時に少しずつオフセットさせながら何回かリードがなされる。具体的には、リード・ライト部４のリード・ライトブロック３２の制御により、あるトラックをリードして、ＥＣＣで訂正できないエラーとなった場合、リトライ時に磁気ヘッド１３をオフセットさせてリードし、それでもＥＣＣで訂正できないエラーとなったら、また別の方向に磁気ヘッド１３をオフセットさせてリードを行う。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
そして、本実施の形態にかかるハードディスクドライブ装置１００では、通常リード、及びリトライのリードで、全てＥＣＣで訂正できないエラーになった場合に、通常リード及びリトライのリードで読み出されたデータのうち、区間毎にノイズ量が少ないデータを選択、結合することで、エラーではない又は修正可能なデータを生成し、ＥＣＣで訂正できないエラーが生じた場合のリトライの復号性能を高めることとした。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
図３は、クロストークを受けたことで、ＥＣＣで訂正できないエラーが生じた場合に行われる、リトライを示した説明図である。図３に示した例では、通常のリード３０１で、ＥＣＣで訂正できないエラーが生じたものとする。この場合、本実施の形態にかかるハードディスクドライブ装置１００では、磁気ディスク９に対する読み取りのリトライ動作を行う。その際、サーボブロック３１が、磁気ヘッド１３をオフセットして、リード・ライトブロック３２が同一セクタに対して、複数回データをリードする。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
具体的に、図３に示す例においては、リード対象のトラックにおいて、隣接トラック１からのクロストークが線３０４のように、隣接トラック２からのクロストークが線３０５のように及ぼしている。このため、ハードディスクドライブ装置１００では、通常リード３０１による、リード対象のトラックの中心のリードで、ＥＣＣで訂正できないエラーが生じた。そこで、リード・ライトブロック３２は、リトライ動作で、磁気ヘッド１３のリードする位置をずらすようオフセットをかけてリードを行わせる。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
理想波形算出回路４０６は、ビタビ復号された各リードデータ系列のそれぞれについて、ＰＲターゲット４０５に格納されているパラメータを用いて畳み込み演算を行うことで、リードデータ系列毎の理想波形を算出する。これにより、理想波形とは、ビタビ複合結果から再現した再生波形信号であって、換言すれば、畳み込み演算で畳み込まれた畳込波形信号とする。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
そして、ビタビ複合結果から再現された再生波形信号と、実際の信号とを比較すれば、ビタビ復号された各リードデータ系列が適切か否か判定することが可能となる。つまり、ビタビ複合結果から再現された再生波形信号と、実際の信号との差分が大きければ、ビタビ復号されたリードデータ系列が誤っている可能性が高いことを意味する。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
次に、本実施の形態にかかるハードディスクドライブ装置１００における、リトライに基づく複数回のデータ読み取り処理について説明する。図７は、本実施の形態にかかるハードディスクドライブ装置１００における上述した処理の手順を示すフローチャートである。なお、本フローチャートにおいては、通常リード及びリトライ時のリードのそれぞれで、ＥＣＣで訂正できないエラーが生じたものとする。
【手続補正書】
【提出日】平成22年4月6日(2010.4.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
上述した課題を解決し、目的を達成するために、本発明にかかるディスクコントローラは、磁気ディスクに対する読み取りのリトライ動作の時に、当該磁気ディスクから読み取りを行うヘッドをオフセットしながら、ある領域に対して読み取りを複数回行う読取手段と、読み取り結果である複数の読取データから、前記領域のデータサイズより短いデータ長毎に、予め定められた指標に基づいて、データを選択する選択手段と、前記データ長毎に、選択された前記データを結合する結合手段と、を備えることを特徴とする。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
また、本発明にかかるハードディスクドライブ装置は、磁気ディスクに対する読み取りのリトライ動作の時に、当該磁気ディスクから読み取りを行うヘッドをオフセットしながら、ある領域に対して読み取りを複数回行う読取手段と、読み取り結果である複数の読取データから、前記領域のデータサイズより短いデータ長毎に、予め定められた指標に基づいて、データを選択する選択手段と、前記データ長毎に、選択された前記データを結合する結合手段と、を備えることを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
また、本発明にかかるディスク制御方法は、磁気ディスクに対する読み取りのリトライ動作の時に、当該磁気ディスクから読み取りを行うヘッドをオフセットしながら、ある領域に対して読み取りを複数回行う読取ステップと、読み取り結果である複数の読取データから、前記領域のデータサイズより短いデータ長毎に、予め定められた指標に基づいて、データを選択する選択ステップと、前記データ長毎に、選択された前記データを結合する結合ステップと、を有することを特徴とする。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
磁気ディスクに対する読み取りのリトライ動作の時に、当該磁気ディスクから読み取りを行うヘッドをオフセットしながら、ある領域に対して読み取りを複数回行う読取手段と、
読み取り結果である複数の読取データから、前記領域のデータサイズより短いデータ長毎に、予め定められた指標に基づいて、データを選択する選択手段と、
前記データ長毎に、選択された前記データを結合する結合手段と、
を備えることを特徴とするディスクコントローラ。
【請求項２】
前記選択手段は、
読み取り結果である複数の読取データに対して、ビタビアルゴリズムによる最尤復号を行う復号手段と、
復号された前記複数の読取データを記憶する記憶手段と、
前記最尤復号前の読取データを表した波形信号を算出するために、前記復号手段により復号された読取データのそれぞれに対して畳み込みを行う波形算出手段と、
読取データのそれぞれについて、前記波形信号と、読出結果であって最尤復号を行う前の前記読取データと、の差分を算出する差分算出手段と、をさらに備え、
前記選択手段は、前記差分に基づいて、データを選択すること、
を特徴とする請求項１に記載のディスクコントローラ。
【請求項３】
前記波形算出手段は、前記波形信号と、最尤復号を行う前の前記読取データとから、差分としてノイズ成分を算出すること、
を特徴とする請求項２に記載のディスクコントローラ。
【請求項４】
前記波形算出手段は、前記波形信号と、最尤復号を行う前の前記読取データとから、差分として信号電力を算出すること、
を特徴とする請求項２に記載のディスクコントローラ。
【請求項５】
前記波形算出手段は、前記波形信号と、最尤復号を行う前の前記読取データとから、差分として信号電力又はＳ／Ｎ比を算出すること、
を特徴とする請求項２に記載のディスクコントローラ。
【請求項６】
読み取り結果である複数の読取データのそれぞれに対して、所定のパラメータを用いてＦＩＲ(Finite  Impulse  Response)フィルタを行うフィルタリング手段と、をさらに備え、
前記復号手段は、フィルタリングされた後の読取データのそれぞれに対して、ビタビアルゴリズムによる最尤復号を行い、
前記波形算出手段は、復号前の読取データを表した前記波形信号を算出するために、前記復号手段により最尤復号された前記複数の読取データのそれぞれに対して前記フィルタリング手段で用いられた前記所定のパラメータを用いた畳み込むこと、
を特徴とする請求項２乃至５のいずれか一つに記載のディスクコントローラ。
【請求項７】
前記読取手段は、前記磁気ディスクの前記領域として、物理セクタに対してデータの読み取りを行い、
前記選択手段は、前記物理セクタを分割した区間毎に、データを選択すること、
を特徴とする請求項１乃至５のいずれか一つに記載のディスクコントローラ。
【請求項８】
磁気ディスクに対する読み取りのリトライ動作の時に、当該磁気ディスクから読み取りを行うヘッドをオフセットしながら、ある領域に対して読み取りを複数回行う読取手段と、
読み取り結果である複数の読取データから、前記領域のデータサイズより短いデータ長毎に、予め定められた指標に基づいて、データを選択する選択手段と、
前記データ長毎に、選択された前記データを結合する結合手段と、
を備えることを特徴とするハードディスクドライブ装置。
【請求項９】
磁気ディスクに対する読み取りのリトライ動作の時に、当該磁気ディスクから読み取りを行うヘッドをオフセットしながら、ある領域に対して読み取りを複数回行う読取ステップと、
読み取り結果である複数の読取データから、前記領域のデータサイズより短いデータ長毎に、予め定められた指標に基づいて、データを選択する選択ステップと、
前記データ長毎に、選択された前記データを結合する結合ステップと、
を有することを特徴とするディスク制御方法。