(57)【要約】【課題】  データライトの信頼性を向上する磁気ディスク装置、調整方法、及び製造方法を提供することである。【解決手段】  本実施形態に係る調整方法は、ディスクと、前記ディスクに対してライトするヘッドと、前記ヘッドによりライトされるライトデータ及び前記ライトデータに関する制御信号を出力するコントローラと、前記ヘッドにライト電流を出力する集積回路と、を備える磁気ディスク装置に適用され、前記ライトデータ又は前記制御信号の何れかのビットの極性反転のタイミングに記録補償にかかるディレイを加え、前記ディレイが加えられた前記ライトデータおよび前記制御信号を前記コントローラから前記集積回路に出力し、前記制御信号に応じて、前記ライトデータの前記極性反転のタイミングの内のあるタイミングで電流値を変更したライト電流を前記集積回路から前記ヘッドに出力し、前記出力したライト電流に基づいて、前記ライトデータと前記制御信号との間に生じたずれを調整する。【選択図】図１
2018049677.tif 000002
【特許請求の範囲】
【請求項１】
ディスクと、前記ディスクに対してライトするヘッドと、前記ヘッドによりライトされるライトデータ及び前記ライトデータに関する制御信号を出力するコントローラと、前記ヘッドにライト電流を出力する集積回路と、を備える磁気ディスク装置に適用する調整方法であって、
前記ライトデータ又は前記制御信号の何れかのビットの極性反転のタイミングに記録補償にかかるディレイを加え、
前記ディレイが加えられた前記ライトデータおよび前記制御信号を前記コントローラから前記集積回路に出力し、
前記制御信号に応じて、前記ライトデータの前記極性反転のタイミングの内のあるタイミングで電流値を変更したライト電流を前記集積回路から前記ヘッドに出力し、
前記出力したライト電流に基づいて、前記ライトデータと前記制御信号との間に生じたずれを調整する、調整方法。
【請求項２】
前記集積回路で前記ライト電流の電流値の変更の実行結果を生成し、
前記実行結果を前記集積回路から前記コントローラに出力する、請求項１に記載の調整方法。
【請求項３】
第１ビットパターンの前記ライトデータ、及び前記第１ビットパターンに対応する前記制御信号を前記コントローラから前記集積回路に出力し、
前記集積回路で前記ライト電流の電流値を変更したタイミングにおける前記第１ビットパターンに対応する第２ビットパターンを検出し、
前記集積回路で前記第１ビットパターンと前記第２ビットパターンとを比較し、
前記第１ビットパターンと前記第２ビットパターンとが一致しているか否かを示す第１情報を前記集積回路から前記コントローラに出力する、
前記コントローラで前記第１情報に応じて、前記ライトデータと前記制御信号との間に生じさせる前記ずれを調整する、請求項２に記載の調整方法。
【請求項４】
電流値の変更を実行する予定の前記ライトデータのビット数を示す第１値を前記コントローラから前記集積回路に出力し、
前記集積回路で前記ライト電流の電流値を変更した前記ライトデータのビット数を第２値としてカウントし、
前記集積回路で前記第１値と前記第２値とを比較し、
前記第１値と前記第２値とが一致しているか否かを示す第１情報を前記集積回路から前記コントローラに出力する、
前記コントローラで前記第１情報に応じて、前記ライトデータと前記制御信号との間に生じさせる前記ずれを調整する、請求項２に記載の調整方法。
【請求項５】
前記コントローラで記録補償により前記ライトデータの極性反転の反転間隔が最も短くなる第１ディレイを前記ライトデータに加え、
前記コントローラで、前記第１ディレイを加えた前記ライトデータの前記極性反転のタイミングの内の立ち上がりのタイミングに応じて設定された第２ディレイを前記制御信号に加え、
前記第１ディレイを加えた前記ライトデータと前記第２ディレイを加えた前記制御信号とを前記コントローラから前記集積回路に出力し、
前記集積回路で前記制御信号に応じて、前記ライトデータの立ち上がりのタイミングで前記ライト電流の電流値を変更し、
前記集積回路で前記ライトデータの立ち上がりのタイミングで、前記制御信号の論理値を検出し、
前記ライトデータの立ち上がりのタイミングにおける前記制御信号の論理値を示す第１情報を前記集積回路から前記コントローラに出力する、請求項２に記載の調整方法。
【請求項６】
前記コントローラで前記第２ディレイに一定値を加算した第３ディレイを前記制御信号に加え、
前記第１ディレイを加えた前記ライトデータと前記第３ディレイを加えた前記制御信号とを前記コントローラから前記集積回路に出力し、
前記集積回路で前記第３ディレイを加えた前記制御信号に応じて、前記ライトデータの前記極性反転のタイミングの内の立ち上がりのタイミングで前記ライト電流の電流値を変更し、
前記集積回路で前記ライトデータの立ち上がりのタイミングで、前記第３ディレイを加えた前記制御信号の論理値をそれぞれ検出し、
前記ライトデータの立ち上がりのタイミングにおける前記第３ディレイを加えた前記制御信号の論理値を示す第２情報を前記集積回路から前記コントローラに出力し、
前記一定値ずつ増加させたディレイを加えた前記制御信号と前記第１ディレイを加えた前記ライトデータと基づいて、前記ライトデータの立ち上がりのタイミングにおける前記第３ディレイを加えた前記制御信号の論理値を示す情報を前記集積回路から前記コントローラに出力する処理を繰り返し、
前記コントローラで前記制御信号に加えた前記一定値ずつ増加させたディレイと前記制御信号の論理値を示す情報との関係を示す第１プロファイルを生成し、
前記コントローラで前記第１プロファイルの内の前記制御信号が立ち上がっている区間におけるディレイの中央値を前記制御信号に加えるディレイの第１最適値に設定する、請求項５に記載の調整方法。
【請求項７】
前記コントローラで前記第１最適値を前記制御信号に加え、
前記コントローラで前記第１最適値を加えた前記制御信号に第４ディレイを加え、
前記第１ディレイを加えた前記ライトデータと前記第４ディレイ及び前記第１最適値を加えた前記制御信号とを前記コントローラから前記集積回路に出力し、
前記集積回路で前記第１ディレイを加えた前記ライトデータと前記第４ディレイ及び前記第１最適値を加えた前記制御信号とに基づく、第１ライト電流を前記集積回路から前記ヘッドに出力し、
前記コントローラで前記第１ライト電流に対応する第１データのビット誤り率を測定し、
前記一定値ずつ増加させたディレイ及び前記第１最適値を加えた前記制御信号と前記第１ディレイを加えた前記ライトデータと基づくライト電流を前記集積回路から前記ライトヘッドに出力する処理と、前記一定値ずつ増加させたディレイ及び前記第１最適値を加えた前記制御信号と前記第１ディレイを加えた前記ライトデータとに基づくライト電流に対応するデータのビット誤り率の測定する処理とを繰り返し、
前記コントローラで前記制御信号に加えた前記一定値ずつ増加させたディレイとビット誤り率との関係を示す第２プロファイルを生成し、
前記コントローラで前記第２プロファイルの内のビット誤り率が最も小さいディレイを前記制御信号に加えるディレイの第２最適値に設定する、請求項６に記載の調整方法。
【請求項８】
前記コントローラで記録補償により加えられる前記ディレイの最大値と最小値との中央値の第１ディレイをクロック信号である前記制御信号に加え、
前記コントローラで、前記第１ディレイを加えた前記制御信号の極性反転のタイミングが前記ライトデータの前記極性反転のタイミングに位置するように設定された第２ディレイを前記制御信号に加え、
前記ライトデータと前記第１ディレイ及び前記第２ディレイを加えた前記制御信号とを前記コントローラから前記集積回路に出力し、
前記集積回路で前記第１ディレイ及び前記第２ディレイを加えた前記制御信号の極性反転のタイミングで前記ライトデータのデータパターンを検出し、
前記集積回路で前記第１ディレイ及び前記第２ディレイを加えた前記制御信号の極性反転のタイミングで前記ライトデータのデータパターンを検出できたか否かを示す第１情報を前記集積回路から前記コントローラに出力する、請求項２に記載の調整方法。
【請求項９】
前記コントローラで前記第２ディレイに一定値を加算した第３ディレイを前記制御信号に加え、
前記ライトデータと前記第１ディレイ及び前記第３ディレイを加えた前記制御信号とを前記コントローラから前記集積回路に出力し、
前記集積回路で前記第１ディレイ及び前記第３ディレイを加えた前記制御信号の極性反転のタイミングで前記ライトデータのデータパターンを検出し、
前記集積回路で前記第１ディレイ及び前記第３ディレイを加えた前記制御信号の極性反転のタイミングで前記ライトデータのデータパターンを検出できたか否かを示す第２情報を前記集積回路から前記コントローラに出力し、
前記第１ディレイ及び前記一定値ずつ増加させたディレイを加えた前記制御信号の極性反転のタイミングで、前記ライトデータのデータパターンを検出できたか否かを示す情報を前記集積回路から前記コントローラに出力する処理を繰り返し、
前記コントローラで前記制御信号に加えた前記一定値ずつ増加させたディレイと前記ライトデータのデータパターンを検出できたか否かを示す情報との関係を示すプロファイルを生成し、
前記コントローラで前記プロファイルの内の前記ライトデータを検出できる区間におけるディレイの中央値を前記制御信号に加えるディレイの最適値に設定する、請求項８に記載の調整方法。
【請求項１０】
ディスクと、前記ディスクに対してライトするヘッドと、前記ヘッドによりライトされるライトデータ及び前記ライトデータに関する制御信号を出力するコントローラと、前記ヘッドにライト電流を出力する集積回路と、を備える磁気ディスク装置に適用する製造方法であって、
前記ライトデータ又は前記制御信号の何れかのビットの極性反転のタイミングに記録補償にかかるディレイを加え、
前記ディレイが加えられた前記ライトデータおよび前記制御信号を前記コントローラから前記集積回路に出力し、
前記制御信号に応じて、前記ライトデータの前記極性反転のタイミングの内のあるタイミングで電流値を変更したライト電流を前記集積回路から前記ヘッドに出力し、
前記出力したライト電流に基づいて、前記ライトデータと前記制御信号との間に生じたずれを調整する、製造方法。
【請求項１１】
前記集積回路で前記ライト電流の電流値の変更の実行結果を生成し、
前記実行結果を前記集積回路から前記コントローラに出力する、請求項１０に記載の製造方法。
【請求項１２】
第１ビットパターンの前記ライトデータ、及び前記第１ビットパターンに対応する前記制御信号を前記コントローラから前記集積回路に出力し、
前記集積回路で前記ライト電流の電流値を変更したタイミングにおける前記第１ビットパターンに対応する第２ビットパターンを検出し、
前記集積回路で前記第１ビットパターンと前記第２ビットパターンとを比較し、
前記第１ビットパターンと前記第２ビットパターンとが一致しているか否かを示す第１情報を前記集積回路から前記コントローラに出力する、
前記コントローラで前記第１情報に応じて、前記ライトデータと前記制御信号との間に生じさせる前記ずれを調整する、請求項１１に記載の製造方法。
【請求項１３】
電流値の変更を実行する予定の前記ライトデータのビット数を示す第１値を前記コントローラから前記集積回路に出力し、
前記集積回路で前記ライト電流の電流値を変更した前記ライトデータのビット数を第２値としてカウントし、
前記集積回路で前記第１値と前記第２値とを比較し、
前記第１値と前記第２値とが一致しているか否かを示す第１情報を前記集積回路から前記コントローラに出力する、
前記コントローラで前記第１情報に応じて、前記ライトデータと前記制御信号との間に生じさせる前記ずれを調整する、請求項１１に記載の製造方法。
【請求項１４】
前記コントローラで記録補償により前記ライトデータの極性反転の反転間隔が最も短くなる第１ディレイを前記ライトデータに加え、
前記コントローラで、前記第１ディレイを加えた前記ライトデータの前記極性反転のタイミングの内の立ち上がりのタイミングに応じて設定された第２ディレイを前記制御信号に加え、
前記第１ディレイを加えた前記ライトデータと前記第２ディレイを加えた前記制御信号とを前記コントローラから前記集積回路に出力し、
前記集積回路で前記制御信号に応じて、前記ライトデータの立ち上がりのタイミングで前記ライト電流の電流値を変更し、
前記集積回路で前記ライトデータの立ち上がりのタイミングで、前記制御信号の論理値を検出し、
前記ライトデータの立ち上がりのタイミングにおける前記制御信号の論理値を示す第１情報を前記集積回路から前記コントローラに出力する、請求項１１に記載の製造方法。
【請求項１５】
前記コントローラで前記第２ディレイに一定値を加算した第３ディレイを前記制御信号に加え、
前記第１ディレイを加えた前記ライトデータと前記第３ディレイを加えた前記制御信号とを前記コントローラから前記集積回路に出力し、
前記集積回路で前記第３ディレイを加えた前記制御信号に応じて、前記ライトデータの前記極性反転のタイミングの内の立ち上がりのタイミングで前記ライト電流の電流値を変更し、
前記集積回路で前記ライトデータの立ち上がりのタイミングで、前記第３ディレイを加えた前記制御信号の論理値をそれぞれ検出し、
前記ライトデータの立ち上がりのタイミングにおける前記第３ディレイを加えた前記制御信号の論理値を示す第２情報を前記集積回路から前記コントローラに出力し、
前記一定値ずつ増加させたディレイを加えた前記制御信号と前記第１ディレイを加えた前記ライトデータと基づいて、前記ライトデータの立ち上がりのタイミングにおける前記第３ディレイを加えた前記制御信号の論理値を示す情報を前記集積回路から前記コントローラに出力する処理を繰り返し、
前記コントローラで前記制御信号に加えた前記一定値ずつ増加させたディレイと前記制御信号の論理値を示す情報との関係を示す第１プロファイルを生成し、
前記コントローラで前記第１プロファイルの内の前記制御信号が立ち上がっている区間におけるディレイの中央値を前記制御信号に加えるディレイの第１最適値に設定する、請求項１４に記載の製造方法。
【請求項１６】
前記コントローラで前記第１最適値を前記制御信号に加え、
前記コントローラで前記第１最適値を加えた前記制御信号に第４ディレイを加え、
前記第１ディレイを加えた前記ライトデータと前記第４ディレイ及び前記第１最適値を加えた前記制御信号とを前記コントローラから前記集積回路に出力し、
前記集積回路で前記第１ディレイを加えた前記ライトデータと前記第４ディレイ及び前記第１最適値を加えた前記制御信号とに基づく、第１ライト電流を前記集積回路から前記ヘッドに出力し、
前記コントローラで前記第１ライト電流に対応する第１データのビット誤り率を測定し、
前記一定値ずつ増加させたディレイ及び前記第１最適値を加えた前記制御信号と前記第１ディレイを加えた前記ライトデータと基づくライト電流を前記集積回路から前記ライトヘッドに出力する処理と、前記一定値ずつ増加させたディレイ及び前記第１最適値を加えた前記制御信号と前記第１ディレイを加えた前記ライトデータとに基づくライト電流に対応するデータのビット誤り率の測定する処理とを繰り返し、
前記コントローラで前記制御信号に加えた前記一定値ずつ増加させたディレイとビット誤り率との関係を示す第２プロファイルを生成し、
前記コントローラで前記第２プロファイルの内のビット誤り率が最も小さいディレイを前記制御信号に加えるディレイの第２最適値に設定する、請求項１５に記載の製造方法。
【請求項１７】
前記コントローラで記録補償により加えられる前記ディレイの最大値と最小値との中央値の第１ディレイをクロック信号である前記制御信号に加え、
前記コントローラで、前記第１ディレイを加えた前記制御信号の極性反転のタイミングが前記ライトデータの前記極性反転のタイミングに位置するように設定された第２ディレイを前記制御信号に加え、
前記ライトデータと前記第１ディレイ及び前記第２ディレイを加えた前記制御信号とを前記コントローラから前記集積回路に出力し、
前記集積回路で前記第１ディレイ及び前記第２ディレイを加えた前記制御信号の極性反転のタイミングで前記ライトデータのデータパターンを検出し、
前記集積回路で前記第１ディレイ及び前記第２ディレイを加えた前記制御信号の極性反転のタイミングで前記ライトデータのデータパターンを検出できたか否かを示す第１情報を前記集積回路から前記コントローラに出力する、請求項１１に記載の製造方法。
【請求項１８】
前記コントローラで前記第２ディレイに一定値を加算した第３ディレイを前記制御信号に加え、
前記ライトデータと前記第１ディレイ及び前記第３ディレイを加えた前記制御信号とを前記コントローラから前記集積回路に出力し、
前記集積回路で前記第１ディレイ及び前記第３ディレイを加えた前記制御信号の極性反転のタイミングで前記ライトデータのデータパターンを検出し、
前記集積回路で前記第１ディレイ及び前記第３ディレイを加えた前記制御信号の極性反転のタイミングで前記ライトデータのデータパターンを検出できたか否かを示す第２情報を前記集積回路から前記コントローラに出力し、
前記第１ディレイ及び前記一定値ずつ増加させたディレイを加えた前記制御信号の極性反転のタイミングで、前記ライトデータのデータパターンを検出できたか否かを示す情報を前記集積回路から前記コントローラに出力する処理を繰り返し、
前記コントローラで前記制御信号に加えた前記一定値ずつ増加させたディレイと前記ライトデータのデータパターンを検出できたか否かを示す情報との関係を示すプロファイルを生成し、
前記コントローラで前記プロファイルの内の前記ライトデータを検出できる区間におけるディレイの中央値を前記制御信号に加えるディレイの最適値に設定する、請求項１７に記載の製造方法。
【請求項１９】
ディスクと、
前記ディスクに対してライトするヘッドと、
前記ヘッドによりライトするライトデータ及び前記ライトデータに関する制御信号を出力し、前記ライトデータ又は前記制御信号の何れかビットの極性反転のタイミングに記録補償にかかるディレイを加え、前記ディレイが加えられた前記ライトデータおよび前記制御信号を出力するコントローラと、
前記コントローラから入力された前記制御信号に応じて、前記コントローラから入力された前記ライトデータの前記極性反転のタイミングの内のあるタイミングで電流値を変更したライト電流を前記ヘッドに出力する集積回路と、を備え、
前記コントローラは、前記出力したライト電流に基づいて、前記ライトデータと前記制御信号との間に生じたずれを調整する、磁気ディスク装置。
【請求項２０】
前記集積回路は、前記ライト電流の電流値を変更した前記ライトデータのビット数をカウント値としてカウントし、電流値の変更を実行する予定の前記ライトデータのビット数を示す期待値と前記カウント値とを比較し、前記期待値と前記カウント値とが一致しているか否かを示す第１情報を生成し、前記第１情報を前記コントローラに出力する、請求項１９に記載の磁気ディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、磁気ディスク装置、調整方法、及び製造方法に関する。
【背景技術】
【０００２】
近年、磁気ディスク装置は、ライトデータのデータパターンに応じてライト電流の値を変更する機能を備えている。この機能は、例えば、Ｄａｔａ  Ｄｅｐｅｎｄｅｎｔ  Ｗｒｉｔｅ（ＤＤＷ）や、Ｐａｔｔｅｒｎ  Ｄｅｐｅｎｄｅｎｔ  Ｗｒｉｔｅ（ＰＤＷ）等と称される。この機能を備えていない通常の磁気ディスク装置は、リード／ライト（Ｒ／Ｗ）チャネルから出力されるライトデータのデータパターンに対応する一様なライト電流をヘッドアンプＩＣ（プリアンプ）がヘッドに出力する。これに対して、この機能を備えている磁気ディスク装置は、この機能を正常に実行するために、ライトデータのデータパターンとライト電流の値の変更を実行するための信号とを、少なくともヘッドアンプＩＣにおいて同期させる必要がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第８９２９０１３号明細書
【特許文献２】米国特許出願公開第２０１３／０１２８３７５号明細書
【特許文献３】米国特許第９０６４５３９号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施形態が解決しようとする課題は、データライトの信頼性を向上する磁気ディスク装置、調整方法、及び製造方法を提供することである。
【課題を解決するための手段】
【０００５】
本実施形態に係る調整方法は、ディスクと、前記ディスクに対してライトするヘッドと、前記ヘッドによりライトされるライトデータ及び前記ライトデータに関する制御信号を出力するコントローラと、前記ヘッドにライト電流を出力する集積回路と、を備える磁気ディスク装置に適用する調整方法であって、前記ライトデータ又は前記制御信号の何れかのビットの極性反転のタイミングに記録補償にかかるディレイを加え、前記ディレイが加えられた前記ライトデータおよび前記制御信号を前記コントローラから前記集積回路に出力し、前記制御信号に応じて、前記ライトデータの前記極性反転のタイミングの内のあるタイミングで電流値を変更したライト電流を前記集積回路から前記ヘッドに出力し、前記出力したライト電流に基づいて、前記ライトデータと前記制御信号との間に生じたずれを調整する。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態に係る磁気ディスク装置の構成を示すブロック図である。
【図２】図２は、システムコントローラにおけるライト系の構成例を示す模式図である。
【図３】図３（ａ）及び（ｂ）は、ライト補償処理の一例を説明するための図である。
【図４】図４は、ヘッドアンプＩＣにおけるライト系の構成例を示す模式図である。
【図５】図５（ａ）及び（ｂ）は、ＤＤＷ処理の一例を説明するための図である。
【図６】図６（ａ）及び（ｂ）は、ライト補償処理が実行されていない場合のＲ／ＷチャネルモードのＤＤＷ処理の一例を説明する図である。
【図７】図７（ａ）、（ｂ）、（ｃ）、（ｄ）、（ｅ）、及び（ｆ）は、ライト補償処理が実行されたライトデータとフェイズスキュを加えたＤＤＷ制御信号との一例を示す図である。
【図８】図８は、Ｒ／Ｗチャネルモードにおけるフェイズスキュの調整方法の一例を示す図である。
【図９】図９は、Ｒ／Ｗチャネルモードにおけるフェイズスキュの調整方法のフローチャートである。
【図１０】図１０は、ライトデータとＤＤＷ制御信号とのビットスキュの調整方法の一例を示す図である。
【図１１】図１１は、ライトデータとＤＤＷ制御信号とのビットスキュの調整方法の一例のフローチャートである。
【図１２】図１２は、第１実施形態に係る磁気ディスク装置の製造方法の一例のフローチャートである。
【図１３】図１３は、変形例１に係るパターン期待値と検出結果とが一致しているか一致していないかを示すステータスの生成方法の一例を示す図である。
【図１４】図１４は、変形例２に係るステータス生成部の構成の一例を示す図である。
【図１５】図１５（ａ）、（ｂ）、（ｃ）及び、（ｄ）は、変形例３に係る実際のライト時のワーストケースのＷＰＣディレイを加えたライトデータに対応するＤＤＷ制御信号のスキュ量の補正方法の一例を示す図である。
【図１６】図１６は、第２実施形態のシステムコントローラにおけるライト系の構成例を示す模式図である。
【図１７】図１７は、第２実施形態のヘッドアンプＩＣにおけるライト系の構成例を示す模式図である。
【図１８】図１８（ａ）及び（ｂ）は、クロック信号にライト補償処理が実行されない場合のプリアンプモードにおけるライト電流データの生成方法の一例を説明する図である。
【図１９】図１９（ａ）、（ｂ）、（ｃ）、（ｄ）、及び（ｅ）は、ライト補償処理が実行され、且つフェイズスキュが加えられたクロック信号の一例を示す図である。
【図２０】図２０は、プリアンプモードにおけるフェイズスキュの調整方法の一例を示す図である。
【図２１】図２１は、プリアンプモードにおけるフェイズスキュの調整方法の一例のフローチャートである。
【図２２】図２２は、プリアンプモード及びＲ／ＷチャネルモードのＤＤＷ処理を実行するためのシステムコントローラにおけるライト系の構成例を示す模式図である。
【図２３】図２３は、プリアンプモード及びＲ／ＷチャネルモードのＤＤＷ処理を実行するためのヘッドアンプＩＣにおけるライト系の構成例を示す模式図である。
【発明を実施するための形態】
【０００７】
以下、実施の形態について図面を参照して説明する。なお、図面は、一例であって、発明の範囲を限定するものではない。
【０００８】
（第１実施形態）  
図１は、第１実施形態に係る磁気ディスク装置１の構成を示すブロック図である。  
本実施形態の磁気ディスク装置１は、例えば、hard disk drive(ＨＤＤ)である。磁気ディスク装置１は、特定のタイミングで通常のライト時のライト電流と異なるライト電流となるようにライト電流の値（電流値）を変更する機能を備えている。この機能は、例えば、Ｄａｔａ  Ｄｅｐｅｎｄｅｎｔ  Ｗｒｉｔｅ（ＤＤＷ）及びＰａｔｔｅｒｎ  Ｄｅｐｅｎｄｅｎｔ  Ｗｒｉｔｅ（ＰＤＷ）等と称されている。説明の便宜上、以下で、この機能をＤＤＷと称する。
【０００９】
磁気ディスク装置１は、後述するヘッドディスクアセンブリ（head-disk assembly：ＨＤＡ）と、ドライバＩＣ２０と、ヘッドアンプ集積回路（以下、ヘッドアンプＩＣ、又はプリアンプ）６０と、揮発性メモリ７０と、バッファメモリ（バッファ）８０と、不揮発性メモリ９０と、１チップの集積回路であるシステムコントローラ１３０とを備える。また、磁気ディスク装置１は、ホストシステム（ホスト）１００と接続される。
【００１０】
ＨＤＡは、磁気ディスク（以下、ディスク）１０と、スピンドルモータ（ＳＰＭ）１２と、ヘッド１５を搭載しているアーム１３と、ボイスコイルモータ（ＶＣＭ）１４とを有する。ディスク１０は、スピンドルモータ１２により回転する。アーム１３及びＶＣＭ１４は、アクチュエータを構成している。アクチュエータは、ＶＣＭ１４の駆動により、アーム１３に搭載されているヘッド１５をディスク１０上の目標位置まで移動制御する。ディスク１０およびヘッド１５は、２つ以上の数が設けられてもよい。
【００１１】
ディスク１０は、その記録領域に、ユーザから利用可能な記録領域１０ａと、システム管理に必要な情報をライトするシステムエリア１０ｂとが割り当てられている。  
ヘッド１５は、スライダを本体として、当該スライダに実装されているライトヘッド１５Ｗ、及びリードヘッド１５Ｒを備える。ライトヘッド１５Ｗは、ディスク１０上にデータをライトする。リードヘッド１５Ｒは、ディスク１０上のデータトラックに記録されているデータをリードする。  
ドライバＩＣ２０は、システムコントローラ１３０（詳細には、後述するＭＰＵ３０）の制御に従って、ＳＰＭ１２およびＶＣＭ１４の駆動を制御する。
【００１２】
揮発性メモリ７０は、電力供給が断たれると保存しているデータが失われる半導体メモリである。揮発性メモリ７０は、磁気ディスク装置１の各部での処理に必要なデータ等を格納する。揮発性メモリ７０は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）、又はＳＤＲＡＭである。
【００１３】
バッファメモリ８０は、磁気ディスク装置１とホスト１００との間で送受信されるデータ等を一時的に記憶する半導体メモリである。なお、バッファメモリ８０は、揮発性メモリ７０と一体に構成されていてもよい。バッファメモリ８０は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）、ＳＤＲＡＭ、ＦｅＲＡＭ（Ferroelectric Random Access memory）、又はＭＲＡＭ（Magnetoresistive Random Access Memory）等である。
【００１４】
不揮発性メモリ９０は、電力供給が断たれても保存しているデータを記憶する半導体メモリである。不揮発性メモリ９０は、例えば、NOR型またはNAND型のフラッシュＲＯＭ（Flash Read Only Memory :ＦＲＯＭ）である。
【００１５】
システムコントローラ（コントローラ）１３０は、例えば、複数の素子が単一チップに集積されたSystem-on-a-Chip(SoC)と称される大規模集積回路（ＬＳＩ）を用いて実現される。システムコントローラ１３０は、マイクロプロセッサ（ＭＰＵ）３０と、ハードディスクコントローラ（ＨＤＣ）４０と、リード／ライト（Ｒ／Ｗ）チャネル５０と、を含む。ＭＰＵ３０、ＨＤＣ４０、及びＲ／Ｗチャネル５０とは、それぞれ、レジスタ（不図示）を含む。
【００１６】
ＭＰＵ３０は、磁気ディスク装置１の各部を制御するメインコントローラである。ＭＰＵ３０は、ドライバＩＣ２０を介してＶＣＭ１４を制御し、ヘッド１５の位置決めを行なうサーボ制御を実行する。また、ＭＰＵ３０は、ディスク１０へのデータのライト動作を制御すると共に、ホスト１００から転送されるライトデータの保存先を選択する。ＭＰＵ３０は、ファームウェアに基づいて処理を実行する。
【００１７】
ＨＤＣ４０は、ＭＰＵ３０からの指示に応じて、ホスト１００とＲ／Ｗチャネル５０との間のデータ転送を制御する。  
Ｒ／Ｗチャネル５０は、リードデータ及びライトデータの信号処理を実行する。Ｒ／Ｗチャネル５０は、リードデータの信号品質を測定する回路、又は機能を有している。  
ヘッドアンプＩＣ（プリアンプ）６０は、ライト処理では、Ｒ／Ｗチャネル５０から出力されるライトデータに応じたライト電流をライトヘッド１５Ｗに出力する。また、ヘッドアンプＩＣ６０は、リード処理では、リードヘッド１５Ｒにより読み出されたリード信号を増幅して、リード／ライト（Ｒ／Ｗ）チャネル５０に出力する。ヘッドアンプＩＣ６０は、レジスタ、及び、このレジスタに対して外部からアクセスするためのレジスタI/F（不図示）を含む。  
以下で、システムコントローラ１３０（ＭＰＵ３０、ＨＤＣ４０、及び、Ｒ／Ｗチャネル５０）とヘッドアンプＩＣ６０とにおいて、ホスト１００から入力されるデータをディスク１０にライトする系をライト系と称する場合もある。
【００１８】
図２は、システムコントローラ１３０におけるライト系の構成例を示す模式図である。図２では、信号の経路毎に構成を分けて記載しているが、各部がそれぞれ組み合さって形成されていてもよいし、全てが一体に形成されていてもよい。  
システムコントローラ１３０は、ライト系として、ライトアクティブ部１３０１と、タイミング同期部１３０３と、ライトデータバッファ１３１１と、ライト補償部（記録補償部）１３２１と、第１オフセット制御部１３２３と、ＤＤＷ制御部１３３１と、第２オフセット制御部１３３３と、ライトコントローラ１３４１と、ステータスモニタ１３４３と、を備えている。システムコントローラ１３０において、これら各部は、回路で構成され、ＨＤＣ４０及びＲ／Ｗチャネル５０の何れか又は両方に備えられる。また、これら各部は、ＭＰＵ３０、又はＨＤＣ４０により動作を制御される。なお、ライトコントローラ１３４１は、ＭＰＵ６０によりファームウェアに基づいて実行されても良い。また、ライトデータバッファ１３１１は、バッファメモリ８０に備えられても良い。
【００１９】
システムコントローラ１３０は、ライトゲート信号インターフェース（Ｉ／Ｆ）１４１０、ライトデータＩ／Ｆ１４２０、ＤＤＷ制御信号Ｉ／Ｆ１４３０、及びステータス信号Ｉ／Ｆ１４４０を介してヘッドアンプＩＣ６０と接続されている。これらのＩ／Ｆは、それぞれ、専用の信号線を備えていても良いし、他のＩ／Ｆと同じ信号線を使用していても良い。詳細には後述するが、ステータス信号は、ヘッドアンプＩＣ６０で生成される。ステータス信号は、ステータス信号Ｉ／Ｆ１４４０を介してヘッドアンプＩＣ６０とシステムコントローラ１３０とで送受信される。また、ステータス信号は、レジスタＩ／Ｆ（不図示）等を介して、ヘッドアンプＩＣ６０とシステムコントローラ１３０とで送受信されても良い。
【００２０】
ライトアクティブ部１３０１は、タイミング同期部１３０３に電気的に接続されている。ライトアクティブ部１３０１は、タイミング同期部１３０３にライトゲート信号を出力する。例えば、ライトアクティブ部１３０１は、ＭＰＵ３０の制御に従ってライト処理をアクティブにするライトゲート信号をタイミング同期部１３０３に出力する。  
タイミング同期部１３０３は、ヘッドアンプＩＣ６０に電気的に接続されている。タイミング同期部１３０３は、ライトアクティブ部１３０１から入力されたライトゲート信号とライトデータ等のデータと同期させ、ライトゲート信号Ｉ／Ｆ１４１０を介してヘッドアンプＩＣ６０に出力する。
【００２１】
ライトデータバッファ１３１１は、ライト補償部１３２１と、ＤＤＷ制御部１３３１とに電気的に接続されている。ライトデータバッファ１３１１は、ホスト１００から入力されたライトデータを一時的に保持し、このライトデータをライト補償部１３２１とＤＤＷ制御部１３３１とに出力する。
【００２２】
ライト補償部１３２１は、第１オフセット制御部１３２３に電気的に接続されている。ライト補償部１３２１は、ライトデータバッファ１３１１から入力されたライトデータにライト補償（記録補償）処理を実行し、ライト補償処理を実行したライトデータを第１オフセット制御部１３２３に出力する。
【００２３】
ライト補償（記録補償）は、データの極性反転（信号の立ち上がり、及び信号の立ち下がり）のタイミングをＮＬＴＳ（Ｎｏｎ  Ｌｉｎｅａｒ  Ｔｒａｎｓｉｔｉｏｎ  Ｓｈｉｆｔ）の時間分予めずらす処理である。ＮＬＴＳは、ディスク１０上に現時点よりも前にライトされた磁化により生じる反磁界がライトヘッド１５Ｗから発生される記録磁界を強める、又は弱めることで、磁化反転点が本来形成されるべき位置からヘッド１５の進行方向の前又は後ろにずれる現象である。
【００２４】
図３は、ライト補償処理の一例を説明するための図である。図３（ａ）は、ライト補償処理が実行されていないライトデータのデータパターンの一例を示している。図３（ｂ）は、ライト補償処理が実行されたライトデータのデータパターンの一例を示している。図３（ａ）及び図３（ｂ）において、ライトデータのデータパターンは、ビットパターンに対応し、ビットが“１”になるタイミングで立ち上がり、ビットが“０”になるタイミングで立ち下がる。横軸は、時間ｔを示している。以下で、横軸方向に従う方向を後ろ、又は遅いと称し、横軸方向と反対方向を前、又は早いと称する場合もある。また、１ビットのデータのビット間隔Ｂｗを１Ｔとする。図３において、ディレイＤ３１＜ディレイＤ３２である。
【００２５】
ライト補償部１３２１は、ライト補償処理として、前後のデータパターンの極性反転の条件に応じて、データパターンの極性反転のタイミングにディレイ（遅延、又は遅延時間）（以下、ＷＰＣディレイと称する）を加える。ＷＰＣディレイは、磁気ディスク装置１のライト系の特性やディスク１０の記録密度等によって最適値が異なり、ビット誤り率（Ｂｉｔ  Ｅｒｒｏｒ  Ｒａｔｅ：ＢＥＲ）測定の測定結果等によって最適値が決定される場合もある。そのため、ライト補償部１３２１は、状況に応じて、所定の範囲、例えば、１ビットのデータのビット間隔Ｂｗに対して０％から５０％までの範囲の何れかのＷＰＣディレイをデータパターンの極性反転のタイミングに加える。例えば、ライト補償部１３２１は、反転間隔が短いデータパターンの次のデータパターンの立ち上がりのタイミングに、ある長さのＷＰＣディレイＤ３１を加え、反転間隔が長いデータパターンの次のデータパターンの立ち上がりのタイミングに、ＷＰＣディレイＤ３１よりも長いＷＰＣディレイＤ３２を加える。データパターンの立ち上がりのタイミングにＷＰＣディレイを加えるライト補償処理の一例について説明したが、ライト補償部１３２１は、ライト補償処理において、立ち下がりのタイミングにＷＰＣディレイを加えることもできる。
【００２６】
図２に戻って、第１オフセット制御部１３２３は、ヘッドアンプＩＣ６０に電気的に接続されている。第１オフセット制御部１３２３は、後述するＤＤＷ制御信号に同期するように、ライト補償部１３２１から入力されたライトデータにディレイ（以下、ライトデータディレイと称する）を加え、ライトデータＩ／Ｆ１４２０を介して、ライトデータをヘッドアンプＩＣ６０に出力する。
【００２７】
ＤＤＷ制御部１３３１は、第２オフセット制御部１３３３に電気的に接続されている。ＤＤＷ制御部１３３１は、ライトデータバッファ１３１１から入力されたライトデータに対応し、ライト電流の値を変更するタイミングを指示するＤＤＷ制御信号を生成し、生成したＤＤＷ制御信号を第２オフセット制御部１３３３に出力する。
【００２８】
第２オフセット制御部１３３３は、第１オフセット制御部１３２３から出力されるライトデータに同期するように、ＤＤＷ制御部１３３１から入力されたＤＤＷ制御信号にディレイ（以下、制御信号ディレイと称する）を加えて、ＤＤＷ制御信号Ｉ／Ｆ１４３０を介して、ＤＤＷ制御信号をヘッドアンプＩＣ６０に出力する。
【００２９】
第１オフセット制御部１３２３及び第２オフセット制御部１３３３は、ライトデータディレイ及び制御信号ディレイを設定することで、ライトデータとＤＤＷ制御信号との間でビット毎のずれ（フェイズスキュ：Ｐｈａｓｅ  ｓｋｅｗ）を生じさせた状態で、ライトデータ及びＤＤＷ制御信号を同期させる。第１オフセット制御部１３２３及び第２オフセット制御部１３３３は、ライト補償処理が実行された場合、ライト補償処理によって生じたずれを含むフェイズスキュが生じた状態でライトデータとＤＤＷ制御信号とを同期させるために、ライトデータディレイ及び制御信号ディレイを調整する。また、ライトデータとＤＤＷ制御信号とは、Ｒ／Ｗチャネル５０とヘッドアンプＩＣ６０とを接続する接続線の長さ、Ｒ／Ｗチャネル５０の出力端、及び、ヘッドアンプＩＣ６０の入力端の回路構成等により、Ｒ／Ｗチャネル５０からヘッドアンプＩＣ６０への到達時間がそれぞれ異なる。そのため、第１オフセット制御部１３２３及び第２オフセット制御部１３３３は、ライトデータディレイ及び制御信号ディレイを設定することで、ライトデータとＤＤＷ制御信号との間のヘッドアンプＩＣ６０への到達時間の違いを補完するためのずれ（ビットスキュ：ｂｉｔ  ｓｋｅｗ）をライトデータとＤＤＷ制御信号との間に生じさせた状態で、ライトデータとＤＤＷ制御信号とを同期させる。第１オフセット制御部１３２３及び第２オフセット制御部１３３３をまとめて調整部と称する場合もある。なお、第１オフセット制御部１３２３及び第２オフセット制御部１３３３は、一体に形成されていてもよい。また、説明の便宜上、フェイズスキュ及びビットスキュをライトデータ及びＤＤＷ制御信号のいずれか一方に加えるように表現する場合もある。
【００３０】
ライトコントローラ１３４１は、ステータスモニタ１３４３に電気的に接続されている。ライトコントローラ１３４１は、ステータスモニタ１３４３から入力されたステータス信号に基づいて後述するＤＤＷ処理が設定した通りに実行されているか実行されていないかの成否判断等を実行する。また、ライトコントローラ１３４１は、ステータスモニタ１３４３から入力されたステータス信号に基づいて、ライトデータとＤＤＷ制御信号やその他の信号との同期の状態等を示すプロファイルを生成する。ライトコントローラ１３４１は、ＤＤＷ処理の成否判断の結果や生成したプロファイルに基づいて、ステータスモニタ１３４３に信号を出力することもできる。ライトコントローラ１３４１は、生成したプロファイルに基づいて、フェイズスキュ及びビットスキュを設定する。なお、ライトコントローラ１３４１は、ステータス信号をホスト１００に出力してもよい。この場合、ホスト１００は、ステータス信号に基づいてプロファイルを生成する。そのため、ライトコントローラ１３４１は、ホスト１００で生成されたプロファイルを取得できる。
【００３１】
ステータスモニタ１３４３は、ヘッドアンプＩＣ６０に電気的に接続されている。ステータスモニタ１３４３は、ステータス信号Ｉ／Ｆ１４４０を介して、ヘッドアンプＩＣ６０から入力されたステータス信号を参照してＤＤＷ処理を監視し、このステータス信号をライトコントローラ１３４１に出力する。また、ステータスモニタ１３４３は、ライトコントローラ１３４１等から入力された、ステータス信号を生成するための情報を、ステータスＩ／Ｆ１４４０を介して、ヘッドアンプＩＣ６０に出力できる。
【００３２】
図４は、ヘッドアンプＩＣ６０におけるライト系の構成例を示す模式図である。  
ヘッドアンプＩＣ６０は、ライト系として、ライトシーケンサ６０１と、データバッファ６０３と、ライト電流ドライバ６０５と、ステータス生成部６０７と、を備えている。ヘッドアンプＩＣ６０において、これら各部は、回路で構成されている。また、これら各部は、ＭＰＵ３０、又はＨＤＣ４０により動作を制御される。
【００３３】
ライトシーケンサ６０１は、データバッファ６０３と、ライト電流ドライバ６０５とに電気的に接続されている。ライトシーケンサ６０１は、システムコントローラ１３０のタイミング同期部１３０３からライトゲート信号Ｉ／Ｆ１４１０を介して入力されたライトゲート信号に応じて、データバッファ６０３及びライト電流ドライバ６０５を制御する。例えば、ライトシーケンサ６０１は、ライトゲート信号が入力された場合、ライト処理をアクティブにするための制御信号をライト電流ドライバ６０５及びデータバッファ６０３に出力する。
【００３４】
データバッファ６０３は、ライト電流ドライバ６０５と、ステータス生成部６０７とに電気的に接続されている。データバッファ６０３は、ライトデータＩ／Ｆ１４２０を介して、第１オフセット制御部１３２３から入力されたライトデータと、ＤＤＷ制御信号Ｉ／Ｆ１４３０を介して、第２オフセット制御部１３３３から入力されたＤＤＷ制御信号とを一時的に保持する。データバッファ６０３は、ライトシーケンサ６０１から入力される制御信号に応じて、ライトデータ及びＤＤＷ制御信号を、ライト電流ドライバ６０５に出力できる。データバッファ６０３は、ライトデータ、ＤＤＷ制御信号やこれらに関連する情報を制御信号として、ステータス生成部６０７に出力できる。
【００３５】
ライト電流ドライバ６０５は、ヘッド１５（ライトヘッド１５Ｗ）とステータス生成部６０７とに電気的に接続されている。また、ライト電流ドライバ６０５は、ＤＤＷ制御信号Ｉ／Ｆ１４３０を介して、システムコントローラ１３０に電気的に接続されている。ライト電流ドライバ６０５は、ライトシーケンサ６０１から入力された制御信号に応じて、データバッファ６０３から入力されたライトデータに対応するライト電流を、ヘッド１５に出力する。また、ライト電流ドライバ６０５は、データバッファ６０３から入力されたライトデータとシステムコントローラ１３０から入力されたＤＤＷ制御信号とに基づいて、ＤＤＷ処理を実行する。ＤＤＷ処理は、特定のタイミングで通常のライト時のライト電流と異なるライト電流となるようにライト電流の値を変更する処理である。以下で、システムコントローラ１３０（ＨＤＣ４０及びＲ／Ｗチャネル５０）でＤＤＷ制御信号を生成することをＲ／Ｗチャネルモードと称する。また、システムコントローラ１３０で生成されたＤＤＷ制御信号に基づくＤＤＷ処理をＲ／ＷチャネルモードのＤＤＷ処理と称する。ライト電流ドライバ６０５は、ライト電流の出力結果を示す制御信号やＤＤＷ処理の実行結果を示す制御信号等を、ステータス生成部６０７に出力する。
【００３６】
ステータス生成部６０７は、ステータス信号Ｉ／Ｆ１４４０を介して、システムコントローラ１３０のステータスモニタ１３４３に電気的に接続されている。ステータス生成部６０７は、データバッファ６０３及びライト電流ドライバ６０５から入力されたライトデータ、ＤＤＷ制御信号、及び制御信号等から、ＤＤＷ処理の実行結果を示す情報（ステータス）を生成する。ステータス生成部６０７は、生成したステータスをステータス信号として、ステータス信号Ｉ／Ｆ１４４０を介してステータスモニタ１３４３に出力する。
【００３７】
図５は、ＤＤＷ処理の一例を説明するための図である。図５（ａ）は、通常のライト時におけるライトデータに対応するライト電流の一例を示している。図５（ｂ）は、ＤＤＷ時におけるライトデータに対応するライト電流の一例を示している。図５（ａ）及び図５（ｂ）において、ライト電流のデータパターンは、ビットパターンに対応している。また、ライト電流の極性反転のタイミングは、ライトデータの極性反転のタイミングに対応している。
【００３８】
例えば、ヘッドアンプＩＣ６０は、通常のライト時に、ライト電流が極性反転したタイミングでオーバーシュート電流をライト電流に重畳したライト電流を、ヘッド１５（ライトヘッド１５Ｗ）に出力する。ヘッドアンプＩＣ６０は、ＤＤＷ時に、通常のライト時にオーバーシュート電流を重畳した極性反転のタイミングの内の特定のタイミングで、通常のライト時のオーバーシュート電流（以下、通常オーバーシュート電流とも称する）よりも大きい又は小さいオーバーシュート電流をライト電流に重畳し、このライト電流をヘッド１５に出力する。
【００３９】
図５に示した例では、ヘッドアンプＩＣ６０は、通常のライト時において、ライト電流の極性反転のタイミングである一定レベルのオーバーシュート電流をライト電流に重畳している。ＤＤＷ処理時では、ヘッドアンプＩＣ６０は、１ビットのビット間隔の極性反転のタイミングＴｂ１、Ｔｂ２、及びＴｂ３で、通常オーバーシュート電流よりも大きいオーバーシュート電流をライト電流に重畳している。したがって、図５では、タイミングＴｂ１、Ｔｂ２、及びＴｂ３において、ＤＤＷ時のライト電流の値は、通常のライト時のライト電流の値よりも大きくなっている。例えば、ＤＤＷ処理により、ライト電流の反転間隔が短いデータパターンの次の極性反転のタイミングで、通常オーバーシュート電流よりも大きいオーバーシュート電流をライト電流に重畳することで、データを精度良くディスク１０にライトすることができる。以下で、ＤＤＷ処理により、あるタイミングで、通常オーバーシュート電流よりも大きいオーバーシュート電流をライト電流に重畳することを“ブースト”と称する。
【００４０】
Ｒ／ＷチャネルモードのＤＤＷ処理では、ヘッドアンプＩＣ６０は、システムコントローラ１３０から入力されたＤＤＷ制御信号とデータバッファ６０３から入力されたライトデータとに基づいて、ライト電流にブースト（ＤＤＷ処理）を実行する。ヘッドアンプＩＣ６０は、ライトデータとシステムコントローラ１３０から入力されたＤＤＷ制御信号とを比較し、ライトデータの極性反転のタイミングでＤＤＷ制御信号が立ち上がっているか立ち下がっているか、すなわち、ＤＤＷ制御信号の論理値を検出する。このように、２つの信号の一方のタイミングで他方の信号の立ち上がり及び立ち下がりの状態を検出することを“一方の信号が他方の信号を打つ”と表現する場合もある。また、以下で、信号が立ち上がっていること、及びＨｉｇｈ（Ｈ）レベルであることをアクティブと称し、信号が立ち下がっていること、及びＬｏｗ（Ｌ）レベルであることを非アクティブと称する場合もある。ヘッドアンプＩＣ６０は、ライトデータの極性反転のタイミングの内の特定のタイミングで、ＤＤＷ制御信号がアクティブである場合、このタイミングでライト電流にブーストを実行する。
【００４１】
図６は、ライト補償処理が実行されていない場合のＲ／ＷチャネルモードのＤＤＷ処理の一例を説明する図である。図６において、ライトデータ及びＤＤＷ制御信号のビット間隔は何れも１Ｔであるものとする。図６（ａ）は、ビットパターンに対応するデータパターンの一例を示している。図６（ｂ）は、ＤＤＷ制御信号のデータパターンの一例を示している。図６において、ヘッドアンプＩＣ６０は、ライトデータの極性反転のあるタイミングでブーストを実行するように設定されている。
【００４２】
図６に示した例では、ヘッドアンプＩＣ６０は、ライトデータの極性反転のタイミングＴｎａ１、Ｔｎａ２、Ｔｎａ３、及びＴｎａ４で、ＤＤＷ制御信号が非アクティブであることを検出し、ライトデータの極性反転のタイミングＴｂ１、Ｔｂ２、及びＴｂ３で、ＤＤＷ制御信号がアクティブであることを検出する。そのため、ヘッドアンプＩＣ６０は、ライトデータの極性反転のタイミングＴｂ１、Ｔｂ２、及びＴｂ３で、ライトデータに対応するライト電流にブーストを実行する。例えば、図５（ｂ）に示したＤＤＷ時のライト電流のように、ライト電流ドライバ６０５は、タイミングＴｂ１、Ｔｂ２、及びＴｂ３で、ライトデータに対応するライト電流にブーストを実行する。
【００４３】
ライト補償処理が実行されていない場合に、このライトデータの立ち上がりのタイミングでＤＤＷ制御信号により、１ビットのビット間隔のライトデータを検出するとき、このＤＤＷ制御信号にビット間隔の半分のフェイズスキュを加えることで、最大のタイミングマージンが得られる。図６に示した例では、システムコントローラ１３０は、タイミングＴｂ１で、ライトデータのデータパターンとＤＤＷ制御信号のデータパターンとの間にライトデータの1ビットのビット間隔１Ｔの半分のフェイズスキュ１／２Ｔを生じさせている。一方、ライト補償処理が実行される場合には、ライトデータに加えたＤＷＣディレイの値に応じて、ライトデータとＤＤＷ制御信号との間に生じさせるフェイズスキュを最適値に調整する必要がある。このライト補償処理が実行される場合のフェイズスキュの調整方法の詳細については後述する。
【００４４】
図７は、ライト補償処理が実行されたライトデータとフェイズスキュを加えたＤＤＷ制御信号との一例を示す図である。図７において、ライトデータ及びＤＤＷ制御信号のビット間隔は何れも１Ｔであるものとする。図７（ａ）には、ＤＤＷ処理がアクティブか非アクティブかを示すＤＤＷアクティブの一例が示されている。図７（ａ）において、“ｎ／ａ”（not applicable）は利用できない区間を示し、“ｙｅｓ“は、ＤＤＷ処理をアクティブにする区間を示し、”ｎｏ“は、ＤＤＷ処理を非アクティブにする区間を示している。図７（ｂ）には、ライト補償処理が実行されたライトデータの一例が示されている。図７（ｂ）において、ライトデータは、ライト補償処理として、１ビットのビット間隔１Ｔに対して０％〜５０％範囲のいずれかのＷＰＣディレイが加えられている。図７（ｃ）には、ライト補償ディレイ０％のライトデータの立ち上がりのタイミングから、立ち上がりのタイミングがフェイズスキュＳｋ７１でずれているケース１のＤＤＷ制御信号が、示されている。図７（ｄ）には、ライト補償ディレイ０％のライトデータの立ち上がりのタイミングから、立ち上がりのタイミングがフェイズスキュＳｋ７２でずれているケース２のＤＤＷ制御信号が、示されている。図７（ｅ）には、ライト補償ディレイ０％のライトデータの立ち上がりのタイミングから、立ち上がりのタイミングがフェイズスキュＳｋ７３でずれているケース３のＤＤＷ制御信号が、示されている。図７（ｆ）には、ライト補償ディレイ０％のライトデータの立ち下がりのタイミングから、立ち下がりのタイミングがフェイズスキュＳｋ７４でずれているケース４のＤＤＷ制御信号が、示されている。図７（ｃ）から図７（ｆ）におけるＤＤＷ制御信号では、Ｈレベルがアクティブ、Ｌレベルが非アクティブである。図７において、ヘッドアンプＩＣ６０は、ライトデータの立ち上がりのあるタイミング、例えば、ＤＤＷアクティブが”ｙｅｓ“に切り替わるタイミングでブーストを実行するように設定されている。
【００４５】
ヘッドアンプＩＣ６０は、ＷＰＣディレイが最小値０％である場合のライトデータの立ち上がりのタイミングＴ７１で、ケース１乃至ケース３では、ＤＤＷ制御信号がアクティブであることを検出し、ケース４ではＤＤＷ制御信号が非アクティブであることを検出する。また、ヘッドアンプＩＣ６０は、ＷＰＣディレイが最小値０％である場合のライトデータの立ち下がりのタイミングＴ７２で、ケース１乃至ケース３では、ＤＤＷ制御信号が非アクティブ、ケース４ではＤＤＷ制御信号がアクティブであることを検出する。
【００４６】
ヘッドアンプＩＣ６０は、ＷＰＣディレイが最大値５０％である場合のライトデータの立ち上がりのタイミングＴ７３で、ケース１、ケース２及びケース４では、ＤＤＷ制御信号がアクティブであることを検出する。ヘッドアンプＩＣ６０は、ＷＰＣディレイが最大値５０％である場合のライトデータの立ち上がりのタイミングＴ７３で、ケース３では、ＤＤＷ制御信号で非アクティブであることを検出する。
【００４７】
図７に示した例では、ヘッドアンプＩＣ６０は、ＷＰＣディレイが０％〜５０％の範囲のいずれの値であったとしても、ケース１及びケース２のＤＤＷ制御信号でライトデータの立ち上がりのタイミングでブーストを実行できる。ＷＰＣディレイが最大値５０％の場合、ケース３のＤＤＷ制御信号に対するフェイズスキュＳｋ７３では、タイミングが早過ぎるために、ヘッドアンプＩＣ６０は、ライトデータの立ち上がりのタイミングでブーストできない。また、ＷＰＣディレイの最小値０％の場合、ケース４のＤＤＷ制御信号に対するフェイズスキュＳｋ７４では、遅すぎるために、ヘッドアンプＩＣ６０は、ライトデータの立ち上がりのタイミングでブーストできず、ライトデータの立ち下がりのタイミングでブーストしてしまう。したがって、ケース１及びケース２のＤＤＷ制御信号のように、ＷＰＣディレイが０〜５０％の範囲のいずれの値であったとしても、ブーストを実行できるように、ＤＤＷ制御信号に加えるフェイズスキュを調整する必要がある。
【００４８】
Ｒ／ＷチャネルモードのＤＤＷ処理では、特定の範囲の内の最も条件の厳しい範囲（以下、ワーストケースと称する）のＷＰＣディレイを加えられたライトデータＷＣを使用して、ＤＤＷ制御信号に加えるフェイズスキュを調整する。このように調整したフェイズスキュを加えたＤＤＷ制御信号を使用して、ＤＤＷ処理を実行することで、ライトデータに加えるＷＰＣディレイが設定可能な範囲のいずれの値であったとしても、所望のタイミングでライト電流にブーストを実行できる。ワーストケースのＷＰＣディレイを加えたライトデータは、反転間隔が最も短いライトデータであればよい。図７に示した例では、ワーストケースのＷＰＣディレイを加えられたライトデータＷＣは、立ち上がりのタイミングで最大値５０％のＷＰＣディレイが加えられ、立ち下がりのタイミングで最小値０％のＷＰＣディレイが加えられる。
【００４９】
図８は、Ｒ／Ｗチャネルモードにおけるフェイズスキュの調整方法の一例を示す図である。図８は、Ｒ／Ｗチャネルモードにおけるフェイズスキュの最適値を検出するためにＤＤＷ制御信号に加えるディレイ（以下、スキュディレイと称する）を、開始値Ｓｔ８１から終了値Ｅｎ８２まで一定値ずつ増加させ、ワーストケースのＷＰＣディレイが加えられたライトデータ（以下、単にワーストケースのライトデータと称する）が立ち上がるタイミングでＤＤＷ制御信号がアクティブか非アクティブかを検出する処理を示している。図８において、ライトデータ、及び、ＤＤＷ制御信号のビット間隔は何れも１Ｔである。また、ＤＤＷ制御信号の反転間隔は、いずれも１Ｔである。図８において、ヘッドアンプＩＣ６０は、ライトデータの立ち上がりのタイミングでブーストを実行するように設定されている。ここでもＤＤＷ制御信号はＨがアクティブ、Ｌが非アクティブ、である。
【００５０】
図８（ａ）には、立ち上がりのタイミングでワーストケースのＷＰＣディレイ、例えば、１ビットのビット間隔１Ｔに対して５０％のＷＰＣディレイが加えられたライトデータのデータパターンが示されている。図８（ｂ）には、ワーストケースのライトデータが立ち上がりのタイミングと同じ立ち上がりのタイミングを、開始値であるスキュディレイＳｄ８１（＝−１．５Ｔ）でずらしたＤＤＷ制御信号が示されている。図８（ｃ）には、ワーストケースのライトデータの立ち上がりのタイミングと同じ立ち上がりのタイミングを、スキュディレイＳｄ８２（＝−１．０Ｔ）でずらしたＤＤＷ制御信号が示されている。図８（ｄ）には、ワーストケースのライトデータの立ち上がりのタイミングと同じ立ち上がりのタイミングを、スキュディレイＳｄ８３（＝−０．５Ｔ）でずらしたＤＤＷ制御信号が示されている。図８（ｅ）には、ワーストケースのライトデータの立ち上がりのタイミングと同じタイミング（スキュディレイＳｄ８４＝０）で立ち上がるＤＤＷ制御信号が示されている。図８（ｆ）には、ワーストケースのライトデータの立ち上がりのタイミングと同じ立ち上がりのタイミングを、終了値であるスキュディレイＳｄ８５（＝０．５Ｔ）でずらしたＤＤＷ制御信号が示されている。図８（ｇ）には、ライトデータの立ち上がりのタイミングで各スキュディレイを加えたＤＤＷ制御信号がアクティブか非アクティブかを示すプロファイルが示されている。
【００５１】
システムコントローラ１３０は、開始値から終了値まで１ビット未満の間隔で、ずらしたスキュディレイを段階的にＤＤＷ制御信号に加えていく。システムコントローラ１３０は、スキュディレイを段階的に加えたＤＤＷ制御信号とワーストケースのライトデータとを、ヘッドアンプＩＣ６０にそれぞれ出力する。ヘッドアンプＩＣ６０は、例えば、スキュディレイを段階的に加えたＤＤＷ制御信号毎に、ワーストケースのライトデータの極性反転のタイミングの内の立ち上がりのタイミングで、ＤＤＷ制御信号がアクティブか非アクティブかを検出する。ヘッドアンプＩＣ６０は、各スキュディレイに対応する検出結果から、ワーストケースのライトデータの極性反転のタイミングでＤＤＷ制御信号がアクティブか非アクティブかを示すステータスをそれぞれ生成し、生成したステータスをステータス信号として、システムコントローラ１３０に出力する。システムコントローラ１３０は、スキュディレイとＤＤＷ制御信号がアクティブか非アクティブかを示すステータスとの関係を示すプロファイルを生成する。システムコントローラ１３０は、生成したプロファイルでＤＤＷ制御信号がアクティブと検出された区間のスキュディレイの中央値をスキュディレイの最適値として、取得する。システムコントローラ１３０は、取得した最適値をフェイズスキュとして設定する。
【００５２】
図８に示した例では、はじめに、システムコントローラ１３０は、開始値としてスキュディレイＳｄ８１を加えたＤＤＷ制御信号とワーストケースのライトデータとをヘッドアンプＩＣ６０に出力する。ヘッドアンプＩＣ６０は、ワーストケースのライトデータの立ち上がりのタイミングで、スキュディレイＳｄ８１を加えたＤＤＷ制御信号が非アクティブであることを検出する。ヘッドアンプＩＣ６０は、ワーストケースのライトデータの立ち上がりのタイミングで、スキュディレイＳｄ８１を加えたＤＤＷ制御信号が非アクティブであることを示すステータスを生成し、生成したステータスをステータス信号として、システムコントローラ１３０に出力する。
【００５３】
次に、システムコントローラ１３０は、スキュディレイＳｄ８１にステップ値ＳＴＶ１を加算したスキュディレイＳｄ８２を加えたＤＤＷ制御信号とワーストケースのライトデータとを、ヘッドアンプＩＣ６０ＩＣに出力する。ヘッドアンプＩＣ６０は、ワーストケースのライトデータの立ち上がりのタイミングで、スキュディレイＳｄ８２を加えたＤＤＷ制御信号がアクティブであることを検出する。ヘッドアンプＩＣ６０は、ワーストケースのライトデータの立ち上がりのタイミングで、スキュディレイＳｄ８２を加えたＤＤＷ制御信号がアクティブであることを示すステータスを生成し、生成したステータスをステータス信号としてシステムコントローラ１３０に出力する。
【００５４】
同様に、システムコントローラ１３０は、ステップ値ＳＴＶ１ずつ増加するスキュディレイＳｄ８３、Ｓｄ８４、及びスキュディレイ（終了値）Ｓｄ８５を段階的に加えたＤＤＷ制御信号とワーストケースのライトデータとをヘッドアンプＩＣ６０にそれぞれ出力する。ヘッドアンプＩＣ６０は、ワーストケースのライトデータの立ち上がりのタイミングで、スキュディレイＳｄ８３及びＳｄ８４を加えたＤＤＷ制御信号がアクティブであることをそれぞれ検出する。ヘッドアンプＩＣ６０は、ワーストケースのライトデータの立ち上がりのタイミングで、スキュディレイ（終了値）Ｓｄ８５を加えたＤＤＷ制御信号が非アクティブであることを検出する。ヘッドアンプＩＣ６０は、ワーストケースのライトデータの立ち上がりのタイミングで、スキュディレイＳｄ８３及びＳｄ８４を加えたＤＤＷ制御信号がアクティブであることを示すステータスを生成し、生成したステータスをステータス信号として、システムコントローラ１３０にそれぞれ出力する。また、ヘッドアンプＩＣ６０は、ワーストケースのライトデータの立ち上がりのタイミングで、スキュディレイ（終了値）Ｓｄ８５を加えたＤＤＷ制御信号が非アクティブであることを示すステータスを生成し、生成したステータスをステータス信号としてシステムコントローラ１３０に出力する。
【００５５】
システムコントローラ１３０は、各スキュディレイを加えたＤＤＷ制御信号に対応するステータスから、スキュディレイと、ワーストケースのライトデータの立ち上がりのタイミングでＤＤＷ制御信号がアクティブか非アクティブかを示すステータスとの関係を示すプロファイルを生成する。システムコントローラ１３０は、生成したプロファイルでＤＤＷ制御信号がアクティブと検出された区間に対応するスキュディレイの中央値Ｓｄ８３（＝−０．５Ｔ）をスキュディレイの最適値ＯＰＶ１として取得する。システムコントローラ１３０は、取得した最適値をフェイズスキュとして設定する。
【００５６】
図９は、Ｒ／Ｗチャネルモードにおけるフェイズスキュの調整方法のフローチャートである。  
システムコントローラ１３０は、ＷＰＣディレイをワーストケースに設定し（Ｂ９０１）、ｘ＝開始値を設定する（Ｂ９０２）。システムコントローラ１３０は、スキュディレイ＝ｘを設定する（Ｂ９０３）。
【００５７】
システムコントローラ１３０は、ライト動作を実行する（Ｂ９０４）。このとき、システムコントローラ１３０は、ライト処理をアクティブにするライトゲート信号と、ワーストケースのＷＰＣディレイを加えたライトデータと、設定したスキュディレイｘ（ここでは開始値）を加えたＤＤＷ制御信号とをヘッドアンプＩＣ６０に出力する。
【００５８】
ヘッドアンプＩＣ６０は、システムコントローラ１３０から入力されたライトデータの極性反転のタイミングで、設定したスキュディレイを加えたＤＤＷ制御信号がアクティブか非アクティブかを検出する（Ｂ９０５）。ヘッドアンプＩＣ６０は、検出結果からステータスを生成する（Ｂ９０６）。ヘッドアンプＩＣ６０は、生成したステータスをステータス信号としてシステムコントローラ１３０に出力する。
【００５９】
システムコントローラ１３０は、スキュディレイにステップ値を加算し（Ｂ９０７）、スキュディレイが終了値に達したか達していないかを判定する（Ｂ９０８）。スキュディレイが終了値に達していないと判定した場合（Ｂ９０８のＮＯ）、システムコントローラ１３０は、Ｂ９０３の処理へ戻る。スキュディレイが終了値に達したと判定した場合（Ｂ９０８のＹＥＳ）、システムコントローラ１３０は、ヘッドアンプＩＣ６０から入力されたステータスから、スキュディレイと、ワーストケースのライトデータの立ち上がりのタイミングでＤＤＷ制御信号がアクティブか非アクティブかを示すステータスとの関係を示すプロファイルを生成する（Ｂ９０９）。システムコントローラ１３０は、生成したプロファイルからスキュディレイの最適値を取得し（Ｂ９１０）、取得した最適値をフェイズスキュ（最適なフェイズスキュ）に設定し（Ｂ９１１）、処理を終了する。
【００６０】
図１０は、ライトデータとＤＤＷ制御信号とのビットスキュの調整方法の一例を示す図である。図１０は、ビットスキュの最適値を検出するためにＤＤＷ制御信号に加えるディレイ（以下、ビットスキュディレイと称する）を、開始値Ｓｔ１０１から終了値Ｅｎ１０２まで一定値ずつ増加させ、ＢＥＲを測定する処理を示している。図１０において、縦軸は、ＢＥＲを示し、横軸は、ビットスキュディレイを示している。
【００６１】
システムコントローラ１３０は、フェイズスキュを最適値に設定した後に、開始値から終了値まで数ビットの間隔でずらしたビットスキュディレイを段階的にＤＤＷ制御信号に加えていく。システムコントローラ１３０は、ビットスキュディレイを段階的に加えたＤＤＷ制御信号とライトデータとをヘッドアンプＩＣ６０にそれぞれ出力する。ヘッドアンプＩＣ６０は、システムコントローラ１３０から入力されたライトデータとビットスキュディレイを段階的に加えたＤＤＷ制御信号とに基づくライト電流をヘッド１５に出力する。システムコントローラ１３０は、このライト電流に対応するデータをヘッド１５によりディスク１０にライトし、このライトしたデータをリードすることで、ＢＥＲを測定する。システムコントローラ１３０は、ＤＤＷ制御信号に段階的に加えたビットスキュディレイ毎にＢＥＲをそれぞれ測定する。システムコントローラ１３０は、各ビットスキュディレイに対応するＢＥＲの測定結果から、ビットスキュディレイとＢＥＲの測定値との関係を示すプロファイルを生成する。システムコントローラ１３０は、生成したプロファイルの内で最も小さいＢＥＲに対応するビットスキュディレイを最適値として取得する。システムコントローラ１３０は、取得した最適値をビットスキュとして設定する。
【００６２】
図１０に示した例では、はじめに、システムコントローラ１３０は、開始値としてビットスキュディレイＳｔ１０１を加えたＤＤＷ制御信号とライトデータとをヘッドアンプＩＣ６０に出力する。ヘッドアンプＩＣ６０は、システムコントローラ１３０から入力されたライトデータとビットスキュディレイＳｔ１０１を加えたＤＤＷ制御信号とに基づくライト電流をヘッド１５に出力する。システムコントローラ１３０は、このライト電流に対応するデータのＢＥＲを測定する。
【００６３】
次に、システムコントローラ１３０は、ビットスキュディレイＳｔ１０１にステップ値ＳＴＶ２を加算したビットスキュディレイＢＳｋ１を加えたＤＤＷ制御信号とライトデータとを、ヘッドアンプＩＣ６０に出力する。ヘッドアンプＩＣ６０は、システムコントローラ１３０から入力されたライトデータとビットスキュディレイＢＳｋ１を加えたＤＤＷ制御信号とに基づくライト電流を、ヘッド１５に出力する。システムコントローラ１３０は、このライト電流に対応するデータのＢＥＲを測定する。
【００６４】
同様に、システムコントローラ１３０は、ステップ値ＳＴＶ２ずつ増加させたビットスキュディレイＢＳｋ２、ＢＳｋ３、ＢＳｋ４、及びビットスキュディレイ（終了値）Ｅｎ１０２を段階的に加えたＤＤＷ制御信号とライトデータとを、ヘッドアンプＩＣ６０にそれぞれ出力する。ヘッドアンプＩＣ６０は、システムコントローラ１３０から入力されたライトデータとビットスキュディレイＢＳｋ２、ＢＳｋ３、ＢＳｋ４、及びＥｎ１０２をそれぞれ加えたＤＤＷ制御信号とに基づくライト電流を、ヘッド１５にそれぞれ出力する。システムコントローラ１３０は、これらライト電流に対応するデータのＢＥＲをそれぞれ測定する。
【００６５】
システムコントローラ１３０は、各ビットスキュディレイに対応するＢＥＲの測定結果から、ビットスキュディレイとＢＥＲの測定値との関係を示すプロファイルを生成する。システムコントローラ１３０は、生成したプロファイルで最も小さいＢＥＲに対応するビットスキュディレイＢＳｋ３を最適値ＯＰＶ２として取得する。システムコントローラ１３０は、取得した最適値をビットスキュ（最適なビットスキュ）として設定する。
【００６６】
図１１は、ライトデータとＤＤＷ制御信号とのビットスキュの調整方法の一例のフローチャートである。  
システムコントローラ１３０は、フェイズスキュを調整により取得した最適値に設定し（Ｂ１１０１）、ｘ＝開始値を設定する（Ｂ１１０２）。システムコントローラ１３０は、ビットスキュディレイ＝ｘを設定する。（Ｂ１１０３）。
【００６７】
システムコントローラ１３０は、ライト動作を実行する（Ｂ１１０４）。このとき、システムコントローラ１３０は、ライト処理をアクティブにするライトゲート信号と、ライトデータと、調整により最適値に設定されたフェイズスキュ及び設定されたビットスキュディレイｘ（ここでは開始値）を加えたＤＤＷ制御信号とを、ヘッドアンプＩＣ６０に出力する。
【００６８】
ヘッドアンプＩＣ６０は、システムコントローラ１３０から入力されたライトデータとＤＤＷ制御信号とに基づいてライト電流を、ヘッド１５に出力する。システムコントローラ１３０は、ヘッド１５がディスク１０にライトしたデータをリードすることで、ＢＥＲを測定する（Ｂ１１０５）。
【００６９】
システムコントローラ１３０は、ビットスキュディレイにステップ値を加算し（Ｂ１１０６）、ビットスキュディレイが終了値に達したか達していないかを判定する（Ｂ１１０７）。ビットスキュディレイが終了値に達していないと判定した場合（Ｂ１１０７のＮＯ）、システムコントローラ１３０は、Ｂ１１０３の処理へ戻る。ビットスキュディレイが終了値に達したと判定した場合（Ｂ１１０７のＹＥＳ）、システムコントローラ１３０は、ＢＥＲ測定の測定結果から、ビットスキュディレイとＢＥＲの測定値との関係を示すプロファイルを生成する（Ｂ１１０８）。システムコントローラ１３０は、生成したプロファイルからビットスキュディレイの最適値を取得し（Ｂ１１０９）、取得した最適値をビットスキュに設定し（Ｂ１１１０）、処理を終了する。
【００７０】
図１２は、第１実施形態に係る磁気ディスク装置１の製造方法の一例のフローチャートである。図１２は、磁気ディスク装置１の製造工程の一部を示している。  
磁気ディスク装置１の製造工程が開始され、製造工程の途中で、システムコントローラ１３０は、フェイズスキュを調整する（Ｂ１２０１）。ここで、システムコントローラ１３０は、図８及び図９に示したフェイズスキュの調整方法の一例を実行し、ライトデータとＤＤＷ制御信号との間に生じさせるフェイズスキュを調整する。システムコントローラ１３０は、ビットスキュを調整し（Ｂ１２０２）、他の製造工程を実行した後に、製造工程が終了する。（Ｂ１２０２）において、システムコントローラ１３０は、図１０及び図１１に示したビットスキュの調整方法の一例を実行し、ライトデータとＤＤＷ制御信号との間に生じさせるビットスキュを調整する。
【００７１】
本実施形態にかかる磁気ディスク装置１によれば、システムコントローラ１３０が、ＤＤＷ処理においてブーストを実行するタイミングを指示するＤＤＷ制御信号を生成し、生成したＤＤＷ制御信号とライト補償処理を実行したライトデータとを、ヘッドアンプＩＣ６０に出力する。ヘッドアンプＩＣ６０は、入力されたＤＤＷ制御信号とライトデータとに応じて、特定のタイミングでブーストを実行する。磁気ディスク装置１は、ライトデータとＤＤＷ制御信号との間に生じるフェイズスキュやビットスキュを、例えば、製造段階で調整することができる。フェイズスキュやビットスキュを調整することによって、磁気ディスク装置１は、ライトデータにライト補償処理が実行した場合でも、ＤＤＷ処理において所望のタイミングで正確にブーストを実行できる。そのため、磁気ディスク装置１は、ライト特性を改善できる。その結果、磁気ディスク装置１のデータライトの信頼性が向上する。
【００７２】
次に、変形例及び他の実施形態に係る磁気ディスク装置、調整方法、及び製造方法について説明する。変形例及び他の実施形態において、前述の実施形態と同一の部分には同一の参照符号を付してその詳細な説明を省略する。
【００７３】
（変形例１）  
変形例１の磁気ディスク装置１は、ブーストを実行する所望のタイミングに対応するライトデータのビットパターンと、実際にブーストを実行したタイミングに対応するライトデータのビットパターンとが一致しているか否か（一致していないか）を示すステータスを生成する点が、前述の実施形態の磁気ディスク装置１と異なる。
【００７４】
変形例１のシステムコントローラ１３０は、例えば、ブーストを実行する所望のタイミングに対応するライトデータのビットパターン（以下、パターン期待値と称する）を生成する。システムコントローラ１３０は、パターン期待値をメモリ、例えば、揮発性メモリ７０、バッファメモリ８０、不揮発性メモリ９０等に記憶していてもよい。システムコントローラ１３０は、ステータス信号Ｉ／Ｆ１４４０を介して、パターン期待値をプリアンプＩＣ６０（例えば、プリアンプＩＣ６０のステータス生成部６０７）に出力する。システムコントローラ１３０は、例えば、パターン期待値に対応するタイミングでブーストを実行するように指示するＤＤＷ制御信号（以下、テスト信号と称する）を生成する。システムコントローラ１３０は、最適値に調整されたフェイズスキュ及びビットスキュを加えたテスト信号と、ＷＰＣディレイを加えたライトデータとをヘッドアンプＩＣ６０に出力する。以下で、最適値に調整されたフェイズスキュ及びビットスキュが加えられたテスト信号と、ＷＰＣディレイを加えたライトデータとをまとめてテストパターンと称する場合もある。
【００７５】
ヘッドアンプＩＣ６０は、テストパターンに基づいてＤＤＷ処理を実行し、実際にブーストを実行したビットパターンを検出結果として取得する。ヘッドアンプＩＣ６０は、検出結果とパターン期待値とを比較する。ヘッドアンプＩＣ６０は、検出結果とパターン期待値とが一致しているか一致していないかを示すステータスを生成し、生成したステータスをシステムコントローラ１３０に出力する。システムコントローラ１３０は、入力されたステータス信号に応じて、フェイズスキュやビットスキュを調整できる。
【００７６】
なお、ヘッドアンプＩＣ６０は、検出結果とパターン期待値とをテーブルとして、データバッファ６０３やステータス生成部６０７等に一時的に保持してもよい。また、ヘッドアンプＩＣ６０は、検出結果のビットパターンとパターン期待値との比較を実行する度に、システムコントローラ１３０からパターン期待値を受領してもよい。
【００７７】
図１３は、変形例１に係るパターン期待値と検出結果とが一致しているか一致していないかを示すステータスの生成方法の一例を示す図である。図１３において、検出結果１、検出結果２は、それぞれ、ヘッドアンプＩＣ６０で実際にブーストが実行されたタイミングに対応するライトデータのビットパターンの値を示している。図１３において、ヘッドアンプＩＣ６０は、ライトデータの極性反転のあるタイミングでブーストを実行するように設定されている。
【００７８】
図１３に示した例では、ヘッドアンプＩＣ６０は、ライトデータのビットパターン“１００１１１”をパターン期待値として記憶している。なお、図示した例では、ビット数は６ビットであるが、ビット数は６ビット以外であっても良い。例えば、ヘッドアンプＩＣ６０は、あるテストパターンに基づいてブーストを実行し、検出結果１のように、ビットパターン“１００１１１”を検出する。この場合、ヘッドアンプＩＣ６０は、検出結果１のビットパターンとパターン期待値とを比較して、これらは一致していると判定する。ヘッドアンプＩＣ６０は、パターン期待値通りにブーストが実行されていると判定し、ステータスとして“ＯＫ”を示す信号を生成し、このステータスをステータス信号としてシステムコントローラ１３０に出力する。
【００７９】
また、例えば、ヘッドアンプＩＣ６０は、他のテストパターンに基づいてブーストを実行し、検出結果２のように、ビットパターン“１００１０１”を検出する。この場合、ヘッドアンプＩＣ６０は、検出結果２のビットパターンとパターン期待値とを比較して、これらは一致していないと判定する。ヘッドアンプＩＣ６０は、パターン期待値通りにブーストが実行されていないと判定し、ステータスとして“ＮＧ”を示す信号を生成し、このステータスをステータス信号としてシステムコントローラ１３０に出力する。システムコントローラ１３０は、入力されたステータス信号に応じて、フェイズスキュやビットスキュを調整できる。
【００８０】
変形例１によれば、ヘッドアンプＩＣ６０が、ブーストが適切に実行されているか否かを検出し、システムコントローラ１３０に検出結果を出力する。システムコントローラ１３０は、入力された検出結果に応じて、フェイズスキュやビットスキュを調整できる。
【００８１】
（変形例２）  
変形例２の磁気ディスク装置１は、ブーストを実行する所望のビット数と実際にブーストを実行したライトデータのビット数とが一致しているか否か（一致していないか）を示すステータスを生成する点が前述の実施形態の磁気ディスク装置１と異なる。
【００８２】
図１４は、変形例２に係るステータス生成部６０７の構成の一例を示す図である。この例は、ステータス生成部６０７によってステータスを生成する例である。  
ステータス生成部６０７は、カウンタ６５１と、比較部６５３と、マルチプレクサ６５５とを備えている。ステータス生成部６０７において、これら各部は、回路で構成されている。
【００８３】
カウンタ６５１は、比較部６５３と、マルチプレクサ６５５とに電気的に接続されている。カウンタ６５１は、データバッファ６０３及びライト電流ドライバ６０５から入力された制御信号等からブーストが実行されたライトデータのビット数をカウントし、カウントしたビット数（すなわち、ビット数の実測値）を比較部６５３及びマルチプレクサ６５５に出力する。
【００８４】
比較部６５３は、マルチプレクサ６５５に電気的に接続されている。比較部６５３は、ブーストを実行する予定のビット数の期待値（以下、ビット期待値と称する）と、ビット数の実測値とを比較する。比較部６５３は、ビット期待値と、ビット数の実測値とが一致している場合には、期待値通りにブーストが実行されていると判定し、ステータスとして“ＯＫ”を示す信号を出力する。比較部６５３は、ビット期待値と、ビット数の実測値とが一致していない場合には、期待値通りにブーストが実行されていないと判定し、ステータスとして“ＮＧ”を示す信号を出力する。比較部６５３は、ビット期待値をシステムコントローラ１３０からステータス信号Ｉ／Ｆ１４４０を介して受領しても良いし、レジスタＩ／Ｆを介して受領しても良い。
【００８５】
マルチプレクサ６５５は、カウンタ６５１のビット数の実測値を測定データとしてシステムコントローラ１３０に出力する、又は比較部６５３から入力されたステータスをステータス信号としてシステムコントローラ１３０に出力する。
【００８６】
変形例２において、システムコントローラ１３０は、ライト動作終了時に、ヘッドアンプＩＣ６０からステータス信号を受領した場合、入力されたステータス信号に応じて、フェイズスキュやビットスキュを調整できる。
【００８７】
また、システムコントローラ１３０は、ビット期待値をメモリ、例えば、揮発性メモリ７０、バッファメモリ８０、及び、不揮発性メモリ９０等に記憶している。システムコントローラ１３０は、ライト動作終了時に、ヘッドアンプＩＣ６０から測定データを受領した場合、ビット期待値と測定データとを比較する。システムコントローラ１３０は、比較結果に応じて、フェイズスキュやビットスキュを調整できる。
【００８８】
変形例２によれば、前述の実施形態と同様の効果が得られる。なお、変形例２の磁気ディスク装置１の構成は、ＤＤＷ処理時のみだけではなく通常のライト時にも適用できる。例えば、磁気ディスク装置１は、ライダムデータをディスク１０にライトする場合に、実際にディスク１０にライトされたランダムデータのビット数をカウントする。磁気ディスク装置１は、ランダムデータのビット期待値と実際にディスク１０にライトされたランダムデータのビット数とを比較する。磁気ディスク装置１は、ビット期待値とランダムデータのビット数とが一致しているか否かを示すステータスを生成することもできる。
【００８９】
（変形例３）  
変形例３の磁気ディスク装置１は、調整時のワーストケースのＷＰＣディレイを加えたライトデータのデータパターン（以下、単に、調整パターンと称する）に対して最適なフェイズスキュ及びビットスキュを加えたＤＤＷ制御信号のスキュ量を、実際のライト時のワーストケースのＷＰＣディレイを加えたライトデータのデータパターン（以下、単に、ライトパターンと称する）に対して最適なフェイズスキュ及びビットスキュを加えたＤＤＷ制御信号のスキュ量に補正する点が前述の実施形態の磁気ディスク装置１と異なる。フェイズスキュ及びビットスキュを含むディレイをスキュ量と称する。また、説明の便宜上、最適なフェイズスキュ及びビットスキュを加えたＤＤＷ制御信号のスキュ量を、単に、最適なＤＤＷ制御信号のスキュ量と称する。
【００９０】
図１５は、変形例３に係る実際のライト時のワーストケースのＷＰＣディレイを加えたライトデータに対応するＤＤＷ制御信号のスキュ量の補正方法の一例を示す図である。図１５には、ＮＲＺ（Ｎｏｎ  Ｒｅｔｕｒｎ  ｔｏ  Ｚｅｒｏ）のビットパターンと、ＮＲＺＩ（Ｎｏｎ  Ｒｅｔｕｒｎ  ｔｏ  Ｚｅｒｏ  Ｉｎｖｅｒｓｅ）のビットパターンとを示している。図１５において、横軸は、時間ｔを示している。図１５において、ライトデータ及びＤＤＷ制御信号のビット間隔は何れも１Ｔであるものとする。図１５（ａ）には、フェイズスキュの調整時（以下、単に調整時と称する）のワーストケースのＷＰＣディレイＤｍａｘが加えられたライトデータのデータパターンの一例が示されている。図１５（ａ）において、ＷＰＣディレイＤｍａｘは、ライトデータのデータパターンの立ち上がりのタイミングＴ１５１に加えられている。図１５（ａ）において、立ち上がりのタイミングＴ１５１は、ＮＲＺＩでは“００１”と示される。また、同様に立下りにおいて、ＷＰＣディレイＤｍｉｎはライトデータのデータパターンの立下りのタイミングＴ１５２に加えられている。図１５（ａ）において、立ち上がりのタイミングＴ１５２は、ＮＲＺＩでは“０１１”で示される。図１５（ｂ）は（ａ）の調整用ライトデータに対して調整されたビットスキュ、フェイズスキュを設定されたＤＤＷ制御信号を示しており、Ｄ１はそのスキュ量を示す。図１５（ｃ）には、実際のライト時のデータパターンの一例が示されている。図１５（ｃ）において、ＷＰＣディレイにより“００１”に対する極性反転のタイミングはＴ１５３、“０１１”に対する極性反転のタイミングはＴ１５４、“１１１”に対する反転タイミングはＴ１５５、“１０１”に対する極性反転のタイミングはＴ１５６となっている。図１５（ｄ）は（ｃ）に対してＤ１をもとに補正されたビットスキュ、フェイズスキュを設定されたＤＤＷ制御信号を示しており、Ｄ２はそのスキュ量を示し、ＣＡはその補正量を示している。
【００９１】
第１実施形態では、ワーストケースのＷＰＣディレイが加えられたライトデータを使用して、フェイズスキュが調整されている。実際にデータライトを実行する前には、ＷＰＣディレイが再度調整されるため、調整時のワーストケースのＷＰＣディレイと、実際のライト時のワーストケースのＷＰＣディレイとは、異なる可能性がある。そのため、実際のライト時には、調整パターンに対して最適なＤＤＷ制御信号のスキュ量を、ライトパターンに対して最適なＤＤＷ制御信号のスキュ量に補正する補正処理が必要となる。このような補正処理を実行することで、システムコントローラ１３０は、実際のライト時のＷＰＣディレイを加えたライトデータと、このライトデータに対応するＤＤＷ制御信号とをヘッドアンプＩＣ６０に出力できる。
【００９２】
システムコントローラ１３０は、例えば、調整時のワーストケースのＷＰＣディレイＤｍａｘ、Ｄｍｉｎの中央値と、実際のライト時のＷＰＣディレイの最大値、最小値の中央値との差から補正値ＣＡを導出する。この場合、補正値ＣＡは、以下の式で表される。
【００９３】
補正値ＣＡ  ＝  （Ｔ１５１−Ｔ１５２）／２−｛ｍａｘ（Ｔ１５３，Ｔ１５４，Ｔ１５５，Ｔ１５６）−ｍｉｎ（Ｔ１５３，Ｔ１５４，Ｔ１５５，Ｔ１５６）｝／２  （１）
ここで、ｍａｘ（）は最大値を出力する関数で、ｍｉｎ（）は最小値を出力する関数である。
【００９４】
システムコントローラ１３０は、式（１）で導出した補正値ＣＡを使用して、実際のライト処理においてＤＤＷ処理を実行する前に、調整パターンに対して最適なＤＤＷ制御信号を補正する。例えば、システムコントローラ１３０は、式（１）で導出した補正値ＣＡを使用して、図１５（ｂ）に示した調整パターンに対して最適なＤＤＷ制御信号のスキュ量Ｄ１を、図１５（ｄ）に示したライトパターンに対して最適なＤＤＷ制御信号のスキュ量Ｄ２に補正する。図１５に示した例では、システムコントローラ１３０は、スキュ量Ｄ１と補正値ＣＡとの差からスキュ量Ｄ２を導出する。この例ではＷＰＣ補正パターンを４状態補正方式（２ビットルックバック）として示したが、それ以上の場合においても同様にスキュ量の補正処理を実施することができる。
【００９５】
変形例３によれば、磁気ディスク装置１は、調整パターンに対して最適なＤＤＷ制御信号のスキュ量を、ライトパターンに対して最適なＤＤＷ制御信号のスキュ量に補正するため、前述の実施形態よりもタイミングマージンを確保できる。そのため、磁気ディスク装置１は、ライト特性を改善できる。
【００９６】
（第２実施形態）  
第２実施形態の磁気ディスク装置１は、ヘッドアンプＩＣ６０でライトデータに基づいて生成したＤＤＷ制御信号により、ヘッドアンプＩＣ６０でＤＤＷ処理を実行する点が第１実施形態と相違する。以下で、ヘッドアンプＩＣ６０でＤＤＷ制御信号を生成することをプリアンプモードと称する。また、ヘッドアンプＩＣ６０におけるＤＤＷ処理をプリアンプモードのＤＤＷ処理と称する。
【００９７】
図１６は、第２実施形態のシステムコントローラ１３０におけるライト系の構成例を示す模式図である。  
システムコントローラ１３０（Ｒ／Ｗチャネル５０）は、ライト系として、ＤＤＷ制御部１３３１と第２オフセット制御部１３３３との間にライト補償部１３３２を備えている。
【００９８】
ＤＤＷ制御部１３３１は、ライト補償部１３３２に電気的に接続されている。ＤＤＷ制御部１３３１は、クロック信号をライト補償部１３３２に出力する。ライト補償部１３３２は、回路で構成され、第２オフセット制御部１３３３に電気的に接続されている。ライト補償部１３３２は、ＤＤＷ制御部１３３１から入力されたクロック信号にライト補償処理を実行し、ライト補償処理を実行したクロック信号を第２オフセット制御部１３３３に出力する。ライトコントローラ１３４１は、ステータスモニタ１３４３から入力されたステータス信号に基づいて、ライトデータとクロック信号との同期の状態等を示すプロファイルを生成する。
【００９９】
図１７は、第２実施形態のヘッドアンプＩＣ６０におけるライト系の構成例を示す模式図である。  
ヘッドアンプＩＣ６０は、ライト系として、パターン検出部６０２を備えている。パターン検出部６０２は、データバッファ６０３に電気的に接続されている。パターン検出部６０２は、システムコントローラ１３０から入力されたライトデータとクロック信号とに基づいてデータパターンを生成する。パターン検出部は、この生成したデータパターンをディスクにライトするライトデータ（以下、ライト電流データと称する）として、データバッファ６０３に出力する。パターン検出部６０２は、生成したライト電流データの極性反転の特定のタイミングでブーストを実行するタイミングを指示するＤＤＷ制御信号（ＤＤＷフラグ）を生成し、生成したＤＤＷ制御信号をデータバッファ６０３に出力する。パターン検出部６０２は、データバッファ６０３を介して、システムコントローラ１３０から入力されたライトデータとクロック信号とに基づくライト電流データの生成結果等の情報を、ステータス生成部６０７に出力する。
【０１００】
データバッファ６０３は、パターン検出部６０２から入力されたライト電流データとＤＤＷ制御信号とを一時的に保持する。データバッファ６０３は、ライトシーケンサ６０１から入力される制御信号に応じて、ライト電流データ及びＤＤＷ制御信号をライト電流ドライバ６０５に出力できる。データバッファ６０３は、ライト電流データ、ＤＤＷ制御信号やこれらに関連する情報を制御信号として、ステータス生成部６０７に出力する。なお、パターン検出部６０２及びデータバッファ６０３は、一体に形成されていてもよい。
【０１０１】
ライト電流ドライバ６０５は、ライト電流データに対応するライト電流をヘッド１５に出力する。また、ライト電流ドライバ６０５は、データバッファ６０３から入力されたライト電流データとＤＤＷ制御信号（ＤＤＷフラグ）とに基づいて、ＤＤＷ処理を実行する。
【０１０２】
ステータス生成部６０７は、データバッファ６０３から入力されたライト電流データ、ＤＤＷ制御信号、及び制御信号から、システムコントローラ１３０から入力されたライトデータとクロック信号とに基づくライト電流データの生成結果を示す情報（ステータス）を生成する。ステータス生成部６０７は、生成したステータスをステータス信号として、ステータス信号Ｉ／Ｆ１４４０を介して、ステータスモニタ１３４３に出力する。なお、ステータス生成部６０７は、データバッファ６０３及びライト電流ドライバ６０５から入力されたライト電流データ、ＤＤＷ制御信号、及び制御信号から、システムコントローラ１３０から入力されたライトデータとクロック信号とに基づくライト電流データの生成結果を示す情報（ステータス）を生成してもよい。
【０１０３】
図１８は、クロック信号にライト補償処理が実行されない場合のプリアンプモードにおけるライト電流データの生成方法の一例を説明する図である。図１８において、１ビットのデータのビット間隔を１Ｔとする。また、クロック信号のビット間隔は何れも１Ｔであるものとする。図１８（ａ）は、ビットパターンに対応するデータパターンの一例を示している。図１８（ｂ）は、クロック信号のデータパターンの一例を示している。図１８において、クロック信号の極性反転のタイミングは、ライトデータの各ビットのビット間隔の中央値（１／２Ｔ）のタイミングと同じタイミングになるように、クロック信号にフェイズスキュ（１／２Ｔ）が加えられている。
【０１０４】
図１８に示した例では、ヘッドアンプＩＣ６０は、フェイズスキュ（１／２Ｔ）が加えられたクロック信号の極性反転のタイミングでライトデータのデータパターンを検出し、検出したデータパターンに対応するライト電流データを生成する。すなわち、ヘッドアンプＩＣ６０は、ライト電流データの極性反転のタイミングをクロック信号の極性反転のタイミングで制御する。例えば、ヘッドアンプＩＣ６０は、クロック信号に同期したライト電流データを生成する。ヘッドアンプＩＣ６０は、ライト電流データの極性反転のあるタイミングで、ブーストを実行させるＤＤＷ制御信号を生成する。ヘッドアンプＩＣ６０は、ライト電流データとＤＤＷ制御信号とに基づいて、ＤＤＷ処理を実行する。
【０１０５】
図１９は、ライト補償処理が実行され、且つフェイズスキュが加えられたクロック信号とライトデータとの一例を示す図である。図１９において、ライトデータ及びクロック信号のビット間隔は何れも１Ｔであるものとする。また、クロック信号は、信号パターンの極性反転のタイミングに所定の範囲、例えば、０〜５０％のＷＰＣディレイが加えられている。図１９には、ＷＰＣディレイの最小値０％が加えられたクロック信号の立ち上がりのタイミングＤｍｂ１、Ｄｍｃ２、及びＤｍｄ２…と、ＷＰＣディレイの最大値５０％が加えられたクロック信号の立ち上がりのタイミングＤｘｂ１、Ｄｘｃ２、及びＤｘｄ２と、ＷＰＣディレイの最小値０％が加えられたクロック信号の立ち下がりのタイミングＤｍｂ２、Ｄｍｃ１、及びＤｍｄ１…と、ＷＰＣディレイの最小値５０％が加えられたクロック信号の立ち下がりのタイミングＤｘｂ２、Ｄｘｃ１、及びＤｘｄ１…と、ＷＰＣディレイの最大値５０％及び最小値０％の中央値２５％が加えられたクロック信号の立ち上がりのタイミングＤｅ２と、ＷＰＣディレイの中央値２５％が加えられたクロック信号の立ち下がりのタイミングＤｅ１とが示されている。また、図１９には、Stepup/Hold違反範囲ＳＨを示している。Stepup/Hold違反範囲ＳＨは、立ち上がり及び立下りのタイミングでのライトデータの変化禁止期間を示している。図１９において、Stepup/Hold違反範囲ＳＨは、ライトデータの極性反転のタイミングの特定の区間に設定されている。図１９では、説明の便宜上、ライトデータのデータパターンの一部と、このライトデータのデータパターンの一部に対応するクロック信号の一部のデータパターンを用いて説明するが、他のライトデータのデータパターンと、この他のライトデータのデータパターンに対応するクロック信号の他のデータパターンでも同等の構成が適用できる。
【０１０６】
図１９（ａ）には、ライトデータのデータパターンの一例が示されている。図１９（ｂ）には、立ち上がりのタイミングＤｍｂ１及び立ち下がりのタイミングＤｍｂ２がStepup/Hold違反範囲ＳＨに位置するケース１のクロック信号の一例が示されている。図１９（ｃ）には、立ち上がりのタイミングＤｍｃ２からＤｘｃ２までのタイミングと立ち下がりのタイミングＤｍｃ１からＤｘｃ１までのタイミングとがStepup/Hold違反範囲ＳＨから外れて位置するケース２のクロック信号の一例が示されている。図１９（ｄ）には、立ち上がりのタイミングＤｍｄ２及びＤｘｄ２の間と、立ち下がりのタイミングＤｍｄ１及びＤｘｄ１の間とにSetup/Hold違反範囲ＳＨがそれぞれ位置するケース３のクロック信号の一例が示されている。図１９（ｅ）には、立ち下がりのタイミングＤｅ１及び立ち上がりのタイミングＤｅ２がSetup/Hold違反範囲ＳＨに位置するケース４のクロック信号の一例が示されている。図１９（ｅ）は、図１９（ｄ）に示したクロック信号の極性反転のタイミングにＷＰＣディレイの最大値５０％及び最小値０％の中央値２５％が加えられた場合を示している。
【０１０７】
ヘッドアンプＩＣ６０は、ケース１のクロック信号の立ち上がりのタイミングＤｍｂ１と、立ち下がりのタイミングＤｍｂ２とで、Setup/Hold違反を発生し得る。Setup/Hold違反を発生した場合、パターン検出部６０２は、誤ったライトデータのデータパターンを検出する可能性がある。
【０１０８】
ヘッドアンプＩＣ６０は、ケース２のクロック信号の立ち上がりのタイミングＤｍｃ２からＤｘｃ２までのタイミングと、立ち下がりのタイミングＤｍｃ１からＤｘｃ１までのタイミングとでは、ＷＰＣディレイが０％〜５０％の範囲のいずれの値であったとしても、ライトデータのデータパターンを検出できる。すなわち、パターン検出部６０２は、ケース２のクロック信号を使用した場合、ＷＰＣディレイの設定値に影響されずに、ライトデータのデータパターンを検出できる。
【０１０９】
ヘッドアンプＩＣ６０は、ケース３のクロック信号の立ち上がりのタイミングＤｍｄ２及びＤｘｄ２と、立ち下がりのタイミングＤｍｄ１及びＤｘｄ１とで、ライトデータのデータパターンを検出できる。しかし、ヘッドアンプＩＣ６０は、ＷＰＣディレイによってクロック信号の立ち上がりのタイミングＤｍｄ２からＤｘｄ２までの間のタイミング、又は立ち下りのタイミングＤｍｄ１からＤｘｄ１までの間のタイミングになった場合には、立ち上がりのタイミングと、立ち下がりのタイミングとでSetup/Hold違反を発生し得る。
【０１１０】
プリアンプモードでは、ケース１やケース３のクロック信号が出力されないように、クロック信号の立ち上がりのタイミングと、立ち下がりのタイミングとがSetup/Hold違反範囲に位置するようにＷＰＣディレイ及びスキュディレイを加えたケース４のクロック信号を使用して、ＤＤＷ制御信号に加えるフェイズスキュの調整を実行する。図１９に示した例では、クロック信号は、図１９（ｂ）に示すように、最大値のＷＰＣディレイを加えた立ち上がりタイミングと最小値のＷＰＣディレイを加えた立下りのタイミングとがライトデータのSetup/Hold違反範囲を跨ぐようにスキュディレイが加えられている。さらに、このクロック信号は、立ち上がりのタイミングでＷＰＣディレイの範囲の最小値０％と最大値５０％との中央値２５％のＷＰＣディレイが加えられ、立ち上がりのタイミングと同様に立ち下がりのタイミングで中央値２５％のＷＰＣディレイが加えられている。そのため、クロック信号は、極性反転のタイミングがライトデータのSetup/Hold違反範囲に位置している。このように、極性反転のタイミングがSetup/Hold違反範囲、又はSetup/Hold違反範囲の近傍に位置するクロック信号を使用して、ＤＤＷ制御信号に加えるフェイズスキュが調整される。
【０１１１】
図２０は、プリアンプモードにおけるフェイズスキュの調整方法の一例を示す図である。図２０において、縦軸は、ライトデータを検出できる（Ｇｏｏｄ）か検出できないか（ＮＧ）を示し、横軸は、スキュディレイ［Ｔ］を示している。図２０には、クロック信号に加えるスキュディレイを開始値Ｓｔ２０１から終了値Ｅｎ２０２まで一定値ずつ増加させ、特定のＷＰＣディレイを加えたクロック信号の極性反転のタイミングで、ライトデータが検出できるか、検出できないかを検出する処理を示している。
【０１１２】
システムコントローラ１３０は、フェイズスキュを最適値に調整するために、ＷＰＣディレイを一定値に設定する。例えば、システムコントローラ１３０は、ＷＰＣディレイの最大値と最小値との中央値に設定する。システムコントローラ１３０は、一定値のＷＰＣディレイを加えたクロック信号の極性反転のタイミングがSetup/Hold違反範囲の近傍に位置するようにスキュディレイの開始値を設定する。システムコントローラ１３０は、開始値から終了値まで1ビット未満のビット間隔でずらしたスキュディレイを段階的にクロック信号に加えていく。ヘッドアンプＩＣ６０は、例えば、スキュディレイを段階的に加えたクロック信号毎に、これらクロック信号の極性反転のタイミングで、ライトデータを検出できるか否か（検出できないか）を検出する。ヘッドアンプＩＣ６０は、各スキュディレイに対応する検出結果から、スキュディレイを段階的に加えたクロック信号の極性反転のタイミングでライトデータを検出できるか検出できないかを示すステータスをそれぞれ生成し、生成したステータスをステータス信号として、システムコントローラ１３０に出力する。システムコントローラ１３０は、スキュディレイと、スキュディレイを加えたクロック信号の極性反転のタイミングでライトデータを検出できるか検出できないかを示すステータスとの関係を示すプロファイルを生成する。システムコントローラ１３０は、生成したプロファイルでライトデータを検出できる区間のディレイの中央値をスキュディレイの最適値として取得する。システムコントローラ１３０は、取得した最適値をフェイズスキュとして設定する。
【０１１３】
図２０に示した例では、はじめに、システムコントローラ１３０は、ＷＰＣディレイを一定値に設定する。例えば、システムコントローラ１３０は、最大値と最小値との中央値にＷＰＣディレイ（以下、単に、中央値のＷＰＣディレイと称する）を設定する。システムコントローラ１３０は、クロック信号の極性反転のタイミングがSetup/Hold違反範囲の近傍に位置するスキュディレイＳｔ２０１を開始値に設定する。システムコントローラ１３０は、開始値としてスキュディレイＳｔ２０１及び中央値のＷＰＣディレイを加えたクロック信号とライトデータとをヘッドアンプＩＣ６０に出力する。ヘッドアンプＩＣ６０は、中央値のＷＰＣディレイ及びスキュディレイＳｔ２０１を加えたクロック信号の極性反転のタイミングで、ライトデータを検出できるか検出できないかを検出する。ヘッドアンプＩＣ６０は、中央値のＷＰＣディレイ及びスキュディレイＳｔ２０１を加えたクロック信号の極性反転のタイミングでライトデータを検出できないことを検出する。ヘッドアンプＩＣ６０は、中央値のＷＰＣディレイ及びスキュディレイＳｔ２０１を加えたクロック信号の極性反転のタイミングでライトデータを検出できないことを示すステータスを生成し、生成したステータスをステータス信号としてシステムコントローラ１３０に出力する。
【０１１４】
次に、システムコントローラ１３０は、スキュディレイＳｔ２０１にステップ値ＳＴＶ３を加算したスキュディレイＳｄ２０１及び中央値のＷＰＣディレイを加えたクロック信号とライトデータとをヘッドアンプＩＣ６０に出力する。ヘッドアンプＩＣ６０は、スキュディレイＳｄ２０１を加えたクロック信号の極性反転のタイミングでライトデータを検出できるか検出できないかを検出する。ヘッドアンプＩＣ６０は、スキュディレイＳｄ２０１及び中央値のＷＰＣディレイを加えたクロック信号の極性反転のタイミングで、ライトデータを検出できないことを検出する。ヘッドアンプＩＣ６０は、スキュディレイＳｄ２０１及び中央値のＷＰＣディレイを加えたクロック信号の極性反転のタイミングで、ライトデータを検出できないことを示すステータスを生成し、生成したステータスをステータス信号としてシステムコントローラ１３０に出力する。
【０１１５】
同様に、システムコントローラ１３０は、ステップ値ＳＴＶ３ずつ増加させたスキュディレイＳｄ２０２…、Ｓｄ２０１２…、及びスキュディレイ（終了値）Ｅｎ２０２と、中央値のＷＰＣディレイとを段階的に加えたクロック信号とライトデータとをヘッドアンプＩＣ６０にそれぞれ出力する。ヘッドアンプＩＣ６０は、スキュディレイＳｄ２０２…、スキュディレイＳｄ２０１２…、及びスキュディレイ（終了値）Ｅｎ２０２と中央値のＷＰＣディレイとをそれぞれ加えたクロック信号の極性反転のタイミングでライトデータを検出できるか検出できないかをそれぞれ検出する。
【０１１６】
例えば、ヘッドアンプＩＣ６０は、スキュディレイＳｄ２０２及び中央値のＷＰＣディレイを加えたクロック信号の極性反転のタイミングで、ライトデータを検出できないことを検出する。ヘッドアンプＩＣ６０は、スキュディレイＳｄ２０２及び中央値のＷＰＣディレイを加えたクロック信号の極性反転のタイミングで、ライトデータを検出できないことを示すステータスを生成し、生成したステータスをステータス信号としてシステムコントローラ１３０に出力する。
【０１１７】
ヘッドアンプＩＣ６０は、スキュディレイＳｄ２０１２及び中央値のＷＰＣディレイを加えたクロック信号の極性反転のタイミングで、ライトデータを検出できることを検出する。ヘッドアンプＩＣ６０は、スキュディレイＳｄ２０１２及び中央値のＷＰＣディレイを加えたクロック信号の極性反転のタイミングで、ライトデータを検出できることを示すステータスを生成し、生成したステータスをステータス信号としてシステムコントローラ１３０に出力する。
【０１１８】
ヘッドアンプＩＣ６０は、スキュディレイＥｎ２０２及び中央値のＷＰＣディレイを加えたクロック信号の極性反転のタイミングで、ライトデータを検出できないことを検出する。ヘッドアンプＩＣ６０は、スキュディレイＥｎ２０２及び中央値のＷＰＣディレイを加えたクロック信号の極性反転のタイミングで、ライトデータを検出できないことを示すステータスを生成し、生成したステータスをステータス信号としてシステムコントローラ１３０に出力する。
【０１１９】
システムコントローラ１３０は、各スキュディレイ及び中央値のＷＰＣディレイを加えた複数のクロック信号に対応するステータスから、スキュディレイと、スキュディレイを加えたクロック信号の極性反転のタイミングで、ライトデータを検出できるか検出できないかを示すステータスとの関係を示すプロファイルを生成する。システムコントローラ１３０は、生成したプロファイルでライトデータが検出できる区間Ｌの半分１／２Ｌに位置するスキュディレイの中央値Ｓｄ２０１２をスキュディレイの最適値ＯＰＶ３として取得する。システムコントローラ１３０は、調整の過程により算出された最適値ＯＰＶ３をフェイズスキュとして設定する。なお、システムコントローラ１３０は、ライトデータが検出できる区間Ｌ以上のプロファイルを生成可能な時点で検出を中断し、この区間Ｌのスキュディレイの中央値をスキュディレイの最適値ＯＰＶ３として取得してもよい。
【０１２０】
図２１は、プリアンプモードにおけるフェイズスキュの調整方法の一例のフローチャートである。
【０１２１】
システムコントローラ１３０は、一定値、例えば、ＷＰＣディレイの最大値と最小値との中央値をＷＰＣディレイに設定し（Ｂ２１０１）、ｘ＝開始値を設定する（Ｂ２１０２）。このとき、システムコントローラ１３０は、クロック信号の極性反転のタイミングがSetup/Hold違反範囲の近傍に位置する開始値に設定する。システムコントローラ１３０は、スキュディレイ＝ｘを設定する（Ｂ２１０３）。
【０１２２】
システムコントローラ１３０は、ライト動作を実行する（Ｂ２１０４）。システムコントローラ１３０は、ライト処理をアクティブにするライトゲート信号と、ライトデータと、中央値のＷＰＣディレイでライト補償処理を実行され、且つ設定されたスキュディレイｘ（ここでは開始値）を加えられたクロック信号とをヘッドアンプＩＣ６０に出力する。
【０１２３】
ヘッドアンプＩＣ６０は、システムコントローラ１３０から入力された設定されたスキュディレイ及びＷＰＣディレイを加えられたクロック信号の極性反転のタイミングでライトデータを検出できるか検出できないかを検出する（Ｂ２１０５）。ヘッドアンプＩＣ６０は、検出結果からステータスを生成する（Ｂ２１０６）。ヘッドアンプＩＣ６０は、生成したステータスをステータス信号としてシステムコントローラ１３０に出力する。
【０１２４】
システムコントローラ１３０は、スキュディレイにステップ値を加算し（Ｂ２１０７）、スキュディレイが終了値に達したか達していないかを判定する（Ｂ２１０８）。スキュディレイが終了値に達していないと判定した場合（Ｂ２１０８のＮＯ）、システムコントローラ１３０は、Ｂ２１０３の処理へ戻る。スキュディレイが終了値に達したと判定した場合（Ｂ２１０８のＹＥＳ）、システムコントローラ１３０は、ヘッドアンプＩＣ６０から入力されたステータスから、スキュディレイと、スキュディレイ及びＷＰＣディレイを加えたクロック信号の極性反転のタイミングでライトデータを検出できるか検出できないかを示すステータスとの関係を示すプロファイルを生成する（Ｂ２１０９）。システムコントローラ１３０は、生成したプロファイルからスキュディレイの最適値を取得し（Ｂ２１１０）、最適値をフェイズスキュに設定し（Ｂ２１１１）、処理を終了する。
【０１２５】
本第２実施形態において、第１実施形態の図１０及び図１１に示したようにライトデータとクロック信号との間に生じるビットスキュを調整できるが、第１実施形態に示したライトデータとＤＤＷ制御信号との間に生じるビットスキュの調整方法と同等の構成が適用できるため説明を割愛する。また、本第２実施形態にも、第１実施形態の図１２に示した製造工程が適用できる。本第２実施形態では、図１２に示したＢ１２０１の処理において、システムコントローラ１３０は、図２０及び図２１に示したフェイズスキュの調整方法の一例を実行し、フェイズスキュを調整する。  
本第２実施形態によれば、上記第１実施形態と同様の効果が得られる。
【０１２６】
なお、本第２実施形態に示したプリアンプモードのＤＤＷ処理を実行するための構成と第１実施形態に示したＲ／ＷチャネルモードのＤＤＷ処理を実行するための構成とを別々に記載したが、磁気ディスク装置１は、これら２つの構成を備えていてもよい。
【０１２７】
例えば、図２２は、プリアンプモード及びＲ／ＷチャネルモードのＤＤＷ処理を実行するためのシステムコントローラ１３０におけるライト系の構成例を示す模式図である。図２２において、システムコントローラ１３０は、第１実施形態において図２に示したライト補償部（第１ライト補償部）１３２１と、第２実施形態において図１６に示したライト補償部（第2ライト補償部）１３３２とを備えている。システムコントローラ１３０は、例えば、プリアンプモード及びＲ／Ｗチャネルモードの切り替えることができる。プリアンプモードに設定された場合、システムコントローラ１３０は、ライトデータとクロック信号とをプリアンプモードの信号経路で出力する。Ｒ／Ｗチャネルモードに設定された場合、システムコントローラ１３０は、ライトデータとＤＤＷ制御信号とをＲ／Ｗチャネルモードの信号経路で出力する。
【０１２８】
図２３は、プリアンプモード及びＲ／ＷチャネルモードのＤＤＷ処理を実行するためのヘッドアンプＩＣ６０におけるライト系の構成例を示す模式図である。ヘッドアンプＩＣ６０は、信号処理部６３０と、マルチプレクサ６０９とを備えている。信号処理部６３０は、ライト電流ドライバ６０５と、ステータス生成部６０７とに電気的に接続されている。信号処理部６３０は、パターン検出部６０２と、データバッファ６０３とを備えている。マルチプレクサ６０９は、ライト電流ドライバ６０５と電気的に接続されている。マルチプレクサ６０９は、選択制御入力ＳＩＧに従って、システムコントローラ１３０の第２オフセット制御部１３３３から入力されたＤＤＷ制御信号と、データバッファ６０３から入力されたＤＤＷ制御信号との内のいずれか一方をライト電流ドライバ６０５に出力する。例えば、マルチプレクサ６０９は、Ｒ／Ｗチャネルモードの選択制御入力ＳＩＧが入力された場合、システムコントローラ１３０の第２オフセット制御部１３３３から入力されたＤＤＷ制御信号をライト電流ドライバ６０５に出力する。マルチプレクサ６０９は、プリアンプモードの選択制御入力ＳＩＧが入力された場合、信号処理部６３０から入力されたＤＤＷ制御信号をライト電流ドライバ６０５に出力する。このような構成により、磁気ディスク装置１は、プリアンプモード及びＲ／ＷチャネルモードでＤＤＷ処理を実行できる。この場合、磁気ディスク装置１は、プリアンプモード、又はＲ／Ｗチャネルモードに応じて、フェイズスキュ及びビットスキュを調整する。また、磁気ディスク装置１は、プリアンプモード、又はＲ／Ｗチャネルモードに応じて、調整により取得したフェイズスキュ及びビットスキュを設定する。
【０１２９】
いくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１３０】
１…磁気ディスク装置、１０…磁気ディスク、１０ａ…記録領域、１０ｂ…システムエリア、１２…スピンドルモータ（ＳＰＭ）、１３…アーム、１４…ボイスコイルモータ（ＶＣＭ）、１５…ヘッド、１５Ｗ…ライトヘッド、１５Ｒ…リードヘッド、２０…ドライバＩＣ、３０…マイクロプロセッサ（ＭＰＵ）、４０…ハードディスクコントローラ（ＨＤＣ）、５０…リード／ライト（Ｒ／Ｗ）チャネル、６０…ヘッドアンプＩＣ、７０…揮発性メモリ、８０…バッファメモリ、９０…不揮発性メモリ、１００…ホストシステム（ホスト）、１３０…システムコントローラ。
【図１】
2018049677.tif 000003
【図２】
2018049677.tif 000004
【図３】
2018049677.tif 000005
【図４】
2018049677.tif 000006
【図５】
2018049677.tif 000007
【図６】
2018049677.tif 000008
【図７】
2018049677.tif 000009
【図８】
2018049677.tif 000010
【図９】
2018049677.tif 000011
【図１０】
2018049677.tif 000012
【図１１】
2018049677.tif 000013
【図１２】
2018049677.tif 000014
【図１３】
2018049677.tif 000015
【図１４】
2018049677.tif 000016
【図１５】
2018049677.tif 000017
【図１６】
2018049677.tif 000018
【図１７】
2018049677.tif 000019
【図１８】
2018049677.tif 000020
【図１９】
2018049677.tif 000021
【図２０】
2018049677.tif 000022
【図２１】
2018049677.tif 000023
【図２２】
2018049677.tif 000024
【図２３】
2018049677.tif 000025