(57)【要約】【課題】  データ記憶装置において、パフォーマンスの低下を防止するパワー・セーブ・モードを実現する。【解決手段】  本発明の一例であるＨＤＤ１は、ホスト５１からパワー・セーブ・モードへの遷移要求（PMREQ）を受信すると（Ｓ１１）、シリアル・インターフェース部２３６をパワー・セーブ・モードに遷移させるかを、コマンドの実行状態に基づいて判断する（Ｓ１２）。遷移しないと決定すると、ＨＤＤ１はホスト５１に否認の応答（PMNACK）を送信し（Ｓ１３）、シリアル・インターフェース部２３６をアクティブモードに維持する。データ転送が近いタイミングなどにおけるパワー・セーブ・モードへの遷移を拒否することで、パフォーマンスの低下を防止する。【選択図】  図３
2006164012.tif 000002
【特許請求の範囲】
【請求項１】
データ記憶装置のパワー・セーブ・モードの制御方法であって、
ホストからパワー・セーブ・モードへの遷移要求を受信し、
前記ホストからの前記遷移要求に応答して、コマンド実行シーケンスにおける実行状態を判定し、
前記判定された前記コマンド実行状態に基づいて前記要求の認否について決定し、
前記決定された応答を前記ホストに送信する、
パワー・セーブ・モード制御方法。
【請求項２】
前記データ記憶装置は前記ホストとシリアル・データ伝送によってデータ通信を行い、シリアル・インターフェース部を他の回路と別にパワー・セーブ・モードに遷移可能であり、
前記遷移要求は前記インターフェース部のパワー・セーブ・モードへの遷移要求である、
請求項１に記載のパワー・セーブ・モード制御方法。
【請求項３】
ユーザ・データ通信を伴わないコマンドの実行シーケンスにおいて前記遷移要求を受信した場合、前記遷移要求に対して否認の応答を前記ホストに送信する、請求項１に記載のパワー・セーブ・モード制御方法。
【請求項４】
前記ホストへのユーザ・データの送信を伴うリード・コマンドの実行シーケンスにおいて、送信すべき前記ユーザ・データがバッファに格納されてから前記ホストに送信されるまでの間に前記遷移要求を受信した場合、前記遷移要求に対して否認の応答を前記ホストに送信する、請求項１に記載のパワー・セーブ・モード制御方法。
【請求項５】
前記ユーザ・データの送信後、実行中の前記リード・コマンドに対応する次のユーザ・データを格納する領域が前記バッファに確保されるまでの間に、前記遷移要求を受信した場合、前記遷移要求に対して承認の応答を前記ホストに送信し、パワー・セーブ・モードに遷移する、請求項４に記載のパワー・セーブ・モード制御方法。
【請求項６】
前記ホストとの間におけるユーザ・データの通信が準備されている場合、前記遷移要求に対して否認の応答を前記ホストに送信する、請求項１に記載のパワー・セーブ・モード制御方法。
【請求項７】
前記ホストからのユーザ・データの受信を伴うライト・コマンドの実行シーケンスにおいて、受信すべき前記ユーザ・データを格納する領域がバッファに確保されてから前記ホストより前記ユーザ・データを受信するまでの間に前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して否認の決定を行う、請求項１に記載のパワー・セーブ・モード制御方法。
【請求項８】
ホストからパワー・セーブ・モードへの遷移要求を受信する受信部と、
前記ホストからの前記遷移要求に応答して、コマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて前記遷移要求の認否について決定する制御部と、
前記決定に対応する応答を前記ホストに送信する送信部と、
を有するデータ記憶装置。
【請求項９】
前記ホストとシリアル・データ伝送によってデータ通信を行い、他の回路と別にパワー・セーブ・モードに遷移可能であるシリアル・インターフェース部を備え、
前記パワー・セーブ・モードへの遷移要求は、前記シリアル・インターフェース部のパワー・セーブ・モードへの遷移要求である、
請求項８に記載のデータ記憶装置。
【請求項１０】
前記ホストからのユーザ・データの受信を伴うライト・コマンドの実行シーケンスにおいて、受信すべき前記ユーザ・データを格納する領域がバッファに確保されてから前記ホストより前記ユーザ・データを受信するまでの間に前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して否認の決定を行う、請求項８に記載のデータ記憶装置。
【請求項１１】
前記ユーザ・データの前記バッファへの格納後、実行中の前記ライト・コマンドに対応する次のユーザ・データを格納する領域が前記バッファに確保されるまでの間に、前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して承認の決定を行う、請求項１０に記載のデータ記憶装置。
【請求項１２】
通常動作を行うモードとパワー・セーブ・モードとを有するデータ記憶装置であって、
コマンド実行開始後にコマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて、パワー・セーブ・モードへの遷移の認否について決定する制御部と、
前記制御部が遷移承認を決定した場合にパワー・セーブ・モードへ遷移する、ホストとの間の通信インターフェース部と、
を有するデータ記憶装置。
【請求項１３】
前記制御部は、ホストからのパワー・セーブ・モードへの遷移要求に応答して、コマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて、前記承認要求の認否について決定し、
前記通信インターフェース部は、前記決定に対応した応答を前記ホストに送信する、
請求項１２に記載のデータ記憶装置。
【請求項１４】
前記制御部は、ユーザ・データ通信を伴わないコマンドの実行シーケンスに前記遷移要求を受信した場合、前記遷移要求に対する否認の決定を行う、請求項１３に記載のデータ記憶装置。
【請求項１５】
前記ホストへのユーザ・データの送信を伴うリード・コマンドの実行シーケンスにおいて、送信すべき前記ユーザ・データがバッファに格納されてから前記ホストに送信されるまでの間に前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して否認の決定を行う、請求項１３に記載のデータ記憶装置。
【請求項１６】
前記ユーザ・データの送信後、実行中の前記リード・コマンドに対応する次のユーザ・データを格納する領域が前記バッファに確保されるまでの間に、前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して承認の決定を行い、前記通信インターフェース部はパワー・セーブ・モードに遷移する、請求項１５に記載のデータ記憶装置。
【請求項１７】
前記通信インターフェース部は、ライト・コマンドの実行シーケンスにおいて前記ホストにデータ転送の要求を送信し、
前記制御部は、前記要求の送信後から前記要求に対するデータを前記ホストから受信するまでの間、前記ホストに対するパワー・セーブ・モードへの遷移要求の送信を否認する、
請求項１２に記載のデータ記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ記憶装置のパワー・セーブ・モード制御に関する。
【背景技術】
【０００２】
データ記憶装置として、光ディスクや磁気テープあるいは半導体メモリなどの様々な態様のメディアを使用する装置が知られている。その中で、ハードディスク・ドライブ（以下、ＨＤＤ）は、コンピュータの記憶装置として広く普及し、現在のコンピュータ・システムにおいて欠かすことができない記憶装置の一つとなっている。さらに、コンピュータにとどまらず、動画像記録再生装置、カーナビゲーション・システム、あるいはデジタル・カメラなどで使用されるリムーバブルメモリなど、ＨＤＤの用途はその優れた特性により益々拡大している。
【０００３】
ＨＤＤで使用される磁気ディスクは、同心円状に形成された複数のトラックを有しており、各トラックは複数のセクタに区分されている。各セクタにはセクタのアドレス情報と、ユーザ・データが記憶される。ヘッド素子部がセクタのアドレス情報に従って所望のセクタにアクセスすることによって、セクタへのデータ書き込みあるいはセクタからのデータ読み出しを行うことができる。データ読み出し処理において、ヘッド素子部が磁気ディスクから読み出した信号は信号処理回路によって波形整形や復号処理などの所定の信号処理が施され、ホストに送信される。ホストからの転送データは、信号処理回路によって同様に所定処理された後に、磁気ディスクに書き込まれる。
【０００４】
ホストとＨＤＤとの間のデータ伝送のためのインターフェースは、ＳＣＳＩインターフェースやＡＴＡインターフェースなどのプロトコルが一般に使用されている。特に、ＡＴＡインターフェースは、インターフェース機能の向上と低コストの点から、多くのコンピュータにおいて利用され、また、光ディスク記憶装置などの他のタイプに記憶装置のインターフェースとしても広く利用されている。記憶媒体の記録密度の向上及びパフォーマンス向上への要求から、ＡＴＡインターフェースのデータ転送速度に対する要求は、益々厳しいものになっている。
【０００５】
このため、従来のパラレル伝送による伝送方式に代えて、シリアル伝送によるＡＴＡインターフェースが提案されている。シリアルＡＴＡ（ＳＡＴＡ）の規格は、Serial ATA Working Groupによって策定が進められており、例えばSerial ATA Working Groupによる仕様文書（非特許文献１）に詳しく記載されている。
【０００６】
一方、ＨＤＤにおける消費電力を低減するため、様々なパワー・マネージメントの手法が提案されている（例えば、特許文献１参照）。典型的には、ＨＤＤは複数のパワー・セーブ・モードを備え、一定時間内におけるホストからのコマンド数に応じて、所定のパワー・セーブ・モードに遷移する。又、ＳＡＴＡにおいては、シリアル・インターフェース部のパワー・セーブ・モードが提案されている。パワー・セーブ・モードとして、復帰に必要とされる時間によって２つのモードが提案されており、復帰時間の短いPartialと、復帰時間の長いSlumberが提案されている。
【０００７】
ＳＡＴＡにおいては、上述のようにシリアル・インターフェース部のパワー・セーブ・モードが規定されているが、その規定内容はパワー・セーブ・モードからの復帰時間を指定するもので、具体的な停止回路あるいはパワー・セーブ・モードへの遷移タイミングなどについては規定していない。このため、シリアル・インターフェース部のパワー・セーブ・モードを効果的に制御し、パワー・セーブ・モード遷移よるパフォーマンスの低下を抑制することが重要である。
【０００８】
【非特許文献１】"Serial ATA: High Speed Serialized ATA Attachment Revision 1.0a"  [平成１６年９月２３日検索]  インターネット＜URL: http://www.sata-io.org/specifications.asp＞
【特許文献１】特開２０００−１７３１５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は上記のような事情を背景としてなされたものであって、本発明の目的は、ＨＤＤや光ディスク・プレーヤなどのデータ記憶装置のパワー・セーブ・モード遷移によるパフォーマンスの低下を抑制することである。
【課題を解決するための手段】
【００１０】
本発明の第１の態様は、データ記憶装置のパワー・セーブ・モードの制御方法であって、ホストからパワー・セーブ・モードへの遷移要求を受信し、前記ホストからの前記遷移要求に応答して、コマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて前記要求の認否について決定し、前記決定された応答を前記ホストに送信するものである。これによって、パワー・セーブ・モードへの遷移によるパフォーマンスの低下を効果的に抑制することができる。
【００１１】
前記データ記憶装置は前記ホストとシリアル・データ伝送によってデータ通信を行い、シリアル・インターフェース部を他の回路と別にパワー・セーブ・モードに遷移可能であり、前記遷移要求は前記インターフェース部のパワー・セーブ・モードへの遷移要求である場合に、本発明は効果的である。シリアル・インターフェース部はホストとのリンクのための付加的な電力消費があるため、シリアル・インターフェース部を別にパワー・セーブ・モードへ遷移させることで、消費電力を低下させることができる。又、シリアル・インターフェース部のモード遷移は短時間で行うことが可能であり、コマンド実行シーケンスにおいてもパフォーマンスへの影響を小さくすることができる。
【００１２】
ユーザ・データ通信を伴わないコマンドの実行シーケンスにおいて前記遷移要求を受信した場合、前記遷移要求に対して否認の応答を前記ホストに送信することが好ましい。
【００１３】
前記ホストへのユーザ・データの送信を伴うリード・コマンドの実行シーケンスにおいて、送信すべき前記ユーザ・データがバッファに格納されてから前記ホストに送信されるまでの間に前記遷移要求を受信した場合、前記遷移要求に対して否認の応答を前記ホストに送信することが好ましい。これによって、近いタイミングに実行されることが予期されるホストとの間のデータ通信の遅れを防ぎ、パフォーマンスの低下を効果的に抑制することができる。さらに、前記ユーザ・データの送信後、実行中の前記リード・コマンドに対応する次のユーザ・データを格納する領域が前記バッファに確保されるまでの間に、前記遷移要求を受信した場合、前記遷移要求に対して承認の応答を前記ホストに送信し、パワー・セーブ・モードに遷移することが好ましい。これによって、コマンド実行シーケンスにおいて、パフォーマンスの低下を抑制しつつ、消費電力の低減を行うことができる。
【００１４】
前記ホストとの間におけるユーザ・データの通信が準備されている場合に、前記遷移要求に対して否認の応答を前記ホストに送信することが好ましい。これによって、近いタイミングに実行されるホストとの間のデータ通信の遅れを防ぎ、パフォーマンスの低下を効果的に抑制することができる。
あるいは、前記ホストからのユーザ・データの受信を伴うライト・コマンドの実行シーケンスにおいて、受信すべき前記ユーザ・データを格納する領域がバッファに確保されてから前記ホストより前記ユーザ・データを受信するまでの間に前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して否認の決定を行うことが好ましい。これによって、近いタイミングに実行されることが予期されるホストとの間のデータ通信の遅れを防ぎ、パフォーマンスの低下を効果的に抑制することができる。
【００１５】
本発明の第２の態様に係るデータ記憶装置は、ホストからパワー・セーブ・モードへの遷移要求を受信する受信部と、前記ホストからの前記遷移要求に応答して、コマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて前記遷移要求の認否について決定する制御部と、前記決定に対応する応答を前記ホストに送信する送信部とを有するものである。これによって、パワー・セーブ・モードへの遷移によるパフォーマンスの低下を効果的に抑制することができる。
【００１６】
前記ホストとシリアル・データ伝送によってデータ通信を行い、他の回路と別にパワー・セーブ・モードに遷移可能であるシリアル・インターフェース部を備え、前記パワー・セーブ・モードへの遷移要求は、前記シリアル・インターフェース部のパワー・セーブ・モードへの遷移要求である場合に、本発明は特に効果的である。
【００１７】
前記ホストからのユーザ・データの受信を伴うライト・コマンドの実行シーケンスにおいて、受信すべき前記ユーザ・データを格納する領域がバッファに確保されてから前記ホストより前記ユーザ・データを受信するまでの間に前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して否認の決定を行うことが好ましい。これによって、近いタイミングに実行されることが予期されるホストとの間のデータ通信の遅れを防ぎ、パフォーマンスの低下を効果的に抑制することができる。さらに、前記ユーザ・データの前記バッファへの格納後、実行中の前記ライト・コマンドに対応する次のユーザ・データを格納する領域が前記バッファに確保されるまでの間に、前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して承認の決定を行うことが好ましい。これによって、コマンド実行シーケンスにおいて、パフォーマンスの低下を抑制しつつ、消費電力の低減を行うことができる。
【００１８】
本発明の第３の態様は、通常動作を行うモードとパワー・セーブ・モードとを有するデータ記憶装置であって、コマンド実行開始後にコマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて、パワー・セーブ・モードへの遷移の認否について決定する制御部と、前記制御部が遷移承認を決定した場合にパワー・セーブ・モードへ遷移する、ホストとの間の通信インターフェース部と、を有するものである。これによって、コマンド実行シーケンスにおいてパワー・セーブ・モードへ遷移することで消費電力の低下を図ると共に、パワー・セーブ・モードへの遷移によるパフォーマンスの低下を効果的に抑制することができる。
【００１９】
前記制御部は、ホストからのパワー・セーブ・モードへの遷移要求に応答して、コマンド実行シーケンスにおける実行状態を判定し、前記判定された前記コマンド実行状態に基づいて、前記承認要求の認否について決定し、前記通信インターフェース部は、前記決定に対応した応答を前記ホストに送信することが好ましい。
【００２０】
さらに、前記制御部は、ユーザ・データ通信を伴わないコマンドの実行シーケンスに前記遷移要求を受信した場合、前記遷移要求に対する否認の決定を行うことが好ましい。
【００２１】
あるいは、前記ホストへのユーザ・データの送信を伴うリード・コマンドの実行シーケンスにおいて、送信すべき前記ユーザ・データがバッファに格納されてから前記ホストに送信されるまでの間に前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して否認の決定を行うことが好ましい。さらに、前記ユーザ・データの送信後、実行中の前記リード・コマンドに対応する次のユーザ・データを格納する領域が前記バッファに確保されるまでの間に、前記遷移要求を受信した場合、前記制御部は前記遷移要求に対して承認の決定を行い、前記通信インターフェース部はパワー・セーブ・モードに遷移することが好ましい。
【００２２】
前記通信インターフェース部は、ライト・コマンドの実行シーケンスにおいてホストにデータ転送の要求を送信し前記制御部は、前記要求の送信後から前記要求に対するデータを前記ホストから受信するまでの間、前記ホストに対するパワー・セーブ・モードへの遷移要求の送信を否認することが好ましい。これによって、近いタイミングに実行されることが予期されるホストとの間のデータ通信の遅れを防ぎ、パフォーマンスの低下を効果的に抑制することができる。
【発明の効果】
【００２３】
本発明によれば、データ記憶装置のパワー・セーブ・モード制御を改善することができる。
【発明を実施するための最良の形態】
【００２４】
以下に、本発明を適用可能な実施の形態が説明される。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。各図面において同一要素には同一の符号が付されており、説明の明確化のために必要に応じて重複説明は省略されている。
【００２５】
本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。本発明の理解の容易のため、最初に、データ記憶装置の一例であるハードディスク・ドライブ（ＨＤＤ）の全体構成の概略を説明する。図１は、本実施の形態にかかるＨＤＤ１の概略構成を示すブロック図である。図１に示すように、ＨＤＤ１は、密閉されたエンクロージャ１０内に、記録メディア（記録媒体）の一例である磁気ディスク１１、ヘッドの一例であるヘッド素子部１２、アーム電子回路（アームエレクトロニクス：ＡＥ）１３、スピンドル・モータ（ＳＰＭ）１４、ボイス・コイル・モータ（ＶＣＭ）１５を備えている。
【００２６】
ＨＤＤ１は、エンクロージャ１０の外側に固定された回路基板２０を備えている。回路基板２０上には、リード・ライト・チャネル（Ｒ／Ｗチャネル）２１、モータ・ドライバ・ユニット２２、ハードディスク・コントローラ（ＨＤＣ）とＭＰＵの集積回路（以下ＨＤＣ／ＭＰＵ）２３、及びメモリの一例であるＲＡＭ２４などの各ＩＣを備えている。尚、各回路構成は一つのＩＣに集積すること、あるいは、複数のＩＣに分けて実装することができる。
【００２７】
外部ホスト５１からの書き込みデータは、ＨＤＣ／ＭＰＵ２３によって受信され、Ｒ／Ｗチャネル２１、ＡＥ１３を介して、ヘッド素子部１２によって磁気ディスク１１に書き込まれる。また、磁気ディスク１１に記憶されているデータは、ヘッド素子部１２によって読み出され、読み出しデータは、ＡＥ１３、Ｒ／Ｗチャネル２１を介して、ＨＤＣ／ＭＰＵ２３から外部ホスト５１に出力される。
【００２８】
次に、ＨＤＤ１の各構成要素について説明する。磁気ディスク１１は、ＳＰＭ１４のハブに固定されている。ＳＰＭ１４は所定の速度で磁気ディスク１１を回転する。ＨＤＣ／ＭＰＵ２３からの制御データに従って、モータ・ドライバ・ユニット２２がＳＰＭ１４を駆動する。本例の磁気ディスク１１は、データを記録する記録面を両面に備え、各記録面に対応するヘッド素子部１２が設けられている。
【００２９】
各ヘッド素子部１２はスライダ（不図示）に固定されている。また、スライダはアクチュエータ（不図示）に固定されている。アクチュエータはＶＣＭ１５を備え、ＶＣＭ１５が揺動することによって、ヘッド素子部１２を磁気ディスク１１上半径方向に移動する。モータ・ドライバ・ユニット２２は、ＨＤＣ／ＭＰＵ２３からの制御データに従って、ＶＣＭ１５を駆動する。
【００３０】
ヘッド素子部１２には、典型的には、磁気ディスク１１への記憶データに応じて電気信号を磁界に変換する記録ヘッド、及び磁気ディスク１１からの磁界を電気信号に変換する再生ヘッドが一体的に形成されている。なお、磁気ディスク１１は、１枚以上あればよく、記録面は磁気ディスク１１の片面あるいは両面に形成することができる。
【００３１】
続いて各回路部の説明を行う。ＡＥ１３は、複数のヘッド素子部１２の中からデータ・アクセスが行われる１つのヘッド素子部１２を選択し、選択されたヘッド素子部１２により再生される再生信号を一定のゲインで増幅（プリアンプ）し、Ｒ／Ｗチャネル２１に送る。また、Ｒ／Ｗチャネル２１からの記録信号を選択されたヘッド素子部１２に送る。
【００３２】
Ｒ／Ｗチャネル２１は、ホスト５１から転送されたデータについて、ライト処理を実行する。ライト処理において、Ｒ／Ｗチャネル２１はＨＤＣ／ＭＰＵ２３から供給されたライト・データをコード変調し、更にコード変調されたライト・データをライト信号（電流）に変換してＡＥ１３に供給する。また、ホスト５１にデータを供給する際にはリード処理を行う。リード処理において、Ｒ／Ｗチャネル２１はＡＥ１３から供給されたリード信号を一定の振幅となるように増幅し、取得したリード信号からデータを抽出し、デコード処理を行う。読み出されるデータは、ユーザ・データとサーボ・データを含む。デコード処理されたリード・データは、ＨＤＣ／ＭＰＵ２３に供給される。
【００３３】
ＨＤＣ／ＭＰＵ２３は、ＭＰＵとＨＤＣが一つのチップに集積された回路である。ＭＰＵは、ＲＡＭ２４にロードされたマイクロ・コードに従って動作する。ＨＤＤ１の起動に伴い、ＲＡＭ２４には、ＭＰＵ上で動作するマイクロ・コードの他、制御及びデータ処理に必要とされるデータが磁気ディスク１１あるいはＲＯＭ（不図示）からロードされる。ＨＤＣ／ＭＰＵ２３は、ヘッド素子部１２のポジショニング制御、インターフェース制御、ディフェクト管理などのデータ処理に関する必要な処理の他、ＨＤＤ１の全体制御を実行する。特に、本形態において、ＨＤＣ／ＭＰＵ２３は所定のシーケンスに従って、消費電力を低減するパワー・セーブ・モード及と通常動作状態であるのアクティブモードとの間の遷移を制御する。この点については後に詳述する。
【００３４】
ＨＤＣ／ＭＰＵ２３は、Ｒ／Ｗチャネル２１から取得した磁気ディスクからの読み出しデータを、ホスト５１に伝送する。本形態のＨＤＤ１は、ホスト５１との間において、シリアル通信によってデータ（コマンド、ユーザ・データ及び制御データを含む）の送受信を行う。この点については後に詳述する。
【００３５】
次に、本形態のＨＤＤ１におけるパワー・セーブ・モード制御及びそれに伴うホスト５１との間のデータ通信について説明する。本形態のＨＤＤ１は、コマンド実行シーケンス（実行処理中）において、パワー・セーブ・モードへの遷移について認否判断を行う。実行シーケンスにおける実行状態に基づいてパワー・セーブ・モード遷移の認否を判定することによって、消費電力の低減を図ると共にパフォーマンスの低下を抑制する。
【００３６】
本発明のパワー・セーブ・モード制御は、本形態のＨＤＤ１のように、シリアル・インターフェースを備えるＨＤＤ１における、インターフェース部のパワー・セーブ・モード制御に好適である。本形態のＨＤＤ１は、ホスト５１との間において、シリアル・データ通信によって、コマンド、ユーザ・データあるいは通信プロトコルにおける制御データなどのデータ送受信を行う。又、本形態のＨＤＤ１は、シリアル・インターフェース部のパワー・セーブ・モードを他の回路から独立的に制御することができ、シリアル・インターフェース部を他の回路とは別に選択してパワー・セーブ・モードに遷移させることができる。
【００３７】
シリアル・インターフェース部はホスト５１とＨＤＤ１との間のリンクを確立しておくために常に通信を行うことが必要とされ、そのための省電力が増加する。ホスト５１とＨＤＤ１との間においてデータ通信が行われない場合、シリアル・インターフェース部がパワー・セーブ・モードに遷移することで消費電力を低減することができる。又、ＨＤＤ１のシステム全体がパワー・セーブ・モードに遷移するのではなく、シリアル・インターフェース部のみが遷移する場合、アクティブモードへの復帰に多くの時間が必要とされないため、コマンド実行シーケンスにおいて遷移しても、パフォーマンスへの影響は小さい。
【００３８】
本形態のパワー・セーブ・モード制御は、特に、データ記憶装置とホストとの間のデータ転送方法を規定するSerial ATA（ＳＡＴＡ）仕様に好適である。ＳＡＴＡ仕様において、シリアル・インターフェース部の２つのパワー・セーブ・モードが規定されている。一つはPartial modeであり、もう一つはSlumber modeある。ＳＡＴＡ仕様は、これらのパワー・サーブ・モードについて復帰までの時間を規定し、その停止される回路構成については規定してない。具体的には、Partial及びSlumberの復帰時間は、それぞれ１０μｓ、１０ｍｓと規定されている。このように、本形態のパワー・セーブ・モード制御は特にＳＡＴＡに好適であるため、以下において、ＳＡＴＡの例を使用してその説明を行う。尚、本発明がＳＡＴＡにおけるシリアル・インターフェース部のパワー・セーブ・モード制御に限定されるものではない。
【００３９】
図２は、本形態のＨＤＣ／ＭＰＵ２３内部の一部回路構成を模式的に示すブロック図である。図２には、この他、磁気ディスク１１及びＲＡＭ２４が示されている。ＨＤＣ／ＭＰＵ２３は、ＭＰＵ２３０、ＲＡＭ２４との間のデータ転送を制御するメモリ・コントローラ２３１、オシレータ２３２、オシレータ２３２の信号からシステム・クロックを生成するシステム・クロック・ジェネレータ２３３、ホスト５１との間の通信及びシリアル・インターフェース部２３６のパワー・セーブ・モードの制御を行うＩ／Ｏコントローラ２３４、ホスト５１からのクロックに拠らない制御信号（Out Of Band signal）を検出する制御信号検出部２３５、ホスト５１との間のシリアル・データ通信をインターフェースするシリアル・インターフェース部２３６、を備えている。
【００４０】
シリアル・インターフェース部２３６は、アナログ・フロント・エンド３６１、シリアライザ／ディシリアライザ３６２、ＰＬＬ３６３を備えている。アナログ・フロント・エンド３６１は、トランスミッタ３６４とレシーバ３６５を含んでいる。シリアライザ／ディシリアライザ３６２は、パラレル・データをシリアル・データに変換してアナログ・フロント・エンド３６１に出力するシリアライザ３６６、アナログ・フロント・エンド３６１からのシリアル・データをパラレル・データに変換するディシリアライザ３６７を備えている。
【００４１】
ＰＬＬ３６３は、オシレータ２３２からの信号からシリアル・データ通信のためのクロック信号を生成し、シリアライザ３６６とディシリアライザ３６７にそれぞれ供給する。ディシリアライザ３６７は、受信したシリアル・データに埋め込まれているクロック信号に同期した内部クロック信号に従って、シリアル−パラレル変換を実行する。
【００４２】
ライト処理において、ホスト５１からのデータ（コマンド及びユーザ・データを含む）は、レシーバ３６５を介して入力され、ディシリアライザ３６７がシリアル−パラレル変換する。パラレル・データはＩ／Ｏコントローラ２３４に入力され、メモリ・コントローラ２３１を介して、ＲＡＭ２４に保存される。磁気ディスク１１に記録するユーザ・データは、メモリ・コントローラ２３１を介して、磁気ディスク１１に転送される。
【００４３】
リード処理において、磁気ディスク１１から読み出されたデータは、メモリ・コントローラ２３１を介して、ＲＡＭ２４に格納される。メモリ・コントローラ２３１は、ＲＡＭ２４に記録されているデータを読み出し、Ｉ／Ｏコントローラ２３４に転送する。Ｉ／Ｏコントローラ２３４は、取得したデータをシリアライザ３６６に転送し、シリアライザ３６６は、取得したパラレル・データをシリアル・データに変換して、アナログ・フロント・エンド３６１に出力する。トランスミッタ３６４は、シリアライザ３６６からのシリアル・データをホスト５１に出力する。ライト処理及びリード処理は、ＭＰＵ２３０のコマンド実行制御の下で実行される。
【００４４】
上述のように、シリアル・インターフェース部２３６は、２つのパワー・セーブ・モードを備えている。Partial modeにおいて、シリアライザ／ディシリアライザ３６２が停止し、ＰＬＬ３６３、アナログ・フロント・エンド３６１は動作状態にある。Slumber modeにおいては、シリアライザ／ディシリアライザ３６２に加えてＰＬＬ３６３が停止する。アナログ・フロント・エンド３６１は動作状態にある。Partial modeに比較して、Slumber modeは消費電力が少ない一方、アクティブモードへの復帰により多くの時間が必要とされる。尚、各モードでどの回路を停止させるかは、設計により決定される。
【００４５】
シリアル・インターフェース部２３６のパワー・セーブ・モードへの遷移は、Ｉ／Ｏコントローラ２３４が制御する。Ｉ／Ｏコントローラ２３４からの指示に従って、シリアル・インターフェース部２３６はアクティブモードからパワー・セーブ・モードに遷移し、一方のパワー・セーブ・モードから他方のパワー・セーブ・モードに遷移し、あるいはパワー・セーブ・モードからアクティブモードへ遷移する。Ｉ／Ｏコントローラ２３４によるパワー・セーブ・モード制御については、後に詳述する。
【００４６】
シリアル・インターフェース部２３６がパワー・セーブ・モードに遷移すると、クロックに従ったシリアル・データ通信によって、データを送受信することができない。このため、シリアル・インターフェース部２３６がパワー・セーブ・モードにある場合、ホスト５１は、クロックによらないCOMWAKEと呼ばれる制御信号（Out Of Band signal）を送信することによって、ＨＤＤ１にパワー・セーブ・モードからの復帰を要求する。COMWAKEは、所定インターバルを備える複数のバースト信号で構成される。
【００４７】
制御信号検出部２３５は、ホスト５１からのCOMWAKEを検出し、それに応答してシリアル・インターフェース部２３６をアクティブモードに復帰させる。シリアル・インターフェース部のパワー・セーブ・モードへ遷移は、ホスト５１とＨＤＤ１の双方において実行される。つまり、ＨＤＤ１のシリアル・インターフェース部２３６がパワー・セーブ・モードにある場合、ホスト５１のシリアル・インターフェース部もパワー・セーブ・モードに遷移している。このため、ＨＤＤ１からホスト５１にアクティブモードへの遷移要求を行う場合も、COMWAKEを利用する。
【００４８】
パワー・セーブ・モードへの遷移は、ホスト５１とＨＤＤ１との間において、互いの承認を必要とする。具体的には、一方の装置から、パワー・セーブ・モードへの遷移の要求（ＳＡＴＡではPMREQと呼ばれる）が送信され、他方がそれに対して承認の応答（ＳＡＴＡではPMACKと呼ばれる）を返すことによって、双方の装置がパワー・セーブ・モードへ遷移することができる。要求を受信した装置がそれに対して承認の応答をしない場合、つまり、否認の応答（ＳＡＴＡではPMNACKと呼ばれる）を送信するもしくは応答がない場合は、要求を送信した装置はパワー・セーブ・モードへ遷移しない。
【００４９】
本形態のＨＤＤ１は、コマンドの実行シーケンスにおける実行処理状態に基づいて、パワー・セーブ・モードへ遷移の認否を判断する。ホスト５１とＨＤＤ１との間におけるデータ通信が近いタイミングで予定されている場合、パワー・セーブ・モードへの遷移を禁止することによって、パフォーマンスの低下を防止することができる。一方、パワー・セーブ・モードへの遷移後すぐに復帰する場合、消費電力低減を図れないことから、無駄な遷移を避けることで処理の効率化を図ることができる。
【００５０】
本形態のＨＤＤ１は、ホスト５１からパワー・セーブ・モードへの遷移の要求があった場合、コマンドの実行シーケンスにおける実行処理状態に基づいて、それに対する応答を決定する。パワー・セーブ・モードへの遷移及びそれからの復帰には一定以上の時間が必要とされる。特に、ホスト５１へのユーザ・データ転送あるいはホスト５１からのユーザ・データ転送の準備ができている状態においては、パワー・セーブ・モードへの遷移を禁止することによって、データ転送の遅れを防止し、パフォーマンスの低下を防止することができる。又、ユーザ・データ転送を伴わないコマンドにおいては、その実行シーケンスを完了するまでパワー・セーブ・モードへの遷移を禁止することによって、処理の遅延を防止することができる。
【００５１】
図３のフローに示すように、ＨＤＤ１は、ホスト５１からパワー・セーブ・モードへの遷移要求（PMREQ）を受信すると（Ｓ１１）、シリアル・インターフェース部２３６をパワー・セーブ・モードに遷移させるかを、コマンドの実行状態に基づいて判断する（Ｓ１２）。遷移しないと決定すると、ＨＤＤ１はホスト５１に否認の応答（PMNACK）を送信し（Ｓ１３）、シリアル・インターフェース部２３６をアクティブモードに維持する。
【００５２】
一方、パワー・セーブ・モードへの遷移を決定すると、承認の応答（PMACK）をホスト５１に送信し（Ｓ１４）、シリアル・インターフェース部２３６がパワー・セーブ・モードへ遷移する（Ｓ１５）。ＨＤＤ１からアクティブモードへの復帰を要求する場合、ＨＤＤ１は、シリアル・インターフェース部２３６をアクティブモードへ遷移させ（Ｓ１６）、さらに、COMWAKE信号をホスト５１に送信することによってホスト５１にアクティブモードへの遷移を要求する（Ｓ１７）。
【００５３】
同様に、本形態のＨＤＤ１は、コマンドの実行シーケンスにおける実行処理状態に基づいて、ホスト５１に対するパワー・セーブ・モードへの遷移要求送信の認否を決定する。ホスト５１とＨＤＤ１との間におけるデータ通信が近いタイミングで所定工程内に予定されている場合、パワー・セーブ・モードへの遷移要求を禁止することによって、パフォーマンスの低下を防止することができる。特に、ＨＤＤ１がホストに対してデータ転送の要求を行った後にはホスト５１から近いタイミングでのデータ転送が予期されているため、データ転送要求後データ転送までの間においてパワー・セーブ・モードへの遷移を禁止することで、パフォーマンス低下を抑制することができる。
【００５４】
本形態においては、Ｉ／Ｏコントローラ２３４がパワー・セーブ・モードへの遷移について判断を行い、パワー・セーブ・モードの制御部として機能する。Ｉ／Ｏコントローラ２３４は、ＭＰＵ２３０及びメモリ・コントローラ２３１から必要な情報を取得して実行シーケンスの実行状態を判定し、予め定められた基準に従ってパワー・セーブ・モードへの遷移の認否判断を行う。
【００５５】
パワー・セーブ・モードへ遷移が禁止されている場合、Ｉ／Ｏコントローラ２３４は、シリアル・インターフェース部２３６を介して遷移要求に対する否認の応答であるPMACKをホスト５１に送信する。同様に、パワー・セーブ・モードへ遷移が禁止されている場合、Ｉ／Ｏコントローラ２３４はホスト５１へのパワー・セーブ・モード要求（PMREQ）を送信しないことを決定する。
【００５６】
一方、パワー・セーブ・モードへ遷移することを決定した場合、Ｉ／Ｏコントローラ２３４は、シリアル・インターフェース部２３６を介してPMACKをホスト５１に送信し、さらにシリアル・インターフェース部２３６をパワー・セーブ・モードへ遷移させる。このとき、Partial modeとSlumber modeのいずれに遷移するかは、コマンド実行状態に応じて決定することができる。例えば、コマンド実行処理中においては、パフォーマンスの低下を抑制するため、復帰時間の短いPartial modeが選択される。尚、パワー・セーブ・モードへの遷移についての判断及び制御は、例えば、マイクロ・コードに従って動作するＭＰＵ２３０が行うことも可能であり、Ｉ／Ｏコントローラ２３４などのハードウェア構成に限定されるものではなく、ハードウェアもしくはソフトウェアのいずれにより実装することもできる。
【００５７】
以下において、ＳＡＴＡ仕様において規定されている７つのデータ転送モードのそれぞれを例として、本形態のパワー・セーブ・モード制御について説明する。具体的には、PIO (Programmed Input Output) data-in command（リード）、PIO data-out command（ライト）、Read DMA (Direct Memory Access) command、Write DMA command、Read FPDMA (First Party DMA) Queued command、Write FPDMA Queued command、Non-data commandのそれぞれについて説明する。
【００５８】
図４は、PIO data-in commandの基本シーケンスを示している。PIO data-in commandプロトコルは、PIOモードにおけるデータ・リードを規定する。ホスト５１は、ＨＤＤ１に対してPIO data-in commandをその中に含むRegister FISを送信する。ＳＡＴＡにおいて、ホスト５１とＨＤＤ１との間のデータ通信は、ＦＩＳ（Frame Information Structure）と呼ばれるデータ・フレームを利用する。また、Register FISは、コマンド発行やコマンド完了通知などに使用されるFISである。Register FISに対する応答として、ＨＤＤ１はホスト５１に対してリード・データの伝送開始を示すPIO Setup FISを送信する。その後、ＨＤＤ１は、リード・データを含むPIO data FISをホスト５１に送信する。
【００５９】
図５は、PIO data-in commandの実行シーケンスにおける、ＨＤＤ１の処理を示すフローチャートである。図５において、点線はパワー・セーブ・モードへの遷移が禁止された実行状態を示し、実線はパワー・セーブ・モードへの遷移が許可されている実行状態を示している。つまり、点線で示された実行状態において、ホスト５１からパワー・セーブ・モード遷移要求（PMREQ）を受信した場合、ＨＤＤ１はそれに対して否認の応答（PMNACK）を送信する。又、この実行状態において、パワー・セーブ・モード遷移はＨＤＤ１において禁止されており、ホスト５１に対してパワー・セーブ・モード遷移要求を送信しない。
【００６０】
図５を参照して、PIO data-in commandを含むRegister FISを受信すると（Ｓ２１）、ＨＤＤ１はバッファにホストに転送するデータが格納されているかを判定する（Ｓ２２）。バッファはＲＡＭ２４内に確保される。転送するデータがバッファ内に用意されるまで判定を繰り返す（Ｓ２２におけるＮＯ）。転送するデータがバッファ内に用意されると（Ｓ２２におけるＹＥＳ）、ＨＤＤ１はホスト５１にPIO Setup FISを送信し（Ｓ２３）、その後、PIO dataを含むData FISをホスト５１に送信する（Ｓ２４）。一つのコマンドに対して、複数のＦＩＳに分割してデータ転送することがあるため、さらに転送すべきリード・データが存在するかを判定する（Ｓ２５）。存在する場合（Ｓ２５におけるＹＥＳ）、Ｓ２１に戻って、それ以下の処理を繰り返す。全てのリード・データを転送し、転送すべきデータがなくなると（Ｓ２５におけるＮＯ）、処理が完了する。
【００６１】
PIO data-in commandの実行シーケンスにおいて、バッファに格納されたユーザ・データが転送された後、次の転送データがバッファに格納されるまでの実行状態においては、パワー・セーブ・モードへの遷移が許可されている。従って、この状態においてPMREQをホストから受信すると、ホスト５１に対してPMACKが送信される。しかし、その他の実行状態において、つまり、バッファに転送データが用意されてからホストへのそのデータの転送が終了するまでは、パワー・セーブ・モードへの遷移が禁止される。従って、この状態においてPMREQをホストから受信すると、ホスト５１に対してPMNACKが送信される。バッファに転送データが格納されデータ転送の準備が完了すると、それからデータ転送までの時間は短く、その間にパワー・セーブ・モードへ遷移するとデータ転送が遅れパフォーマンスを低下させることになる。パワー・セーブ・モードへ遷移を禁止することで、パフォーマンスの低下を防止することができる。
【００６２】
本例において、バッファへのデータ格納の判断は、メモリ・コントローラ２３１からのバッファ状態を示す信号に基づいて、Ｉ／Ｏコントローラ２３４が実行する。メモリ・コントローラ２３１は、ＭＰＵ２３０からの指示に従って、リード・データがバッファ内に格納されているかの確認及び磁気ディスク１１からのリード・データのバッファへの格納を行う。バッファに転送するリード・データが確認されると、メモリ・コントローラ２３１はＩ／Ｏコントローラ２３４に格納を知らせる。Ｉ／Ｏコントローラ２３４は、メモリ・コントローラ２３１からの信号に応答して、PIO Setup FIS及びData FISをホスト５１に送信する。又、Ｉ／Ｏコントローラ２３４はＭＰＵ２３０から転送データについて指示を受けており、未転送データの有無について判断を行うことができる。従って、PIO data-in command実行シーケンスにおいて、ホスト５１からPMREQを受信すると、シリアルインターフェース部２３６を介してＩ／Ｏコントローラ２３４に転送され、Ｉ／Ｏコントローラ２３４が実行シーケンスの実行状態を判断して、パワー・セーブ・モードへの遷移の認否を決定する。
【００６３】
続いて、PIO data-out commandの実行シーケンスについて説明する。図６は、PIO data-out commandの基本シーケンスを示している。PIO data- out commandプロトコルは、PIOモードにおけるデータ・ライトを規定する。ホスト５１は、ＨＤＤ１に対してPIO data- out commandをその中に含むRegister FISを送信する。PIO data- out commandを含むRegister FISに対する応答として、ＨＤＤ１はホスト５１に対して、ライト・データの受信準備ができたことを示すPIO Setup FISを送信する。ホスト５１は、PIO Setup FISを受信すると、ライト・データ（PIO data）を含むData FISをＨＤＤ１に送信する。全てのデータを受信しコマンド処理が完了すると、ＨＤＤ１はホスト５１に完了通知としてのRegister FISを送信する。
【００６４】
図７は、PIO data-out commandの実行シーケンスにおける、ＨＤＤ１の処理を示すフローチャートである。図７において、図５と同様に、点線で示されている実行状態においてパワー・セーブ・モードへの遷移が禁止されている。実線で示されている実行状態においてパワー・セーブ・モードへの遷移が許可されている。尚、本例においては、ライト・キャッシュがイネーブルとする。
【００６５】
図７を参照して、PIO data-out commandを含むRegister FISを受信すると（Ｓ３１）、ＨＤＤ１はバッファにホストから転送されるデータを格納する領域が空いているかを判定する（Ｓ３２）。バッファ内に格納領域が確保されていない場合、それを待つ（Ｓ３２におけるＮＯ）。バッファ内に格納領域が確保されている場合（Ｓ３２におけるＹＥＳ）、ＨＤＤ１はホスト５１にPIO Setup FISを送信する（Ｓ３３）。ＨＤＤ１は、PIO data FISをホスト５１から受信してバッファに格納する（Ｓ３４）。さらに受信すべきライト・データが存在する場合（Ｓ３５におけるＹＥＳ）、Ｓ３２に戻ってそれ以下の処理を繰り返す。全てのライト・データを受信し、受信すべきデータがなくなると（Ｓ３５におけるＮＯ）、Register FISを送信して（Ｓ３６）、処理が完了する。
【００６６】
PIO data-out commandの実行シーケンスにおいて、ユーザ・データを受信しバッファに格納した後、次の転送データを格納する領域がバッファに確保されるまでの実行状態においては、パワー・セーブ・モードへの遷移が許可されている。しかし、その他の実行状態において、つまり、バッファに転送されるデータを格納するための空き領域が確保されてデータ転送の準備ができてから、ホスト５１からそのデータの転送が終了するまでは、パワー・セーブ・モードへの遷移が禁止される。これによって、パワー・セーブ・モードへ遷移によるパフォーマンスの低下を防止することができる。Ｉ／Ｏコントローラ２３４は、メモリ・コントローラ２３１からバッファ状態についての信号を受信しており、PIO data-out commandの実行シーケンスにおいて、バッファの空き領域の有無について判定し、パワー・セーブ・モードへ遷移の認否を決定することができる。
【００６７】
次に、Read DMA commandの実行シーケンスについて説明する。図８は、Read DMA commandの基本シーケンスを示している。Read DMA commandプロトコルは、ＤＭＡモードにおけるデータ・リードを規定する。ホスト５１は、ＨＤＤ１に対してRead DMA commandをその中に含むRegister FISを送信する。Read DMA commandを含むRegister FISに応答して、ＨＤＤ１はホスト５１に対してリード・データ（DMA data）を含むData FISを送信する。全てのデータを送信しコマンド処理が完了すると、ＨＤＤ１はホスト５１に完了通知としてのRegister FISを送信する。
【００６８】
図９は、Read DMA commandの実行シーケンスにおける、ＨＤＤ１の処理を示すフローチャートである。点線と実線の意味は、図５と同様である。図９を参照して、Read DMA commandを含むRegister FISを受信すると（Ｓ４１）、ＨＤＤ１はバッファにホストに転送するデータが格納されているかを判定する（Ｓ４２）。転送するデータがバッファ内に用意されると（Ｓ４２におけるＹＥＳ）、ＨＤＤ１はホスト５１にリード・データ（DMA data）を含むData FISをホスト５１に送信する（Ｓ４３）。さらに転送すべきリード・データが存在する場合（Ｓ４４におけるＹＥＳ）、Ｓ４２に戻って、それ以下の処理を繰り返す。全てのリード・データを転送し、転送すべきデータがなくなると（Ｓ４４におけるＮＯ）、ホスト５１にRegister FISを送信し（Ｓ４５）、処理が完了する。
【００６９】
Read DMA commandの実行シーケンスにおいて、バッファに格納されたリード・データを転送した後、コマンドに対する次のリード・データがバッファに格納されるまでの実行状態においては、パワー・セーブ・モードへの遷移が許可されている。しかし、その他の実行状態において、つまり、バッファに転送データが用意されてからホストへのそのデータの転送が終了するまでは、パワー・セーブ・モードへの遷移が禁止される。このようにパワー・セーブ・モードへ遷移を禁止することで、パフォーマンスの低下を防止することができる。尚、Ｉ／Ｏコントローラ２３４によるパワー・セーブ・モードへの遷移認否の具体的処理は、上述とほぼ同様であるので説明を省略する。以下の説明においても、Ｉ／Ｏコントローラ２３４の具体的動作は、必要な範囲で説明される。
【００７０】
続いて、Write DMA commandの実行シーケンスについて説明する。図１０は、Write DMA commandの基本シーケンスを示している。Write DMA commandプロトコルは、ＤＭＡモードにおけるデータ・ライトを規定する。ホスト５１は、ＨＤＤ１に対してWrite DMA commandをその中に含むRegister FISを送信する。Write DMA commandを含むRegister FISに対する応答として、ＨＤＤ１はホスト５１に対してDMA Activate FISを送信する。ホスト５１は、DMA Activate FISを受信すると、ライト・データ（DMA data）を含むData FISをＨＤＤ１に送信する。全てのデータを受信しコマンド処理が完了すると、ＨＤＤ１はホスト５１に完了通知としてのRegister FISを送信する。
【００７１】
図１１は、Write DMA commandの実行シーケンスにおける、ＨＤＤ１の処理を示すフローチャートである。点線と実線の意味は図５と同様である。図１１を参照して、Write DMA commandを含むRegister FISを受信すると（Ｓ５１）、ＨＤＤ１はバッファにホストから転送されるデータを格納する領域が空いているかを判定する（Ｓ５２）。バッファ内に格納領域が確保されている場合、ＨＤＤ１はホスト５１にDMA Activate FISを送信する（Ｓ５３）。ＨＤＤ１は、ライト・データを含むData FISをホスト５１から受信し（Ｓ５４）、バッファに格納する。さらに受信すべきライト・データが存在する場合（Ｓ５５におけるＹＥＳ）、Ｓ５２に戻って、それ以下の処理を繰り返す。全てのライト・データを受信し、受信すべきデータがなくなると（Ｓ５５におけるＮＯ）、ホスト５１にRegister FISを送信し（Ｓ５６）、処理が完了する。
【００７２】
Write DMA commandの実行シーケンスにおいて、ホスト５１からの転送データを受信しバッファに格納した後、バッファに次の転送データを格納する領域が確保されるまでの状態においては、パワー・セーブ・モードへの遷移が許可されている。しかし、その他の実行状態において、つまり、バッファに転送されるデータを格納するための空き領域が確保されてから、ホストからのそのデータの転送が終了するまでは、パワー・セーブ・モードへの遷移が禁止される。これによって、パワー・セーブ・モードへ遷移によるパフォーマンスの低下を防止することができる。
【００７３】
次に、Read FPDMA Queued commandの実行シーケンスについて説明する。図１２は、Read FPDMA Queued commandの基本シーケンスを示している。Read FPDMA Queued commandプロトコルはコマンド・キューイングを利用するため、コマンド発行とその実行とは分離しており、コマンドの発行順序と実行順序は必ずしも一致しない。ホスト５１は、ＨＤＤ１に対してRead FPDMA Queued commandをその中に含むRegister FISを送信する。ＨＤＤ１は、受信したRead FPDMA Queued commandをキューイングする。
【００７４】
キューされていたRead FPDMA Queued commandが実行される段階となると、ＨＤＤ１はホスト５１に対して、上記のコマンドに対するデータ転送処理の開始を示すDMA Setup FISを送信する。その後、ＨＤＤ１はホスト５１にリード・データ（FPDMA data）を含むData FISを送信する。全てのデータを送信しコマンド処理が完了すると、ＨＤＤ１はホスト５１に完了通知としてのSet Device Bits FISを送信する。Set Device Bits FISによって、ホスト５１におけるRead FPDMA Queued command対応フラグがクリアされ、ホスト５１は新たなコマンドを発行することが可能となる。尚、データは複数のData FISに分割して転送される場合、最初のData FIS 転送前にDMA Setup FISを送信し、その後はDMA Setup FISを送信することなくData FISを送信する。
【００７５】
図１３を参照して、Read FPDMA Queued command 実行シーケンスにおけるＨＤＤ１の処理を説明する。図１３は、コマンドをキューした後のデータ・サービス時の処理を示している。点線と実線の意味は、図５と同様である。キューさていたRead FPDMA Queued commandのデータ・サービス実行が開始されると、ＨＤＤ１はバッファにホストに転送するデータが格納されているかを判定する（Ｓ６１）。転送するデータがバッファ内に用意され（Ｓ６１におけるＹＥＳ）、転送するデータが最初のブロック（Data FIS）である場合（Ｓ６２におけるＹＥＳ）、ＨＤＤ１はDMA Setup FISをホスト５１に送信する（Ｓ６３）。
【００７６】
さらに、ＨＤＤ１は、ホスト５１にリード・データ（FPDMA data）を含むData FISを送信する（Ｓ６４）。さらに転送すべきリード・データが存在する場合（Ｓ６５におけるＹＥＳ）、Ｓ６１に戻って、それ以下の処理を繰り返す。ただし、２つ目以降のData FIS転送前においては、DMA Setup FISは送信しない（Ｓ６２におけるＮＯ）。全てのリード・データを転送し、転送すべきデータがなくなると（Ｓ６５におけるＮＯ）、ホスト５１にSet Device Bits FISを送信し（Ｓ６６）、処理が完了する。尚、DMA Setup FISとSet Device Bits FISとは、Ｉ／Ｏコントローラ２３４が生成し、ホスト５１に送信する。
【００７７】
Read FPDMA Queued commandの実行シーケンスにおいて、キューさていたRead FPDMA Queued commandのデータ・サービス実行を開始し、バッファに格納されたリード・データを転送した後、コマンドに対する次のリード・データがバッファに格納されるまでの実行状態においてはパワー・セーブ・モードへの遷移が許可されている。しかし、その他の実行状態において、つまり、バッファに転送データが用意されてからホストへのそのデータの転送が終了するまでは、パワー・セーブ・モードへの遷移が禁止される。このようにパワー・セーブ・モードへ遷移を禁止することで、パフォーマンスの低下を防止することができる。
【００７８】
続いて、Write FPDMA Queued commandの実行シーケンスについて説明する。図１４は、Write FPDMA Queued commandの基本シーケンスを示している。Write FPDMA Queued commandプロトコルはコマンド・キューイングを利用するため、コマンド発行とその実行とは分離しており、コマンドの発行順序と実行順序は必ずしも一致しない。ホスト５１は、ＨＤＤ１に対してWrite FPDMA Queued commandをその中に含むRegister FISを送信する。ＨＤＤ１は、受信したWrite FPDMA Queued commandをキューイングする。
【００７９】
キューされていたWrite FPDMA Queued commandが実行される段階となると、ＨＤＤ１はホスト５１に対して、上記のコマンドに対するデータ転送処理の開始を示すDMA Setup FISを送信する。その後、ＨＤＤ１はホスト５１に対して、データ転送を要求するDMA Activate FISを送信する。ホスト５１は、DMA Activate FISを受信すると、ライト・データ（FPDMA data）を含むData FISをＨＤＤ１に送信する。全てのデータを受信しコマンド処理が完了すると、ＨＤＤ１はホスト５１に完了通知としてのSet Device Bits FISを送信する。尚、データが複数のData FISに分割して転送される場合、ＨＤＤ１は最初のDMA Activate FIS転送前にDMA Setup FISを送信し、その後はDMA Setup FISを送信することなく、DMA Activate FISを送信する。
【００８０】
図１５は、Write FPDMA commandの実行シーケンスにおける、ＨＤＤ１の処理を示すフローチャートである。点線と実線の意味は図５と同様である。図１５は、コマンドをキューした後のデータ・サービス時の処理を示している。キューされていたWrite FPDMA Queued commandのデータ・サービス実行が開始されると、ＨＤＤ１はバッファにホストから転送されるデータを格納する領域が空いているかを判定する（Ｓ７１）。バッファ内に格納領域が確保されている場合（Ｓ７１におけるＹＥＳ）、転送されるデータが最初のブロック（Data FIS）でれば（Ｓ７２におけるＹＥＳ）、ＨＤＤ１はDMA Setup FISをホスト５１に送信する（Ｓ７３）。さらに、ＨＤＤ１はホスト５１にDMA Activate FISを送信する（Ｓ７４）。ＨＤＤ１は、ライト・データを含むData FISをホスト５１から受信し（Ｓ７５）、バッファに格納する。さらに受信すべきライト・データが存在する場合（Ｓ７６におけるＹＥＳ）、Ｓ７１に戻って、それ以下の処理を繰り返す。ただし、２つ目以降のData FIS転送前においては、DMA Setup FISは送信せず、DMA Activate FISのみを送信する（Ｓ７２におけるＮＯ）。全てのライト・データを受信し、受信すべきデータがなくなると（Ｓ７６におけるＮＯ）、ホスト５１にSet Device Bits FISを送信し（Ｓ７７）、処理が完了する。
【００８１】
Write FPDMA Queued commandの実行シーケンスにおいて、キューさていたWrite FPDMA Queued commandのデータ・サービス実行開始し、ホスト５１からの転送データを受信しバッファに格納した後、バッファに次の転送データを格納する領域が確保されるまでの状態においては、パワー・セーブ・モードへの遷移が許可されている。しかし、その他の実行状態において、つまり、バッファに次の転送データを格納する領域が確保されてからホストからのそのデータの転送が終了するまでは、パワー・セーブ・モードへの遷移が禁止される。このようにパワー・セーブ・モードへ遷移を禁止することで、パフォーマンスの低下を防止することができる。
【００８２】
最後に、Seek、Recal、Verifyなど、ホスト５１とＨＤＤ１との間においてユーザ・データの送受信が行われないNon-data commandの実行シーケンスについて説明する。図１６は、Non-data commandの基本シーケンスを示している。ホスト５１は、ＨＤＤ１に対してNon-data commandをその中に含むRegister FISを送信する。ＨＤＤ１は、Non-data commandに対応する処理を完了すると、完了通知としてのRegister FISをホスト５１に送信する。図１７は、Non-data commandの実行シーケンスにおける、ＨＤＤ１の処理を示すフローチャートである。点線と実線の意味は図５と同様である。Non-data commandを受信すると（Ｓ８１）、ＨＤＤ１は対応する処理を実行し、実行完了に伴ってRegister FISをホスト５１に送信する（Ｓ８２）。Non-data commandを受信してから、処理を実行しRegister FISをホスト５１に送信するまでの状態においては、パワー・セーブ・モードへの遷移が禁止されている。このようにパワー・セーブ・モードへ遷移を禁止することで、パフォーマンスの低下を防止することができる。
【００８３】
尚、上記の説明は、本発明の実施形態を説明するものであり、本発明が上記の実施形態に限定されるものではない。当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。例えば、本発明はＳＡＴＡ仕様に限定されるものではない。本発明はインターフェース部のパワー・セーブ・モード制御に限定されない。また、各処理と論理構成との関係は上記例に限定されるものではない。設計者は、効率的な機能及び回路構成によって、データ記憶装置を設計することができる。本実施形態において、ヘッド素子部１２は、書き込み及び読み出し処理を行うことができる記録再生ヘッドであるが、例えば、記録媒体を取り外し可能であり、再生のみを行う再生専用装置に本発明を適用することも可能である。尚、本発明は磁気ディスク記憶装置に特に有用であるが、ＣＤなどの光ディスクを取り外し可能な光ディスク記憶装置や半導体記録媒体使用したデータ記憶装置など、記録媒体を駆動する他の態様のデータ記憶装置に適用することが可能である。
【図面の簡単な説明】
【００８４】
【図１】本実施形態に係る、ＨＤＤの概略構成を示すブロック図である。
【図２】本実施形態に係る、ＨＤＣ／ＭＰＵの回路構成の一部を模式的に示すブロック図である。
【図３】本実施形態に係る、ホストからのパワー・セーブ・モード遷移要求に対するＨＤＤの処理を示すフローチャートである。
【図４】本実施形態に係る、PIO data-in commandの基本シーケンスを示すシーケンス図である。
【図５】本実施形態に係る、PIO data-in commandの実行シーケンスにおける、ＨＤＤの処理を示すフローチャートである。
【図６】本実施形態に係る、PIO data-out commandの基本シーケンスを示すシーケンス図である。
【図７】本実施形態に係る、PIO data-out commandの実行シーケンスにおける、ＨＤＤの処理を示すフローチャートである。
【図８】本実施形態に係る、Read DMA commandの基本シーケンスを示すシーケンス図である。
【図９】本実施形態に係る、Read DMA commandの実行シーケンスにおける、ＨＤＤの処理を示すフローチャートである。
【図１０】本実施形態に係る、Write DMA commandの基本シーケンスを示すシーケンス図である。
【図１１】本実施形態に係る、Write DMA commandの実行シーケンスにおける、ＨＤＤの処理を示すフローチャートである。
【図１２】本実施形態に係る、Read FPDMA commandの基本シーケンスを示すシーケンス図である。
【図１３】本実施形態に係る、Read FPDMA commandの実行シーケンスにおける、ＨＤＤの処理を示すフローチャートである。
【図１４】本実施形態に係る、Write FPDMA commandの基本シーケンスを示すシーケンス図である。
【図１５】本実施形態に係る、Write FPDMA commandの実行シーケンスにおける、ＨＤＤの処理を示すフローチャートである。
【図１６】本実施形態に係る、Non-data commandの基本シーケンスを示すシーケンス図である。
【図１７】本実施形態に係る、Non-data commandの実行シーケンスにおける、ＨＤＤの処理を示すフローチャートである。
【符号の説明】
【００８５】
１  ＨＤＤ、１０  エンクロージャ、１１  磁気ディスク、１２  ヘッド素子部、
２０  回路基板、２１  Ｒ／Ｗチャネル、２２  モータ・ドライバ・ユニット、
５１  ホスト５１、２３１  メモリ・コントローラ、２３２  オシレータ、
２３３  システム・クロック・ジェネレータ、２３４  Ｉ／Ｏコントローラ、
２３５  制御信号検出部、２３６  シリアル・インターフェース部、
３６１  アナログ・フロント・エンド３６１、
３６２  シリアライザ／ディシリアライザ、３６３  ＰＬＬ、３６４  トランスミッタ、
３６５  レシーバ、３６６  シリアライザ、３６７  ディシリアライザ
【図１】
2006164012.tif 000003
【図２】
2006164012.tif 000004
【図３】
2006164012.tif 000005
【図４】
2006164012.tif 000006
【図５】
2006164012.tif 000007
【図６】
2006164012.tif 000008
【図７】
2006164012.tif 000009
【図８】
2006164012.tif 000010
【図９】
2006164012.tif 000011
【図１０】
2006164012.tif 000012
【図１１】
2006164012.tif 000013
【図１２】
2006164012.tif 000014
【図１３】
2006164012.tif 000015
【図１４】
2006164012.tif 000016
【図１５】
2006164012.tif 000017
【図１６】
2006164012.tif 000018
【図１７】
2006164012.tif 000019