(57)【要約】【課題】シリアル・データ転送のエラーを回復する。【解決手段】本発明の一実施形態において、ＨＤＤ１のテストにおいて、テスト実行制御部５２１からのコマンドに従って、ＨＤＤ１がホスト５にデータを転送する。テスト実行制御部５２１が、予め定められた所定の転送エラーが発生したと判定すると、テスト実行制御部５２１は、ＨＤＤ１にＰＬＬ回路３６３の調整を指示する。ＭＰＵ２３０が、テスト実行制御部５２１からの指示に従ってＰＬＬ回路３６３を調整し、エラーが起きたリード・プロセスのリトライを行う。【選択図】図３
2007317263.tif 000002
【特許請求の範囲】
【請求項１】
ホストとデータ記憶装置との間におけるシリアル・データ転送方法であって、
前記シリアル・データ転送における所定のデータ転送エラーの有無を判定し、
前記判定の判定結果に基づいて、前記シリアル・データ転送のためのクロック信号を生成するクロック生成回路を調整し、
調整した前記クロック生成回路のクロック信号に従って、前記ホストと前記データ記憶装置との間のシリアル・データ転送を行う、方法。
【請求項２】
前記クロック生成回路はＰＬＬ回路を含み、
前記クロック生成回路の調整は、前記ＰＬＬ回路のＶＣＯのゲインを調整する、
請求項１に記載の方法。
【請求項３】
前記データ記憶装置のテスト工程において、１データ転送単位におけるデータ・サイズが最も大きい転送モードにおけるデータ転送エラーの有無を判定し、
前記判定の判定結果に基づいて、前記シリアル・データ転送のためのクロック信号を生成する前記データ記憶装置におけるクロック生成回路を調整し、
調整した前記クロック生成回路のクロック信号に従って、前記データ記憶装置との間のシリアル・データ転送のテストを再度行う、
請求項１に記載の方法。
【請求項４】
前記データ転送エラーとして、前記データ記憶装置から前記ホストへの転送エラーの有無を判定し、
前記判定の判定結果に基づいて、前記シリアル・データ転送のためのクロック信号を生成する前記データ記憶装置におけるクロック生成回路を調整する、
請求項１または３に記載の方法。
【請求項５】
前記データ転送エラーとして、前記データ記憶装置から前記ホストへの転送におけるＣＲＣエラーの有無を判定し、
前記判定の判定結果に基づいて、前記シリアル・データ転送のためのクロック信号を生成する前記データ記憶装置におけるクロック生成回路を調整する、
請求項１または３に記載の方法。
【請求項６】
シリアル・データ転送を行うホストとデータ記憶装置とを含むシステムであって、
前記ホストは、前記シリアル・データ転送におけるデータ転送エラーの有無を判定し、その判定結果に基づいて前記データ記憶装置に指示を行い、
前記データ記憶装置は、前記シリアル・データ転送のためのクロック信号を生成するクロック生成回路と、前記ホストからの指示に従って前記クロック生成回路を調整するコントローラとを有する、
シリアル・データ転送を行うシステム。
【請求項７】
前記クロック生成回路はＰＬＬ回路を含み、
前記コントローラは、前記ＰＬＬ回路のＶＣＯのゲインを調整する、
請求項６に記載のシステム。
【請求項８】
前記ホストは、前記データ転送エラーとして、１データ転送単位におけるデータ・サイズが最も大きい転送モードにおけるデータ転送エラーの有無を判定する、
請求項６に記載のシステム。
【請求項９】
前記ホストは、前記データ転送エラーとして、前記データ記憶装置から前記ホストへの送信エラーの有無を判定する、
請求項７に記載のシステム。
【請求項１０】
シリアル・データ転送のインターフェース回路と、
前記インターフェース回路がシリアル・データ転送を行うためのクロック信号を生成するクロック生成回路と、
前記シリアル・データ転送における予め定められた転送エラーが起きた場合、前記クロック生成回路を調整するコントローラと、
を有するデータ記憶装置。
【請求項１１】
前記クロック生成回路はＰＬＬ回路を含み、
前記コントローラは、前記ＰＬＬ回路のＶＣＯのゲインを調整する、
請求項１０に記載のデータ記憶装置。
【請求項１２】
前記コントローラは、リード・プロセスにおいて予め定められた転送エラーが起きた場合、前記クロック生成回路を調整する、
請求項１０に記載のデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はシリアル・データ転送方法、そのシステム及びデータ記憶装置に関し、特に、シリアル・データ転送におけるクロック調整に関する。
【背景技術】
【０００２】
データ記憶装置として、光ディスクや磁気テープなどの様々な態様のメディアを使用する装置が知られている。その中で、ハードディスク・ドライブ（以下、ＨＤＤ）は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。さらに、コンピュータにとどまらず、動画像記録再生装置、携帯電話、カーナビゲーション・システム、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、ＨＤＤの用途はその優れた特性により益々拡大している。
【０００３】
ＨＤＤで使用される磁気ディスクは、同心円状に形成された複数のトラックを有しており、各トラックは複数のセクタに区分されている。各セクタにはセクタのアドレス情報と、ユーザ・データが記憶される。ヘッド素子部がセクタのアドレス情報に従って所望のセクタにアクセスすることによって、セクタへのデータ書き込みあるいはセクタからのデータ読み出しを行うことができる。データ読み出し処理において、ヘッド素子部が磁気ディスクから読み出した信号は、信号処理回路によって波形整形や復号処理などの所定の信号処理が施され、ホストに送信される。ホストからの転送データは、信号処理回路によって同様に所定処理された後に、磁気ディスクに書き込まれる。
【０００４】
ホストとＨＤＤとの間のデータ転送のためのインターフェースは、ＳＣＳＩインターフェースやＡＴＡインターフェースなどのプロトコルが一般に使用されている。特に、ＡＴＡインターフェースは、インターフェース機能の向上と低コストの点から、多くのコンピュータにおいて利用され、また、光ディスク記憶装置などの他のタイプに記憶装置のインターフェースとしても広く利用されている。記憶媒体の記録密度の向上及びパフォーマンス向上への要求から、ＡＴＡインターフェースのデータ転送速度に対する要求は、益々厳しいものになっている。
【０００５】
このため、従来のパラレル転送による転送方式に代えて、シリアル転送によるＡＴＡインターフェースが提案されている。シリアルＡＴＡ（ＳＡＴＡ）の規格は、The Serial ATA International Organizationによって策定が進められており、例えばThe Serial ATA International Organizationによる仕様文書（非特許文献１）に詳しく記載されている。
【非特許文献１】"Serial ATA Revision 2.5 Specification" The Serial ATA International Organization, August/23/2005.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
シリアル・データ転送により配線間のクロストーク及びスキューを避けることによって、データ転送スピードを向上することができる。しかし、シリアル・データ転送においては、そのジッタが問題となる。シリアル・データ転送の転送周波数は、ＨＤＤ及びホストのＰＬＬ（Phase Locked Loop）回路によって決定される。従って、ＰＬＬ回路の特性が、シリアル・データ転送の波形品質に大きく影響してくる。
【課題を解決するための手段】
【０００７】
本発明の一態様は、ホストとデータ記憶装置との間におけるシリアル・データ転送方法である。この方法は、前記シリアル・データ転送における所定のデータ転送エラーの有無を判定し、前記判定の判定結果に基づいて前記シリアル・データ転送のためのクロック信号を生成するクロック生成回路を調整する。そして、調整した前記クロック生成回路のクロック信号に従って、前記ホストと前記データ記憶装置との間のシリアル・データ転送を行う。データ転送エラーに基づいてＰＬＬ回路を調整することで、容易かつ効果的にジッタを低減し、転送エラーの回復を図ることができる。
【０００８】
前記クロック生成回路はＰＬＬ回路を含み、前記クロック生成回路の調整は前記ＰＬＬ回路のＶＣＯのゲインを調整することができる。ＶＣＯのゲインを調整することで、容易かつ効果的にジッタ低減を図ることができる。
前記データ転送エラーとして、前記データ記憶装置から前記ホストへの転送エラーの有無を判定し、前記判定の判定結果に基づいて前記シリアル・データ転送のためのクロック信号を生成する前記データ記憶装置におけるクロック生成回路を調整することが好ましい。また、前記データ転送エラーとして、前記データ記憶装置から前記ホストへの転送におけるＣＲＣエラーの有無を判定することが好ましい。これによって、ＰＬＬ回路に起因する転送エラーを効果的に検出し、そのエラー回復を図ることができる。
【０００９】
好ましくは、前記データ記憶装置のテスト工程において、１データ転送単位におけるデータ・サイズが最も大きい転送モードにおけるデータ転送エラーの有無を判定する。そして、前記判定の判定結果に基づいて前記シリアル・データ転送のためのクロック信号を生成する前記データ記憶装置におけるクロック生成回路を調整し、調整した前記クロック生成回路のクロック信号に従って前記データ記憶装置との間のシリアル・データ転送のテストを再度行う。これによって、データ記憶装置のテストにおいてＰＬＬ回路に起因する転送エラーを効果的に検出し、ＰＬＬ回路を調整することでそのエラー回復を図ることができる。
【００１０】
本発明の他の態様は、シリアル・データ転送を行うホストとデータ記憶装置とを含むシステムである。ホストは、前記シリアル・データ転送におけるデータ転送エラーの有無を判定し、その判定結果に基づいて前記データ記憶装置に指示を行う。データ記憶装置は、前記シリアル・データ転送のためのクロック信号を生成するクロック生成回路と、前記ホストからの指示に従って前記クロック生成回路を調整するコントローラとを有する。データ転送エラーに基づいてＰＬＬ回路を調整することで、容易かつ効果的にジッタを低減し、転送エラーの回復を図ることができる。
【００１１】
本発明の他の態様に係るデータ記憶装置は、シリアル・データ転送のインターフェース回路と、前記インターフェース回路がシリアル・データ転送を行うためのクロック信号を生成するクロック生成回路と、前記シリアル・データ転送における予め定められた転送エラーが起きた場合、前記クロック生成回路を調整するコントローラを有する。データ転送エラーに基づいてＰＬＬ回路を調整することで、容易かつ効果的にジッタを低減し、転送エラーの回復を図ることができる。
【発明の効果】
【００１２】
本発明によれば、シリアル・データ転送におけるジッタを容易かつ効果的に低減することができる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明を適用可能な実施の形態が説明される。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。尚、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
【００１４】
以下においては、データ記憶装置の一例であるハードディスク・ドライブ（ＨＤＤ）を例として、本発明の実施形態を説明する。本形態のＨＤＤは、シリアル・インターフェースによって、ホストとコマンド及びユーザ・データの授受を行う。ＨＤＤは、シリアル・データ転送のためのクロック生成回路を有し、ホストとの間のデータ転送における所定のエラーに応じて、そのクロック生成回路を調整する。これによって、そのデータ転送におけるエラー回復を図る。本実施形態の特徴点の理解を容易とするため、最初に、ＨＤＤの全体構成を説明する。
【００１５】
図１は、本実施の形態に係るＨＤＤ１の全体構成を模式的に示すブロック図である。図１に示すように、ＨＤＤ１は、エンクロージャ１０内に、メディア（記録媒体）の一例である磁気ディスク１１、ヘッド素子部１２、アーム電子回路（アームエレクトロニクス：ＡＥ）１３、スピンドル・モータ（ＳＰＭ）１４、ボイス・コイル・モータ（ＶＣＭ）１５、そしてアクチュエータ１６を備えている。
【００１６】
ＨＤＤ１は、エンクロージャ１０の外側に固定された回路基板２０を備えている。回路基板２０上には、リード・ライト・チャネル（ＲＷチャネル）２１、モータ・ドライバ・ユニット２２、ハードディスク・コントローラ（ＨＤＣ）とＭＰＵの集積回路（以下、ＨＤＣ／ＭＰＵ）２３、ＲＡＭ２４及びＲＯＭ２５などの各ＩＣを備えている。尚、各回路構成は一つのＩＣに集積すること、あるいは、複数のＩＣに分けて実装することができる。
【００１７】
外部ホスト５からのユーザ・データは、ＨＤＣ／ＭＰＵ２３によって受信され、ＲＷチャネル２１、ＡＥ１３を介して、ヘッド・スライダ１２によって磁気ディスク１１に書き込まれる。また、磁気ディスク１１に記憶されているユーザ・データはヘッド・スライダ１２によって読み出され、そのユーザ・データは、ＡＥ１３、ＲＷチャネル２１を介して、ＨＤＣ／ＭＰＵ２３から外部ホスト５に出力される。本形態のＨＤＤ１は、ホスト５との間においてシリアル・データ転送により、コマンド及びユーザ・データのデータ転送を行う。
【００１８】
ＳＰＭ１４は、そこに固定されている磁気ディスク１１を、所定の角速度で回転する。ＨＤＣ／ＭＰＵ２３からの制御データに従って、モータ・ドライバ・ユニット２２がＳＰＭ１４を駆動する。本例の磁気ディスク１１は、データを記録する記録面を両面に備え、各記録面に対応するヘッド素子部１２が設けられている。
【００１９】
各ヘッド素子部１２はスライダ（不図示）に固定されている。また、スライダはアクチュエータ１６に固定されている。アクチュエータ１６はＶＣＭ１５に連結され、回動軸を中心に回動することによって、ヘッド素子部１２（及びスライダ）を磁気ディスク１１上において半径方向に移動する。モータ・ドライバ・ユニット２２は、ＨＤＣ／ＭＰＵ２３からの制御データに従ってＶＣＭ１５を駆動する。ヘッド素子部１２には、典型的には、ライト・データに応じて電気信号を磁界に変換するライト素子及び磁気ディスク１１からの磁界を電気信号に変換するリード素子を備えている。なお、磁気ディスク１１は、１枚以上あればよく、記録面は磁気ディスク１１の片面あるいは両面に形成することができる。また、本発明をリード素子のみを備えるデータ記憶装置に適用することができる。
【００２０】
ＡＥ１３は、複数のヘッド素子部１２の中からデータ・アクセスが行われる１つのヘッド素子部１２を選択し、選択されたヘッド素子部１２により再生される再生信号を一定のゲインで増幅（プリアンプ）し、ＲＷチャネル２１に送る。また、ＲＷチャネル２１からの記録信号を選択されたヘッド素子部１２に送る。
【００２１】
ＲＷチャネル２１は、ライト処理において、ＨＤＣ／ＭＰＵ２３から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号に変換してＡＥ１３に供給する。リード処理において、ＲＷチャネル２１はＡＥ１３から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたリード・データは、ＨＤＣ／ＭＰＵ２３に供給される。
【００２２】
ＨＤＣ／ＭＰＵ２３において、ＭＰＵはＲＡＭ２４にロードされたマイクロ・コードに従って動作する。ＨＤＤ１の起動に伴い、ＲＡＭ２４には、ＭＰＵ上で動作するマイクロ・コードの他、制御及びデータ処理に必要とされるデータが磁気ディスク１１あるいはＲＯＭ２５からロードされる。ＨＤＣはロジック回路として構成され、ＭＰＵと一体的に様々な処理を実行する。例えば、ＨＤＣ／ＭＰＵ２３は、コマンド実行順序の管理、ヘッド素子部１２のポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、ＨＤＤ１の全体制御を実行する。
【００２３】
ＨＤＣ／ＭＰＵ２３は、ＲＷチャネル２１から取得した磁気ディスク１１からのリード・データを、ホスト５に転送する。磁気ディスク１１からのリード・データは、ＲＡＭ２４内のバッファに一旦格納された後、ＨＤＣ／ＭＰＵ２３を介してホスト５に転送される。また、ホスト５からのライト・データは、ＨＤＣ／ＭＰＵ２３を介して、ＲＡＭ２４内のバッファに一旦格納され、その後、所定のタイミングでＨＤＣ／ＭＰＵ２３を介して磁気ディスク１１に転送される。
【００２４】
次に、本形態のＨＤＤ１におけるクロック制御及びそれに伴うホスト５との間の処理について説明する。本形態のＨＤＤ１は、ホスト５との間において、シリアル・データ転送によって、コマンド、ユーザ・データあるいはデータ転送プロトコルにおける制御データなどのデータ送受信を行う。また、ＨＤＤ１は、シリアル・データ転送のためのクロック信号を生成するＰＬＬ（Phase Locked Loop）回路の調整を行う。
【００２５】
本形態のシリアル・インターフェース部のクロック制御は、特に、データ記憶装置とホストとの間のデータ転送方法を規定するSerial ATA（ＳＡＴＡ）仕様に好適である。以下において、必要に応じてＳＡＴＡに言及して本実施形態が説明する。しかし、本発明の適用範囲がＳＡＴＡに限定されるものではない。
【００２６】
図２は、本形態のＨＤＣ／ＭＰＵ２３内部の一部回路構成の概略を模式的に示すブロック図である。ＨＤＣ／ＭＰＵ２３は、ＭＰＵ２３０、ＲＡＭ２４との間のデータ転送を制御するメモリ・コントローラ２３１、オシレータ２３２、オシレータ２３２の信号からシステム・クロック信号を生成するシステム・クロック・ジェネレータ２３３、ホスト５との間の通信の制御を行うＩ／Ｏコントローラ２３４、ホスト５との間のシリアル・データ通信をインターフェースするシリアル・インターフェース部２３６を備えている。
【００２７】
シリアル・インターフェース部２３６は、アナログ・フロント・エンド３６１、ＰＬＬ回路３６３、シリアライザ３６６、ディシリアライザ３６７を有している。アナログ・フロント・エンド３６１は、トランスミッタ３６４とレシーバ３６５を含んでいる。
【００２８】
クロック生成回路の一例であるＰＬＬ回路３６３は、オシレータ２３２からのリファレンス・クロック信号（REF CLK）から、シリアル・データ送受信のためのクロック信号（PLL CLK）を生成する。ＰＬＬ回路３６３は、生成したクロック信号（PLL CLK）を、シリアライザ３６６及びディシリアライザ３６７に供給する。
【００２９】
シリアライザ３６６は、ＰＬＬ回路３６３からのクロック信号（PLL CLK）に従って、パラレル・データをシリアル・データに変換してアナログ・フロント・エンド３６１に出力する。ディシリアライザ３６７は、ＰＬＬ回路３６３からのクロック信号（PLL CLK）に従って、アナログ・フロント・エンド３６１からのシリアル・データをパラレル・データに変換する。ディシリアライザ３６７は、受信したシリアル・データに埋め込まれているクロック信号に同期したクロック信号に従って、シリアル−パラレル変換を実行する。なお、本形態のシリアル・インターフェース部２３６は、一つのＰＬＬ回路３６３からシリアライザ３６６及びディシリアライザ３６７にクロック信号を供給するが、各別のＰＬＬ回路を有してもよい。
【００３０】
続いて、本形態のＨＤＤ１における、シリアル・インターフェース部２３６のクロック調整について具体的に説明する。本形態のＨＤＤ１は、ホスト５との間において所定の転送エラーが生じた場合に、ＰＬＬ回路３６３のパラメータを調整する。個々のＬＳＩにあったパラーメー値をセットすることによって、ホスト５とＨＤＤ１との間のシリアル・インターフェースにおけるジッタを低減し、ホスト５とＨＤＤ１との間における転送エラーの回復を図る。以下においては、好ましい一態様として、ＨＤＤ１のテスト工程におけるＰＬＬ回路の調整について説明する。
【００３１】
図３は、ＨＤＤ１のテスト工程におけるＰＬＬ回路の調整に関連する構成要素を模式的に示すブロック図である。ホスト５は、ＨＤＤ１とのシリアル・データ転送を行うインターフェース回路（Ｉ／Ｆ）５１と、プロセッサ５２を有している。ホスト５はＨＤＤ１のテストを実行制御するプログラムを実行する。プロセッサ５２は、そのプログラムに従って動作することによって、テスト実行制御部５２１として機能する。
【００３２】
ＨＤＤ１とホスト５との間において所定の転送エラーが発生した場合、ＭＰＵ２３０がＰＬＬ回路３６３の調整を行う。実際にジッタを測定することなくＰＬＬ回路３６３の調整を行うことで、テスト時間を短縮することができる。図４のブロック図に示すように、ＰＬＬ回路３６３は、位相検出器６３１、チャージ・ポンプ６３２、ループ・フィルタ６３３、ＶＣＯ（Voltage Controlled Oscillator）６３４、Ｎ分周器６３５及びレジスタ６３６を有している。ＰＬＬ回路３６３は、リファレンス・クロック信号（REF CLK）のＮ倍のクロック信号を生成する。
【００３３】
位相検出器６３１は、リファレンス・クロック信号とＮ分周器６３５の出力の位相差に比例した電圧を出力する。チャージ・ポンプ６３２は位相検出器６３１からの出力を所定の電圧に変換する。ループ・フィルタ６３３はチャージ・ポンプ６３２からの出力をフィルタリングし、ＰＬＬ回路の時定数を決定する。ＶＣＯ６３４は、ループ・フィルタ６３３からの入力電圧に従った周波数の信号を出力し、これがＰＬＬ回路３６３からのクロック信号（PLL CLK）となる。ＶＣＯ６３４の出力は、Ｎ分周器６３５を介して位相検出器６３１にフィード・バックされる。
【００３４】
ＭＰＵ２３０は、レジスタ６３６に値を設定することによって、ＰＬＬ回路３６３の回路パラメータを設定することができる。具体的には、ＭＰＵ２３０は、位相検出器６３１の応答特性、チャージ・ポンプ６３２のゲイン、ループ・フィルタ６３３のフィルタ定数、あるいは、ＶＣＯ６３４のゲインなどを調整することができる。ＨＤＤ１とホスト５との間におけるデータ転送エラーに対しては、ＶＣＯゲインの調整が特に効果的である。
【００３５】
ＨＤＤ１のテストにおいて、テスト実行制御部５２１は、リード・テスト及びライト・テストの双方を行う。また、ＳＡＴＡはＰＩＯ（Programmed I/O）及びＤＭＡ（Direct Memory Access）の各モードを有している。ホスト５は、さらに、ＤＭＡモードにおいて、コマンド・キューイング（Native Command Queuing）を伴うコマンド（Read First Party DMA Queued/Write First Party DMA Queued）を使用することもできる。テスト実行制御部５２１は、ＨＤＤ１のテストにおいて、ＰＩＯモード及びＤＭＡモードの双方について、リード及びライトのテストを行う。
【００３６】
好ましいＨＤＤ１のテストにおいて、ＨＤＤ１は、ＤＭＡモードのリード・プロセス（ＨＤＤ１からホスト５へのデータ転送）において所定の転送エラーが発生した場合、ＰＬＬ回路３６３の調整を行う。ライト・プロセス（ホスト５からＨＤＤ１へのデータ転送）、あるいは、ＰＩＯモードにおけるリード・プロセスにおいては、ＰＬＬ回路３６３の調整（ＶＣＯゲイン調整）を行わない。ＤＭＡリード以外の入出力プロセスにおいて、ＰＬＬ回路３６３の調整をスキップすることで、テスト時間の短縮を図ることができる。
【００３７】
データ転送エラーは、データ送信側のクロック信号のジッタに依存しやすい。従って、ＨＤＤ１内のＰＬＬ回路３６３に起因するジッタの影響は、ＨＤＤ１からホスト５へのデータ転送、つまり、リード・プロセスにおいて発生しやすい。このことから、リード・プロセスにおける転送エラーに応じてＰＬＬ回路３６３を調整することで、ＭＰＵ２３０は、ＰＬＬ回路３６３を最適な設定にすることができる。
【００３８】
また、データ転送エラーは、１回のデータ転送で転送されるデータ転送単位のデータ・サイズに依存する。つまり、最もデータ・サイズの大きいデータ転送モードにおいて、ジッタによるエラーが発生しやすい。ＳＡＴＡにおいては、ＦＩＳ（Frame Information Structure）と呼ばれるデータ・フレーム単位で、コマンドやユーザ・データなどの各データが転送される。
【００３９】
図５は、ユーザ・データを転送するデータＦＩＳのデータ・フォーマットを模式的に示している。データＦＩＳは、フレームの開始と終了を示すＳＯＦ（Start Of FIS）及びＥＯＳ（End Of FIS）の間に、ユーザ・データ及びＣＲＣＣ（Cyclic Redundancy Check Code）を有している。ＤＭＡモードにおいて、データＦＩＳは、１ダブル・ワードから２Ｋダブル・ワードまでのデータを転送することができる。つまり、１データＦＩＳは、最大、８ＫＢのデータを転送することができる。
【００４０】
ＤＭＡモードは、最もサイズの大きいデータをデータＦＩＳで転送できるモードである。従って、そのデータ転送モードにおいて、クロック信号のジッタによる転送エラーが最も生じやすい。このことから、ＤＭＡモードのリード・プロセスにおける転送エラーに応じてＰＬＬ回路３６３を調整することで、ＭＰＵ２３０は、ＰＬＬ回路３６３を最適な設定にすることができる。
【００４１】
なお、テスト時間短縮の要求がない場合には、他の転送モードにおけるテスト、もしくはライト・プロセスにおける転送エラーに対しても、ＰＬＬ回路３６３の調整を行ってもよい。また、ＤＭＡリードを含む、いくつかの一部の転送タイプにおいて、ＰＬＬ回路３６３を調整してもよい。この場合においても、ＰＬＬ回路調整を行う転送タイプとして、ライト・プロセスよりはリード・プロセスを優先的に選択し、また、最もデータ転送サイズの大きいモードを優先的に選択することが好ましい。なお、ＤＭＡリードでＰＬＬ回路調整を行わず、他のデータ転送プロセス（データ転送テスト）においてＰＬＬ回路調整を行うことを妨げるものではない。
【００４２】
図６のフローチャートを参照して、リード・プロセスにおけるＰＬＬ回路調整について説明する。テスト実行制御部５２１からのコマンドに従って、ＨＤＤ１がホスト５にデータを転送する（Ｓ１１）。テスト実行制御部５２１が、予め定められた所定の転送エラーが発生したと判定すると（Ｓ１２におけるＹＥＳ）、テスト実行制御部５２１は、ＨＤＤ１にＰＬＬ回路３６３の調整を指示する（Ｓ１４）。なお、テスト実行制御部５２１は、ＰＬＬ回路３６３の調整指示として、所定エラー発生をＨＤＤ１に通知してもよい。
【００４３】
ＭＰＵ２３０が、テスト実行制御部５２１からの指示に従ってＰＬＬ回路３６３を調整し（Ｓ１５）、エラーが起きたリード・プロセスのリトライを行う（Ｓ１６）。基準回数の転送リトライが行われた場合は（Ｓ1３におけるＹＥＳ）、再度のＰＬＬ回路調整及びリード・リトライはスキップされる。また、転送エラーが起きることなくデータ転送できた場合（Ｓ１２におけるＮＯ）、ＰＬＬ回路調整は行われない。
【００４４】
ＰＬＬ回路の３６３調整の起因として好ましい転送エラーの例は、ＣＲＣエラーである。リード・プロセスにおいて、ホスト５のシリアルＩ／Ｆ５１は、ＣＲＣＣを使用して、正確にデータ転送されたことをチェックする。正確なデータ転送されていない場合、ＣＲＣエラーとなる。なお、ライト・プロセスにおいては、ＨＤＤ１のＩ／Ｏコントローラ２３４が同様の処理を実行する。
【００４５】
クロック信号にジッタが存在する場合、ＣＲＣエラーが発生しやすい。このため、ＰＬＬ回路３６３を調整することで転送エラーの回復を図ることができる。この他の転送エラーとしては、転送データが予め規定されたパターンになってないデコード・エラー、あるいは、０もしくは１の割合が規則に従っていない場合のディスパリティ・エラーなどを、ＰＬＬ回路調整の起因として使用することができる。これらの転送エラーの検出も、シリアルＩ／Ｆ５１、Ｉ／Ｏコントローラ２３４が実行する。
【００４６】
ＤＭＡモードにおけるリード・プロセスにおいて、ＨＤＤ１がＰＬＬ回路３６３を調整する処理について、具体的に説明する。以下の説明においては、ＭＰＵ２３０は、ＰＬＬ回路３６３の調整として、ＶＣＯゲインを調整する例を説明する。テスト実行制御部５２１は、リード・コマンドを発行する。シリアルＩ／Ｆ５１は、そのリード・コマンドをＨＤＤ１に転送する。リード・コマンドは、レジスタＦＩＳと呼ばれるデータ・フレームとして、ＨＤＤ１に転送される。
【００４７】
テスト実行制御部５２１からのリード・コマンドを、アナログ・フロント・エンド３６１が受信する。リード・コマンドは、ＰＬＬ回路３６３からのクロック信号に従ってディシリアライザ３６７によってシリアル−パラレル変換された後に、Ｉ／Ｏコントローラ２３４に転送される。Ｉ／Ｏコントローラ２３４が、ＭＰＵ２３０にコマンド受信を通知する。ＭＰＵ２３０はリード・コマンドを取得し、そのコマンドに従って、磁気ディスク１１からユーザ・データをリードして、バッファ（不図示）に格納する。その後、ＭＰＵ２３０からの指示に従って、Ｉ／Ｏコントローラ２３４が、ＣＲＣＣを付加したユーザ・データをシリアル・インターフェース部２３６に転送する。
【００４８】
シリアライザ３６６は、ＰＬＬ回路３６３からのクロック信号（PLL CLK）に従って、Ｉ／Ｏコントローラ２３４からのデータをシリアル変換する。また、シリアライザ３６６は、ホスト５のシリアルＩ／Ｆ５１がクロック信号を生成するための信号を転送データに埋め込み、Ｉ／Ｏコントローラ２３４からのデータと共にアナログ・フロント・エンド３６１を介してホスト５に転送する。
【００４９】
シリアルＩ／Ｆ５１は、転送データに埋め込まれているクロック・データからクロック信号を生成し、そのクロック信号に従って、ユーザ・データのデコード処理を行う。シリアルＩ／Ｆ５１は、そのとき、ＣＲＣＣを使用してエラー・チェックを行う。転送データが正確なデータでない場合、ＣＲＣＣエラーとなる。
【００５０】
シリアルＩ／Ｆ５１は、ＣＲＣエラーを検出すると、テスト実行制御部５２１に割り込みをかけてそれを通知する。テスト実行制御部５２１は、シリアルＩ／Ｆ５１のレジスタにアクセスして、ＣＲＣエラーが発生したと判定する。テスト実行制御部５２１は、ＣＲＣエラーが起きたことをＨＤＤ１に、シリアルＩ／Ｆ５１を介して通知する。
【００５１】
ＭＰＵ２３０は、テスト実行制御部５２１からＣＲＣエラーの通知を受けると、ＰＬＬ回路３６３のＶＣＯゲインを調整する。具体的には、ＰＬＬ回路３６３のレジスタ６３６に新しいゲイン値をセットする。ＭＰＵ２３０は、さらに、リード・プロセスにおけるデータ転送のリトライを実行する。具体的には、ＭＰＵ２３０は、Ｉ／Ｏコントローラ２３４に対して、転送エラーを起こしたデータの再転送を指示する。Ｉ／Ｏコントローラ２３４は、ＭＰＵ２３０からの指示に従って、ＲＡＭ２４からデータを取り出し、２３６を介してホストに転送する。
【００５２】
ＭＰＵ２３０は、予め定められた手順で、ＶＣＯ６３４のゲインを調整する。ジッタとＶＣＯ６３４のゲインとの関係は、ＬＳＩの設計あるいはその個体差によって変化する。例えば、オシレータ２３２のクロック精度によって、ジッタとＶＣＯ６３４のゲインの関係は変化する。好ましい調整方法の一つは、最初の調整においてゲインを増加もしくは減少させ、その後の調整において減少もしくは増加させる。つまり、ＶＣＯゲインの増加と減少を交互に行う。また、オシレータ２３２の精度が低いＬＳＩにおいては、ＶＣＯゲインを減少させることが好ましく、その精度が高いＬＳＩにおいては、ＶＣＯゲインを増加させることが好ましい。
【００５３】
ＭＰＵ２３０は、ＶＣＯゲインの調整によって正常にデータ転送を行うことができると、そのゲイン値をＲＯＭ２５に保存する。ＲＯＭ２５は、ＥＥＰＲＯＭであり、データの書き換えを行うことができる。ＲＯＭ２５は、ＰＬＬ回路３６３の各パラメータを保存しており、ＨＤＤ１の電源がＯＮされると、この値がＰＬＬ回路３６３に設定される。従って、テスト終了後及び出荷後においては、このＲＯＭ２５に新たに格納されたＶＣＯゲイン値が、ＰＬＬ回路３６３に設定される。
【００５４】
上述の例においては、ＭＰＵ２３０がＶＣＯ６３４の新たなゲイン値を決定するが、テスト実行制御部５２１が、その値を決定してもよい。つまり、ＨＤＤ１のテストにおいて、リード・プロセスにおける所定の転送エラーが発生した場合、テスト実行制御部５２１は、新たなＶＣＯゲイン値を決定する。テスト実行制御部５２１は、新たに決定したＶＣＯゲイン値と、それをＲＯＭ２５の所定のアドレスに格納することを、ＨＤＤ１に指示する。
【００５５】
その指示を受けたＭＰＵ２３０は、転送されたＶＣＯゲイン値を、指定されたＲＯＭ２５のアドレスに格納する。ＨＤＤ１が再起動されると、ＰＬＬ回路３６３のＶＣＯ６３４には、ＲＯＭ２５から読み出された新たなゲイン値が設定される。この状態において、テスト実行制御部５２１は、ＨＤＤ１のテストを、再実行する。なおＶＣＯ６３４のゲインは、ＶＣＯ自体の調整のほか、チャージ・ポンプ６３２の出力を変更することなどによって調整することもできる。
【００５６】
ライト・プロセスにおいてＰＬＬ回路３６３の調整を行う場合、ＨＤＤ１が転送エラーの判定を行う。具体的には、Ｉ／Ｏコントローラ２３４がＣＲＣエラーなどの転送エラーを検出すると、それをＭＰＵ２３０に通知する。ＭＰＵ２３０は、エラー種類を判定し、予め定められた転送エラーである場合にＰＬＬ回路３６３を調整する。ＰＬＬ回路３６３の調整は、リード・プロセスと同様である。
【００５７】
以上、実施形態を例として本発明を説明したが、本発明が上記の実施形態に限定されるものではない。例えば、本発明はＳＡＴＡプロトコルに限定されるものではない。また、各処理と論理構成との関係は上記例に限定されるものではない。設計者は、効率的な機能及び回路構成によって、データ記憶装置を設計することができる。
【００５８】
本実施形態において、ヘッド素子部は、書き込み及び読み出し処理を行うことができる記録再生ヘッドであるが、例えば、記録媒体を取り外し可能であり、再生のみを行う再生専用装置に本発明を適用することも可能である。また、本発明は磁気ディスク装置に有用であるが、半導体メモリや取り出し可能な光ディスクなどのメディアを使用するデータ記憶装置に適用することが可能である。ホストのＰＬＬ回路を調整してもよい。また、ＨＤＤにおけるシリアル・インターフェースのＰＬＬ回路調整は、ＨＤＤｓの転送テストにおいて行うことが好ましいが、出荷後におけるＨＤＤの通常動作においてＰＬＬ回路の調整を行ってもよい。
【図面の簡単な説明】
【００５９】
【図１】本実施の形態に係るＨＤＤの概略構成を模式的に示すブロック図である。
【図２】本実施の形態において、ＨＤＤとホストとの間におけるシリアル・データ転送に関連する構成を模式的に示すブロック図である。
【図３】本実施の形態に係るＨＤＤのテストにおいて、ＨＤＤのシリアル・インターフェースのＰＬＬ回路調整に関連する構成を模式的に示すブロック図である。
【図４】本実施の形態に係るＰＬＬ回路の回路構成を模式的に示すブロック図である。
【図５】本実施形態において、ＳＡＴＡにおけるデータ転送単位としてデータ・フレームであるデータＦＩＳのデータ・フォーマットを模式的に示している。
【図６】リード・プロセスにおけるＰＬＬ回路調整を示すフローチャートである。
【符号の説明】
【００６０】
１  ハードディスク・ドライブ、５  ホスト、１０  エンクロージャ
１１  磁気ディスク、１２  ヘッド素子部、１３  アーム・エレクトロニクス
１４  スピンドル・モータ、１５  ボイス・コイル・モータ、１６  アクチュエータ
２０  回路基板、２１  リード・ライト・チャネル、２２  モータ・ドライバ・ユニット
２３  ハードディスク・コントローラ／ＭＰＵ、５１  シリアル・インターフェース回路
５２  プロセッサ、５２１  テスト実行制御部
２３１  メモリ・コントローラ、２３２  オシレータ
２３３  システム・クロック・ジェネレータ、２３４  Ｉ／Ｏコントローラ
２３６  シリアル・インターフェース部、３６１  アナログ・フロント・エンド
３６３  ＰＬＬ回路、３６４  トランスミッタ、３６５  レシーバ
３６６  シリアライザ、３６７  ディシリアライザ
【図１】
2007317263.tif 000003
【図２】
2007317263.tif 000004
【図３】
2007317263.tif 000005
【図４】
2007317263.tif 000006
【図５】
2007317263.tif 000007
【図６】
2007317263.tif 000008