(57)【要約】【課題】シリアルＡＴＡ規格で規定されたシリアルＡＴＡバスバスのパワーセーブを有効に活用できるようにする。【解決手段】電子機器は、当該電子機器とシリアルＡＴＡバスを介して接続されたもう１つの電子機器に対して、データを送信すべき状態となった場合に（Ｓ１，Ｓ２）、送信すべきデータを直ちに送信することが可能であるかを判定する（Ｓ４）。送信すべきデータを直ちに送信することが不可能であると判定され、且つ当該データを予め定められた時間内に準備できないことが予測される場合、電子機器は、シリアルＡＴＡバスを非パワーセーブモードから予め定められたパワーセーブモードに切り替える（Ｓ５）。【選択図】      図４
2005190202.tif 000002
【特許請求の範囲】
【請求項１】
シリアルＡＴＡインタフェースを持つ電子機器であって、シリアルＡＴＡバスを介して接続されたもう１つの電子機器に対して、前記シリアルＡＴＡバスが非パワーセーブモードに設定されている状態で、所定のタイプの情報フレームを用いてデータを送信する電子機器において、
前記もう１つの電子機器に対してデータを送信すべき状態となった場合に、送信すべきデータを直ちに送信することが可能であるかを判定する判定手段と、
前記判定手段により前記送信すべきデータを直ちに送信することが不可能であると判定され、且つ当該データを予め定められた時間内に準備できないことが予測される場合、前記シリアルＡＴＡバスを前記非パワーセーブモードから予め定められたパワーセーブモードに切り替える第１の切り替え手段と、
前記第１の切り替え手段によって前記シリアルＡＴＡバスが前記予め定められたパワーセーブモードに切り替えられた場合、前記送信すべきデータの送信準備が整うのを待って、前記シリアルＡＴＡバスを前記非パワーセーブモードに切り替える第２の切り替え手段と
を具備することを特徴とする電子機器。
【請求項２】
前記シリアルＡＴＡインタフェースの規格では、前記非パワーセーブモードへの復帰時間が異なる２種類のパワーセーブモードが規定されており、
前記第１の切り替え手段は、前記２種類のパワーセーブモードのうち、復帰時間が短い方のパワーセーブモードを前記予め定められたパワーセーブモードとして扱う
ことを特徴とする請求項１記載の電子機器。
【請求項３】
前記シリアルＡＴＡバスが前記非パワーセーブモードに設定されている状態で、前記送信すべきデータを前記所定のタイプの情報フレームを用いて前記シリアルＡＴＡバスを介して前記もう１つの電子機器に送信するデータ送信手段であって、前記送信すべきデータを直ちに送信することが可能である場合には直ちに、当該データを直ちに送信することが不可能な場合には、当該データの送信準備が整って、前記第２の切り替え手段により前記シリアルＡＴＡバスが前記非パワーセーブモードに切り替えられるのを待って、当該データを送信するデータ送信手段を更に具備することを特徴とする請求項１記載の電子機器。
【請求項４】
前記判定手段は、前記電子機器に対して前記もう１つの電子機器から第１のタイプの情報フレームが送信され、当該情報フレームによってデータが要求された場合、要求された送信すべきデータを直ちに送信することが可能であるかを判定し、
前記データ送信手段は、前記要求された送信すべきデータを前記所定のタイプの情報フレームである第２のタイプの情報フレームを用いて送信する
ことを特徴とする請求項３記載の電子機器。
【請求項５】
前記データ送信手段が前記第２のタイプの情報フレームを用いてデータを送信する前に、当該データの転送タイプを通知するための第３のタイプの情報フレームを前記シリアルＡＴＡバスを介して前記もう１つの電子機器に送信する手段を更に具備し、
前記第１の切り替え手段は、前記第３のタイプの情報フレームが前記もう１つの電子機器に送信される前に、前記シリアルＡＴＡバスを前記予め定められたパワーセーブモードに切り替える
ことを特徴とする請求項４記載の電子機器。
【請求項６】
前記送信すべきデータの転送タイプを通知するための第３のタイプの情報フレームを前記シリアルＡＴＡバスを介して前記もう１つの電子機器に送信する手段を更に具備し、
前記第１の切り替え手段は、前記第３のタイプの情報フレームが前記もう１つの電子機器に送信された後で、且つ前記データ送信手段が前記第２のタイプの情報フレームを用いてデータを送信する前に、前記シリアルＡＴＡバスを前記予め定められたパワーセーブモードに切り替える
ことを特徴とする請求項４記載の電子機器。
【請求項７】
前記電子機器に対して前記もう１つの電子機器から、前記第１のタイプの情報フレームが送信され、当該情報フレームによってデータ転送を伴わない動作が指示された場合、指示された動作の実行完了後に、当該指示された動作の実行結果を所定のタイプの情報フレームを用いて前記シリアルＡＴＡバスを介して前記もう１つの電子機器に通知する手段を更に具備し、
前記第１の切り替え手段は、前記指示された動作の実行結果が前記もう１つの電子機器に通知される前に、前記シリアルＡＴＡバスを前記予め定められたパワーセーブモードに切り替える
ことを特徴とする請求項４記載の電子機器。
【請求項８】
前記判定手段により前記送信すべきデータを直ちに送信することが不可能であると判定された場合に、当該データを準備できるまでの所要時間を予測する予測手段を更に具備し、
前記第１の切り替え手段は、前記予測手段によって予測された時間が前記予め定められた時間を超えている場合に、前記シリアルＡＴＡバスを前記予め定められたパワーセーブモードに切り替える
ことを特徴とする請求項１記載の電子機器。
【請求項９】
前記判定手段により前記送信すべきデータを直ちに送信することが不可能であると判定された場合に、当該データの送信準備が整うのを、前記予め定められた時間である第１の時間より短い予め定められた第２の時間を上限に監視する監視手段を更に具備し、
前記第１の切り替え手段は、前記第２の時間を経過しても前記データの送信準備が整わなかった場合に、当該データを前記第１の時間内に準備できないことが予測されるものとして、前記シリアルＡＴＡバスを前記予め定められたパワーセーブモードに切り替える
ことを特徴とする請求項１記載の電子機器。
【請求項１０】
前記電子機器が、データを記憶する記憶媒体を有する外部記憶装置であり、
前記もう１つの電子機器が、前記外部記憶装置を利用するホストシステムである
ことを特徴とする請求項１記載の電子機器。
【請求項１１】
シリアルＡＴＡインタフェースを持つ電子機器におけるシリアルＡＴＡバスのパワーセーブ方法であって、
前記電子機器とシリアルＡＴＡバスを介して接続されたもう１つの電子機器に対して、データを送信すべき状態となった場合に、送信すべきデータを直ちに送信することが可能であるかを判定するステップと、
前記送信すべきデータを直ちに送信することが不可能であると判定され、且つ当該データを予め定められた時間内に準備できないことが予測される場合、前記シリアルＡＴＡバスを非パワーセーブモードから予め定められたパワーセーブモードに切り替えるステップと
を具備することを特徴とするシリアルＡＴＡバスのパワーセーブ方法。
【請求項１２】
前記シリアルＡＴＡバスが前記予め定められたパワーセーブモードに切り替えられた場合、前記送信すべきデータの送信準備が整うのを待って、前記シリアルＡＴＡバスを前記非パワーセーブモードに戻すステップと、
前記シリアルＡＴＡバスが前記予め定められたパワーセーブモードに切り替えられた場合、前記シリアルＡＴＡバスが前記非パワーセーブモードに戻されるのを待って、前記送信すべきデータを所定のタイプの情報フレームを用いて前記シリアルＡＴＡバスを介して前記もう１つの電子機器に送信するステップと
を更に具備することを特徴とする請求項１１記載のシリアルＡＴＡバスのパワーセーブ方法。
【請求項１３】
前記判定するステップは、前記電子機器に対して前記もう１つの電子機器から第１のタイプの情報フレームが送信され、当該情報フレームによってデータが要求された場合に実行され、
前記送信するステップでは、前記要求された送信すべきデータが前記所定のタイプの情報フレームである第２のタイプの情報フレームを用いて送信される
ことを特徴とする請求項１２記載のシリアルＡＴＡバスのパワーセーブ方法。
【請求項１４】
前記第２のタイプの情報フレームを用いてデータが送信される前に、当該データの転送タイプを通知するための第３のタイプの情報フレームを前記シリアルＡＴＡバスを介して前記もう１つの電子機器に送信するステップを更に具備し、
前記切り替えるステップでは、前記第３のタイプの情報フレームが前記もう１つの電子機器に送信される前に、前記シリアルＡＴＡバスが前記予め定められたパワーセーブモードに切り替えられる
ことを特徴とする請求項１３記載のシリアルＡＴＡバスのパワーセーブ方法。
【請求項１５】
前記送信すべきデータの転送タイプを通知するための第３のタイプの情報フレームを前記シリアルＡＴＡバスを介して前記もう１つの電子機器に送信するステップを更に具備し、
前記切り替えるステップでは、前記第３のタイプの情報フレームが前記もう１つの電子機器に送信された後で、且つ前記第２のタイプの情報フレームを用いてデータが送信される前に、前記シリアルＡＴＡバスが前記予め定められたパワーセーブモードに切り替えられる
ことを特徴とする請求項１３記載のシリアルＡＴＡバスのパワーセーブ方法。
【請求項１６】
前記電子機器に対して前記もう１つの電子機器から、前記第１のタイプの情報フレームが送信され、当該情報フレームによってデータ転送を伴わない動作が指示された場合、指示された動作の実行完了後に、当該指示された動作の実行結果を所定のタイプの情報フレームを用いて前記シリアルＡＴＡバスを介して前記もう１つの電子機器に通知するステップを更に具備し、
前記切り替えるステップでは、前記指示された動作の実行結果が前記もう１つの電子機器に通知される前に、前記シリアルＡＴＡバスを前記予め定められたパワーセーブモードに切り替える
ことを特徴とする請求項１３記載のシリアルＡＴＡバスのパワーセーブ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルＡＴＡ（AT Attachment）インタフェースを持つ電子機器に係り、特にシリアルＡＴＡインタフェースの規格に準拠したシリアルＡＴＡバスのパワーセーブに好適な、ディスクドライブに代表される電子機器及びシリアルＡＴＡバスのパワーセーブ方法に関する。
【背景技術】
【０００２】
最近、シリアルＡＴＡインタフェースの規格が策定された（例えば、非特許文献１参照）。シリアルＡＴＡインタフェースは、従来のＡＴＡインタフェース（つまりパラレルＡＴＡインタフェース）と同様に、磁気ディスクドライブに代表される周辺機器とホストシステム（ホスト）との間のインタフェースとして用いられる。
【０００３】
シリアルＡＴＡインタフェースを持つ周辺機器、例えば磁気ディスクドライブ（以下、ＨＤＤと称する）は、ホストとシリアルＡＴＡバスにより接続される。シリアルＡＴＡバスは、第１の方向に信号を転送するための差動アンプに接続された１対の信号線と、上記第１の方向とは逆の第２の方向に信号を転送するための差動アンプに接続された１対の信号線とを備えて構成される。上記ＨＤＤでは、パラレルＡＴＡインタフェースとの互換性を確保するために、パラレルＡＴＡインタフェースをシリアルＡＴＡインタフェースに、そしてシリアルＡＴＡインタフェースをパラレルＡＴＡインタフェースに、それぞれ変換する必要がある。このようなインタフェース変換は、例えばシリアルＡＴＡインタフェース制御回路（シリアルＡＴＡブリッジ）と呼ばれるＬＳＩ（ブリッジＬＳＩ）で行われる。そこでＨＤＤには、シリアルＡＴＡインタフェース制御回路が設けられる。このＨＤＤでは、シリアルＡＴＡインタフェース制御回路と当該ＨＤＤのディスクコントローラ（ＨＤＣ）との接続部分の動作は、従来のＡＴＡ規格（パラレルＡＴＡインタフェースの規格）と同等、またはそれに準じた動作となる。このため、ディスクコントローラからは、シリアルＡＴＡインタフェース制御回路が、命令を発行するホストであるかのように認識される。よって、ＨＤＤにおけるシリアルＡＴＡインタフェース制御回路周辺を除く部分の動作は従来のＨＤＤと変わらない。
【０００４】
シリアルＡＴＡインタフェースの規格（以下、シリアルＡＴＡ規格と称する）では、機能別に３つの層、つまりＰＨＹ（Physcal Layer）層（物理層）、ＬＩＮＫ層（リンク層）及びトランスポート（Transport）層が定義されている。ＰＨＹ層は高速の信号送受信を実行する機能を持つ部分であり、受信内容を解釈してＬＩＮＫ層に伝達し、またＬＩＮＫ層からの要求に応じて信号の出力を実施する。ＬＩＮＫ層はＴｒａｎｓｐｏｒｔ層（トランスポート層）からの要求内容に応じてＰＨＹ層に信号出力の要求を出し、またＰＨＹ層からの受信入力をＴｒａｎｓｐｏｒｔ層へ伝達する。Ｔｒａｎｓｐｏｒｔ層は従来のＡＴＡ規格における動作への変換を行う。このＴｒａｎｓｐｏｒｔ層の役割は、従来のＡＴＡ接続の場合と比較すると、シリアルＡＴＡインタフェース制御回路がＨＤＤに用いられたとき、ホスト側のＡＴＡ信号出力を行う部分に相当する。このシリアルＡＴＡインタフェース制御回路とＨＤＤ内のディスクコントローラ（ＨＤＣ）との間は、従来のＡＴＡ規格に準拠したＡＴＡバス（またはそれに準じたバス）で接続される。このためシリアルＡＴＡインタフェース制御回路とディスクコントローラとの間の接続部分の動作は、従来のＡＴＡ規格（パラレルＡＴＡインタフェースの規格）と同等、またはそれに準じた動作となる。つまり、シリアルＡＴＡインタフェースにおいては、論理的コマンド等のプロトコルについては従来のＡＴＡ規格との互換性を有する一方、従来パラレルで接続されていた部分がシリアル信号に変換される。このため、ディスクコントローラからは、シリアルＡＴＡインタフェース制御回路が、命令を発行するホストであるかのように認識される。よって、ＨＤＤにおけるシリアルＡＴＡインタフェース制御回路周辺を除く部分の動作は従来のＨＤＤと変わらない。
【０００５】
シリアルＡＴＡインタフェースを適用するＨＤＤでは、シリアルＡＴＡインタフェース制御回路とディスクコントローラとを接続するパラレルＡＴＡバスは、当該ＨＤＤにおける印刷配線基板（ＰＣＢ）上に実現可能である。このため、シリアルＡＴＡインタフェースを適用するＨＤＤでは、パラレルＡＴＡバスの配線長を短縮でき、ホストとＨＤＤとを接続する従来のパラレルＡＴＡバスでは実現が難しかったデータ転送速度の向上が期待される。
【０００６】
シリアルＡＴＡ規格では、従来のＡＴＡ規格に準拠したパワーセーブの状態（モード）の他に、周辺機器とホストとを接続するシリアルＡＴＡバス自体を対象としてパワーセーブする状態が定義されている。このシリアルＡＴＡバス自体のパワーをセーブするという概念は従来のＡＴＡ規格では存在しない。
【０００７】
シリアルＡＴＡ規格では、シリアルＡＴＡインタフェースの電力管理モードとして、“ＰＨＹ  ＲＥＡＤＹ（ＩＤＬＥ）”，“ＰＡＲＴＩＡＬ（パーシャル）”及び“ＳＬＵＭＢＥＲ（スランバ）”の３種類が定義されている。“ＰＨＹ  ＲＥＡＤＹ”モードとは、ＰＨＹ層の動作を実現する回路（ＰＨＹ回路）と主ＰＬＬ（Phase-Locked Loop）回路とが動作し、ホスト側及び周辺機器側の各々のインタフェース状態が同期している非パワーセーブ状態をいう。“ＰＡＲＴＩＡＬ”及び“ＳＬＵＭＢＥＲ”モードとは、ＰＨＹ回路は動作しているが、インタフェース信号は中立になっているパワーセーブ状態をいう。
【０００８】
“ＰＡＲＴＩＡＬ”及び“ＳＬＵＭＢＥＲ”モードの定義上の違いは、それらのモードから“ＰＨＹ  ＲＥＡＤＹ（ＩＤＬＥ）”モードへの復帰時間にある。即ち、“ＰＡＲＴＩＡＬ”モードでは、当該モードからの復帰時間は１０μｓを超えてはならないと定義されている。これに対し、“ＳＬＵＭＢＥＲ”モードでは、当該モードからの復帰時間は１０ｍｓを超えてはならないと定義されている。“ＰＡＲＴＩＡＬ”または“ＳＬＵＭＢＥＲ”モードで、機器内のどの部分の省電力機能を動作させるか（つまり、どの回路の電源を遮断するか）は、復帰時間、インタフェースの電源状態を遵守している限り製造者側で任意に規定できる。
【０００９】
従来のＡＴＡ規格に準拠したパワーセーブ（つまりＡＴＡパワーセーブ）の状態への遷移は、基本的には、ホスト側の主導により実現される。このＡＴＡパワーセーブの状態として、“ＩＤＬＥ（アイドル）”，“ＳＴＡＮＤＢＹ（スタンバイ）”及び“ＳＬＥＥＰ（スリープ）”等が定義されている。これに対し、シリアルＡＴＡ規格に準拠したシリアルＡＴＡバス自体のパワーセーブの状態（“ＰＡＲＴＩＡＬ”または“ＳＬＵＭＢＥＲ”）への遷移は、ホスト側または周辺機器側のどちらの主導によって実現されても構わない。しかし、シリアルＡＴＡバスのパワーセーブの状態を周辺機器側から制御する技術に関しては、上記非特許文献１には何も記載されていない。
【非特許文献１】“Serial ATA: High Speed Serialized AT Attachment”Revision 1.0a、[online]、Serial ATA Workgroup、2003年1月7日、p.117(6.8節、table 15)、[平成15年12月15日検索]、インターネット、＜ＵＲＬ：http://www.serialata.org/collateral/index-test.shtml＞のSATA1.0a
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記したようにシリアルＡＴＡ規格は、従来のＡＴＡ規格との互換性を確保することを前提として策定されている。このシリアルＡＴＡ規格に準拠したシリアルＡＴＡバスのパワーセーブの概念を実現するために、その旨の指示を行うための新たな手段をホスト側に設けることが考えられる。しかし、新たな手段をホスト側に設けることはシステム全体への影響が大きい。
【００１１】
一方、シリアルＡＴＡ規格では、上記シリアルＡＴＡバスのパワーセーブは、ホスト側または周辺機器側のどちらの主導によって実現されても構わない。そこで、シリアルＡＴＡバスのパワーセーブを周辺機器側から制御することが考えられる。しかし、この制御に関しては、上記非特許文献１には何も記載されていない。
【００１２】
ところでシリアルＡＴＡ規格では、シリアルＡＴＡバスの両端において、従来のＡＴＡ規格（パラレルＡＴＡインタフェースの規格）から大きく逸脱しないようなインタフェース変換が必要となる。従来のＡＴＡ規格では、例えばホストから周辺機器にコマンドを発行した場合、当該コマンドで指示された動作が周辺機器で終了したことがホストで確認できる状態になるまでは、パラレルＡＴＡバスは“ＢＵＳＹ”の状態になる。この場合、インタフェース変換によりシリアルＡＴＡバスも“ＢＵＳＹ”とすることが考えられる。しかし本発明者は、パラレルＡＴＡバスが“ＢＵＳＹ”の期間、シリアルＡＴＡバスも“ＢＵＳＹ”であるとは限らないことを認識するに至った。例えば、シリアルＡＴＡバスを介しての情報の授受は、ＦＩＳ(Frame Instruction Structure)と呼ばれるシリアルデータ形式の情報フレームを用いて行われる。シリアルＡＴＡバスが真に“ＢＵＳＹ”となるのは、このＦＩＳの送受信の期間と、当該ＦＩＳの送受信に伴う処理の期間のみである。つまり、パラレルＡＴＡバスが“ＢＵＳＹ”である状態と、シリアルＡＴＡバスが“ＢＵＳＹ”である状態には差がある。
【００１３】
本発明は上記事情を考慮してなされたものでその目的は、パラレルＡＴＡバスが“ＢＵＳＹ”である状態とシリアルＡＴＡバスが“ＢＵＳＹ”である状態とに差があることを利用して、シリアルＡＴＡ規格で規定されたシリアルＡＴＡバスのパワーセーブモードを有効に活用できるシリアルＡＴＡインタフェースを持つ電子機器及びシリアルＡＴＡバスのパワーセーブ方法を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の１つの観点によれば、シリアルＡＴＡインタフェースを持つ電子機器であって、シリアルＡＴＡバスを介して接続されたもう１つの電子機器に対して、上記シリアルＡＴＡバスが非パワーセーブモードに設定されている状態で、所定のタイプの情報フレームを用いてデータを送信する電子機器が提供される。この電子機器は、上記もう１つの電子機器に対してデータを送信すべき状態となった場合に、送信すべきデータを直ちに送信することが可能であるかを判定する判定手段と、この判定手段により上記送信すべきデータを直ちに送信することが不可能であると判定され、且つ当該データを予め定められた時間内に準備できないことが予測される場合、上記シリアルＡＴＡバスを上記非パワーセーブモードから予め定められたパワーセーブモードに切り替える第１の切り替え手段と、この第１の切り替え手段によって上記シリアルＡＴＡバスが上記予め定められたパワーセーブモードに切り替えられた場合、上記送信すべきデータの送信準備が整うのを待って、上記シリアルＡＴＡバスを上記非パワーセーブモードに切り替える第２の切り替え手段とを備えることを特徴とする。
【００１５】
このような構成の本発明は、パラレルＡＴＡバスが“ＢＵＳＹ”である状態とシリアルＡＴＡバスが“ＢＵＳＹ”である状態とに差があることに着目してなされている。つまり、データを送信すべき電子機器は、データの送信準備が整うまではデータの送信先となるもう１つの電子機器とシリアルＡＴＡバスを介して通信を行う必要がないということである。このことは、データ送信を含む一連の動作が完了するまで、シリアルＡＴＡバスを非パワーセーブモード（例えば“ＩＤＬＥ”モード）に設定しておく必要がないことを意味する。そこで上記構成の電子機器においては、データ送信時におけるデータ転送プロトコルに合わせて、データの送信準備が整うまでの間、シリアルＡＴＡバスが予め定められたパワーセーブモードに設定される。これにより、上記電子機器とシリアルＡＴＡバスを介してもう１つの電子機器が接続されたシステムにおける消費電力を削減することができる。この効果は、上記電子機器が上記もう１つの電子機器に内蔵して用いられ、且つ電池で駆動されるシステムにおいては、電池での稼働可能時間を延ばすことができることから特に有効である。このようなシステムの代表として、例えば、上記電子機器がディスクドライブで、上記もう１つの電子機器が当該ディスクドライブを利用するホストシステムとしての、電池で駆動されるノードブック型のパーソナルコンピュータが良く知られている。
【００１６】
ここで、シリアルＡＴＡ規格では、非パワーセーブモードへの復帰時間が異なる２種類のパワーセーブモード（例えば、“ＰＡＲＴＩＡＬ”及び“ＳＬＵＭＢＥＲ”の両モード）が規定されている。そこで、上記２種類のパワーセーブモードのうち、復帰時間が短い方のパワーセーブモード（例えば、ＰＡＲＴＩＡＬ”モード）に切り替えられる構成とすると良い。このようにすると、送信すべきデータの送信準備が整った場合に、短時間で非パワーセーブモード（例えば“ＩＤＬＥ”モード）に復帰させてデータ送信を行うことが可能となる。
【００１７】
上記電子機器と上記もう１つの電子機器との間では、ＦＩＳ(Frame Instruction Structure)と呼ばれるシリアルデータ形式の情報フレームを用いてシリアルＡＴＡバスを介して情報が授受される。シリアルＡＴＡ規格では、複数のタイプの情報フレームが規定されている。上記判定手段は、電子機器に対して上記もう１つの電子機器から第１のタイプの情報フレームが送信され、当該情報フレームによってデータが要求された場合、要求された送信すべきデータを直ちに送信することが可能であるかを判定する。この要求されたデータを送信するデータ送信手段は、要求された送信すべきデータを上記所定のタイプの情報フレームである第２のタイプの情報フレームを用いて送信する。
【００１８】
さて、上記データ送信手段が上記第２のタイプの情報フレームを用いてデータを送信する前に、当該データの転送タイプを上記もう１つの電子機器に通知することが必要となる場合がある。このデータの転送タイプの通知は、転送タイプ通知用の情報フレーム（第３のタイプの情報フレーム）を上記シリアルＡＴＡバスを介して上記もう１つの電子機器に送信することにより実現される。そこで、データの転送タイプの通知が必要な場合、上記シリアルＡＴＡバスを上記予め定められたパワーセーブモードに切り替える動作を、上記第３のタイプの情報フレームが上記もう１つの電子機器に送信される前に行うと良い。また、上記第３のタイプの情報フレームが上記もう１つの電子機器に送信された後で、且つ上記第２のタイプの情報フレームを用いて上記データ送信手段によりデータが送信される前に、上記シリアルＡＴＡバスを上記予め定められたパワーセーブモードに切り替える動作を行うようにしても良い。
【００１９】
また、上記電子機器に対して上記もう１つの電子機器から送信される上記第１のタイプの情報フレームによって、データ転送を伴わない動作が指示されることがある。この場合、指示された動作の実行完了後に、当該指示された動作の実行結果を所定のタイプの情報フレームを用いて上記シリアルＡＴＡバスを介して上記もう１つの電子機器に通知する必要がある。そこで、指示された動作の実行結果が上記もう１つの電子機器に通知される前に、上記シリアルＡＴＡバスを上記予め定められたパワーセーブモードに切り替える動作を行うと良い。このうように、データ転送を伴わない動作の指示（コマンド）の実行中で、シリアルＡＴＡバスの動作を必要としないときに、当該シリアルＡＴＡバスをパワーセーブ状態にすることで消費電力を低減できる。
【発明の効果】
【００２０】
本発明によれば、シリアルＡＴＡ規格で規定されたシリアルＡＴＡバスのパワーセーブモードを有効に活用し、データ送信時に、データの送信準備が整うまでの間、シリアルＡＴＡバスをパワーセーブモードに設定することにより、消費電力を効果的に低減できる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明をシリアルＡＴＡインタフェース（以下、ＳＡＴＡインタフェースと称する）を持つ磁気ディスクドライブを備えたシステムに適用した一実施形態につき図面を参照して説明する。図１は本発明の一実施形態に係る磁気ディスクドライブ（以下、ＨＤＤと称する）１０を備えたシステムの構成を示すブロック図である。ＨＤＤ１０は、従来から知られている、ＡＴＡインタフェースを用いてパラレルデータ転送を行うＨＤＤの構成であるＨＤＤ本体１１に加えて、ＳＡＴＡインタフェース制御回路１２を備えている。ＳＡＴＡインタフェース制御回路１２は、ＨＤＤ本体１１とＡＴＡバス（パラレルＡＴＡバス）１３を介して接続されると共に、ホスト（ホストシステム）２０とＳＡＴＡバス（シリアルＡＴＡバス）３０を介して接続される周辺機器用のＳＡＴＡブリッジである。ＳＡＴＡインタフェース制御回路１２は、ＡＴＡインタフェースとＳＡＴＡインタフェースとの間のインタフェース変換を行う例えば１チップのブリッジＬＳＩ（Large Scale Integlated Circuit）である。ＳＡＴＡインタフェース制御回路１２は特に、ＳＡＴＡバス３０を介して与えられた指示をＡＴＡバス１３（ＡＴＡインタフェース）の信号規則に変換し、当該ＡＴＡバス１３を介してＨＤＤ本体１１に送信する機能を有する。
【００２２】
ホスト２０はＨＤＤ１０を記憶装置（外部記憶装置）として利用する電子機器であり、例えばパーソナルコンピュータである。ホスト２０は、従来から知られている、ＡＴＡインタフェースを用いてパラレルデータ転送を行うホストの構成であるホスト本体２１に加えて、ＳＡＴＡインタフェース制御回路２２を備えている。ＳＡＴＡインタフェース制御回路２２は、ホスト本体２１とＡＴＡバス（パラレルＡＴＡバス）２３を介して接続されると共に、ＨＤＤ１０とＳＡＴＡバス（シリアルＡＴＡバス）３０を介して接続される、ＡＴＡバス接続のホスト型ブリッジである。ＳＡＴＡインタフェース制御回路２２は、ＨＤＤ１０内のＳＡＴＡインタフェース制御回路１２と同様に、ＡＴＡインタフェースとＳＡＴＡインタフェースとの間のインタフェース変換を行う１チップのＬＳＩ（ブリッジＬＳＩ）である。ＳＡＴＡインタフェース制御回路２２は特に、ホスト２０側のＡＴＡバス２３を介して与えられた指示をＳＡＴＡバス３０（ＳＡＴＡインタフェース）の信号規則に変換し、当該ＳＡＴＡバス３０を介してＨＤＤ１０に送信する機能を有する。
【００２３】
ＳＡＴＡインタフェース制御回路１２，２２は、それぞれ、物理層処理部１２１，２２１と、リンク／トランスポート層処理部１２２，２２２とを備えている。物理層処理部１２１，２２１は、ＳＡＴＡバス３０を介して高速のシリアルデータ転送（送受信）を実行する機能を有する。ここでのデータ転送速度は、１．５Ｇｂｐｓ（ギガビット／秒）である。物理層処理部１２１，２２１は、ＳＡＴＡバス３０から受信した内容を解釈してリンク／トランスポート層処理部１２２，２２２（中のリンク層処理部）に伝達する。また物理層処理部１２１，２２１は、リンク／トランスポート層処理部１２２，２２２（中のリンク層処理部）からの要求に応じてシリアルデータ信号を出力（送信）する。リンク／トランスポート層処理部１２２，２２２は、リンク層処理部とトランスポート層処理部（図示せず）とを備えている。リンク層処理部は、トランスポート層処理部からの要求内容に応じて物理層処理部１２１，２２１に信号出力の要求を出し、また物理層処理部１２１，２２１からの受信入力をトランスポート層処理部へ伝達する。トランスポート層処理部はＡＴＡインタフェースとＳＡＴＡインタフェースとの間のインタフェース変換を行う。
【００２４】
なお、ＡＴＡバス１３，２３に代えて、当該ＡＴＡバスに準じたバス、例えばＰＣＩバス（Peripheral Component Interconnect Bus）を用いることも可能である。この場合、ＳＡＴＡインタフェース制御回路１２，２２（を構成するＳＡＴＡブリッジ）をＰＣＩブリッジ内に設けることが可能である。また、ＳＡＴＡインタフェース制御回路１２，２２（を構成するＳＡＴＡブリッジ）には、ＳＡＴＡバス３０との間でシリアルＡＴＡインタフェースの信号を送受信する機能を持たせれば良い。
【００２５】
図２は、図１中のＨＤＤ本体１１の構成を示すブロック図である。ＨＤＤ本体１１は、記録媒体としてのディスク１１１を備えている。このディスク１１１の２つのディスク面の少なくとも一方のディスク面は、データが磁気記録される記録面をなしている。このディスク１１１の記録面に対応して、ヘッド（磁気ヘッド）１１２が配置されている。なお、図１では、作図の都合上、ヘッド１１２が１つであるＨＤＤ１０の例が示されている。しかし、一般には、ディスク１１１の２つのディスク面が共に記録面をなしており、各々のディスク面に対応してヘッドが配置される。また図１の構成では、単一枚のディスク１１１を備えたＨＤＤ１０を想定している。しかし、ディスク１１１が複数枚積層配置されたＨＤＤであっても構わない。
【００２６】
ディスク１１１はスピンドルモータ（以下、ＳＰＭと称する）１１３により高速に回転させられる。ヘッド１１２は、ディスク１１１からのデータ読み出し及びディスク１１１へのデータ書き込みに用いられる。ヘッド１１２は、アクチュエータ１１４の先端に取り付けられている。アクチュエータ１１４は、当該アクチュエータ１１４の駆動源となるボイスコイルモータ（以下、ＶＣＭと称する）１１５を有している。アクチュエータ１１４は、このＶＣＭ１１５により駆動されて、ヘッド１１２をディスク１１１の半径方向に移動する。これにより、ヘッド１１２は、目標トラック上に位置付けられる。ＳＰＭ１１３及びＶＣＭ１１５は、モータドライバＩＣ１１６からそれぞれ供給される駆動電流（ＳＰＭ電流及びＶＣＭ電流）により駆動される。モータドライバＩＣ１１６は、ＣＰＵ１３０から指定された量のＳＰＭ電流をＳＰＭ１１３に対して供給する。またモータドライバＩＣ１１６は、ＣＰＵ１３０から指定された量のＶＣＭ電流をＶＣＭ１１５に対して供給する。
【００２７】
ヘッド１１２はヘッドＩＣ（ヘッドアンプ回路）１１７と接続されている。ヘッドＩＣ１１７はヘッド１１２により読み出されたリード信号を増幅するリードアンプ、及びライトデータをライト電流に変換するライトアンプを含む。ヘッドＩＣ１１７は、リード／ライトＩＣ（リード／ライトチャネル）１１８と接続されている。リード／ライトＩＣ１１８は、リード信号に対するＡ／Ｄ（アナログ／デジタル）変換処理、ライトデータの符号化処理及びリードデータの復号化処理等の各種の信号処理を実行する信号処理デバイスである。リード／ライトＩＣ１１８はディスクコントローラ（以下、ＨＤＣと称する）１１９と接続されている。
【００２８】
ＨＤＣ１１９は当該ＨＤＣ１１９とディスク１１１との間のデータ転送を制御するディスク制御機能を有する。ＨＤＣ１１９はまた、ＡＴＡインタフェースを持つ。即ちＨＤＣ１１９は、ホスト２０との間で、ＡＴＡバス１３を介してコマンド（リード／ライトコマンド等）、及びデータをＡＴＡインタフェースにより送受信するＡＴＡインタフェース制御機能を有する。但し、ＨＤＤ１０がＳＡＴＡインタフェースを持つ本実施形態では、ＨＤＣ１１９は、従来のＨＤＤとは異なって、ＡＴＡバス１３を介してＳＡＴＡインタフェース制御回路１２と接続され、当該ＳＡＴＡインタフェース制御回路１２及びＳＡＴＡバス３０を介してホスト２０と接続されている。ＨＤＣ１１９はまた、バッアァＲＡＭ１２０を制御するバッファ制御機能を有する。バッファＲＡＭ１２０の記憶領域の一部は、ホスト２０とＨＤＤ１０内のＨＤＣ１１９との間で転送されるデータ（ライトデータ及びリードデータ）を一時格納するデータバッファ（ディスクキャッシュ）のための領域に用いられる。ＨＤＣ１１９は、バッアァＲＡＭ１２０に格納されているデータとディスクアドレス（論理アドレス）との対応を示す情報を管理する。ＨＤＣ１１９は、ＨＤＤ１０の状態を保持するステータスレジスタ１１９ａを含む。
【００２９】
ＣＰＵ１３０はフラッシュＲＯＭ（以下、ＦＲＯＭと称する）１３０ａを有している。ＦＲＯＭ１３０ａは、制御プログラムが予め格納された書き換えが可能な不揮発性メモリである。ＣＰＵ１３０は、このＦＲＯＭ１３０ａに格納されている制御プログラムに従ってＨＤＤ１０内の各部を制御する。
【００３０】
次に、図１のシステムにおける主としてＨＤＤ１０の動作について、ホスト２０から発行されるコマンドが、（１）データ転送を伴うコマンドの場合、（２）データ転送を伴うコマンドの場合で、且つ指示されたデータ転送に先行して当該データ転送のタイプがＨＤＤ１０からホスト２０に通知される場合、（３）データ転送を伴わないコマンドの場合で、コマンド実行結果のみがＨＤＤ１０からホスト２０に通知される場合を例に、順次説明する。
【００３１】
（１）データ転送を伴うコマンドの場合
まず、ホスト２０からデータ転送を伴うコマンド、例えばリードコマンドが発行された場合の動作について、図３のシーケンスチャート及び図４のフローチャートを参照して説明する。なお、図３のシーケンスチャートは、ホスト２０からＳＡＴＡバス３０に送信される信号（Ｈｏｓｔ  Ｔｘ信号）とホスト２０によってＳＡＴＡバス３０から受信される信号（Ｈｏｓｔ  Ｒｘ信号）とを、ＳＡＴＡバス３０及びＡＴＡバス１３，２３のパワーセーブの状態と対応付けて示し、図４のフローチャートはＨＤＤ１０が有するＳＡＴＡインタフェース制御回路１２（のリンク／トランスポート層処理部１２２）の処理手順を示す。
【００３２】
今、ホスト２０のホスト本体２１からＡＴＡバス２３にＡＴＡ規格に準拠したＨＤＤ１０宛てのリードコマンドが送出されたものとする。このリードコマンドは、リードデータがＤＭＡ転送されるリードＤＭＡコマンドであるものとする。このＡＴＡバス２３上のリードコマンドはホスト２０のＳＡＴＡインタフェース制御回路２２で受信される。ＳＡＴＡインタフェース制御回路２２のリンク／トランスポート層処理部２２２は、受信コマンドをＳＡＴＡ規格に準拠した特定のＦＩＳ（Frame Instruction Structure：フレーム命令構造）に変換する。ここでは、ＡＴＡバスからのコマンドは、“Ｒｅｇｉｓｔｅｒ−Ｈｏｓｔ  ｔｏ  Ｄｅｖｉｃｅ  ＦＩＳ”と呼ばれる特定のＦＩＳ３１に変換される。このＦＩＳ３１はシリアルデータの列である。リードコマンドに関する情報は、このＦＩＳ３１中に設定される。ＦＩＳ（Ｒｅｇｉｓｔｅｒ−Ｈｏｓｔ  ｔｏ  Ｄｅｖｉｃｅ  ＦＩＳ）３１は、ＳＡＴＡバス３０を介してＨＤＤ１０に送信される。
【００３３】
ＨＤＤ１０のＳＡＴＡインタフェース制御回路１２は、ＳＡＴＡバス３０を介して送信されたＦＩＳ（Ｒｅｇｉｓｔｅｒ−Ｈｏｓｔ  ｔｏ  Ｄｅｖｉｃｅ  ＦＩＳ）３１を受信する。ＳＡＴＡインタフェース制御回路１２のリンク／トランスポート層処理部１２２は、受信ＦＩＳ３１を解析し、当該ＦＩＳ３１の内容から、ホスト２０によりデータリードが指示されていることを判別する（ステップＳ１，Ｓ２）。この場合リンク／トランスポート層処理部１２２は、受信ＦＩＳ３１をＡＴＡ規格に準拠したコマンド（ここではリードコマンド）に変換してＡＴＡバス１３に送出すると共に、ＨＤＤ１０が当該ＦＩＳ３１（に対応するリードコマンド）で要求されたデータを直ちにホスト２０に送信できる状態にあるか否かを判定する（ステップＳ３，Ｓ４）。この判定は、対応するデータがバッアァＲＡＭ１２０に格納されているかを、リンク／トランスポート層処理部１２２からＨＤＣ１１９に問い合わせることによって行われる。ここで、ＨＤＤ１０からＡＴＡバス１３を介してホスト２０へデータを転送するには、“Ｄａｔａ  Ｐａｙｌｏａｄ  ＦＩＳ”と呼ばれる特定のＦＩＳが用いられる。“Ｄａｔａ  Ｐａｙｌｏａｄ  ＦＩＳ”で転送できるデータのサイズは、４バイトの整数倍であり、最小は４バイトである。したがって、少なくとも４バイトのデータがバッアァＲＡＭ１２０に格納されているならば、当該データを直ちにホスト２０に送信できる。なお、ＨＤＣ１１９によって管理される、バッアァＲＡＭ１２０に格納されているデータとディスクアドレス（論理アドレス）との対応を示す情報の写しをリンク／トランスポート層処理部１２２が保持する構成とするならば、上記問い合わせは不要となる。
【００３４】
さて、ＨＤＤ１０が、受信ＦＩＳ３１に対応するリードコマンドで要求されたデータを直ちにホスト２０に送信できる状態にない場合、当該ＨＤＤ１０では、当該リードコマンドで要求されたデータをディスク１１１から読み出すための動作が必要となる。この動作には、ヘッド１１２をディスク１１１上の目標トラックに移動させるシーク動作と、目標トラックへのヘッド１１２の移動後に、ディスク１１１上の目標セクタがヘッド１１２の位置まで回転するのを待つ動作が含まれる。このシーク動作と待つ動作には、通常、数ミリ秒から数１０ミリ秒が必要となる。言い換えるならば、これだけの時間を待たないと、送信（転送）すべきデータが準備できないということである。データが準備できるまでは、ＳＡＴＡインタフェース制御回路１２はＳＡＴＡバス３０を通じてホスト２０と通信を行う必要もない。このため、データが準備できるまでの期間も、ＳＡＴＡバス３０が、ＡＴＡバス２３の“ＢＵＳＹ”状態に応じて“ＩＤＬＥ（ＰＨＹ  ＲＥＡＤＹ）”モード（非パワーセーブ状態）に設定されるのは、電力消費の点で無駄である。
【００３５】
そこで、ＳＡＴＡインタフェース制御回路１２のリンク／トランスポート層処理部１２２は、受信ＦＩＳに対応するリードコマンドで要求されたデータを直ちにホスト２０に送信できる状態にない場合、当該データを予め定められた時間Ｔ０内に準備できないことが予測されるものとして、ＳＡＴＡバス３０を“ＰＡＲＴＩＡＬ”モード（パワーセーブ状態）に設定するためのパーシャルリクエスト（ＰＡＲＴＩＡＬ  ＲＥＱＵＥＳＴ）３２を当該ＳＡＴＡバス３０に送出する（ステップＳ５）。これにより、ＨＤＤ１０側からＳＡＴＡバス３０を“ＰＡＲＴＩＡＬ”モードに設定できる。
【００３６】
その後、リンク／トランスポート層処理部１２２は、受信ＦＩＳに対応するリードコマンドで要求されたデータの送信準備が整うのを待つ（ステップＳ６）。そして、要求されたデータの送信準備が整うと、ＳＡＴＡバス３０を介して当該データを送信することができるように、ＳＡＴＡバス３０を“ＰＡＲＴＩＡＬ”モードから“ＩＤＬＥ”モードに戻すために、アイドルリクエスト（ＩＤＬＥ  ＲＥＱＵＥＳＴ）３３を当該ＳＡＴＡバス３０に送出する（ステップＳ７）。これにより、ＨＤＤ１０側からＳＡＴＡバス３０を“ＩＤＬＥ”モードに設定できる。ここで、要求されたデータの送信準備が整ったことの判定に、例えば、ＨＤＣ１１９からＳＡＴＡインタフェース制御回路１２のリンク／トランスポート層処理部１２２に対して、データ転送開始を示す割り込みが発生したことを用いることが可能である。この割り込みは、要求されたデータがディスク１１１から読み出されてバッアァＲＡＭ１２０に格納された場合に発生する。要求されたデータがバッアァＲＡＭ１２０に既に格納されている場合には、上記割り込みはリードコマンドに応じて直ちに発生する。
【００３７】
リンク／トランスポート層処理部１２２はアイドルリクエスト３３によりＳＡＴＡバス３０を“ＩＤＬＥ”モードに切り替える（戻す）と、ＨＤＣ１１９からＡＴＡバス１３を介して転送されるデータ（リードデータ）を、“Ｄａｔａ  Ｐａｙｌｏａｄ  ＦＩＳ”と呼ばれる特定のＦＩＳ３４を用いて、ＳＡＴＡバス３０経由でホスト２０に送信する（ステップＳ８）。リンク／トランスポート層処理部１２２は、このホスト２０へのデータ送信が完了すると、ＨＤＤ１０における対応するコマンド（リードコマンド）の実行結果を、“Ｒｅｇｉｓｔｅｒ−Ｄｅｖｉｃｅ  ｔｏ  Ｈｏｓｔ  ＦＩＳ”と呼ばれる特定のＦＩＳ３５を用いて、ホスト２０に通知する（ステップＳ９）。ここでは、ＨＤＤ１０でのコマンドの実行結果はステータスレジスタ１１９ａに保持される。したがって上記ステップＳ９では、このステータスレジスタ１１９ａの内容をＦＩＳ３５に設定してホスト２０に送信すれば良い。
【００３８】
なお、ヘッド１１２が既に目標トラック上に位置している場合にはシーク動作は不要なため、要求されたデータを比較的短時間で準備することができる。この場合、“ＰＡＲＴＩＡＬ”モードからの復帰に要する時間を考慮すると、ＳＡＴＡバス３０を“ＰＡＲＴＩＡＬ”モードに設定することが必ずしも有効であるとは限らない。この点を考慮して、図４のフローチャートに示す手順に代えて図５または図６のフローチャートに示す手順を適用しても良い。なお、図５または図６には、主として図４と相異する部分だけが示されている。したがって、必要があれば図４も参照されたい。
【００３９】
図５のフローチャートの例では、ＨＤＤ１０が要求されたデータを直ちにホスト２０に送信できる状態にない場合（ステップＳ４）、リンク／トランスポート層処理部１２２は、要求されたデータを準備できるまでの所要時間Ｔ１を予測する（ステップＳ１１）。この所要時間Ｔ１は、例えば、現在ヘッド１１２が位置しているトラックと目標トラックとの差からシーク時間を推測することにより、その推測されたシーク時間をもとに予測可能である。リンク／トランスポート層処理部１２２は、時間Ｔ１を予測すると、当該時間Ｔ１が上記時間Ｔ０を超えているか否かを判定する（ステップＳ１２）。リンク／トランスポート層処理部１２２は、予測された時間Ｔ１が時間Ｔ０を超えている場合に限り、ＳＡＴＡバス３０を“ＰＡＲＴＩＡＬ”モードに設定する（ステップＳ５）。一方、予測された時間Ｔ１が時間Ｔ０を超えていない場合には、リンク／トランスポート層処理部１２２は、要求されたデータの送信準備が整うのを待つ（ステップＳ１３）。そしてリンク／トランスポート層処理部１２２は、要求されたデータの送信準備が整った段階で、ＦＩＳ３４を用いてデータをＳＡＴＡバス３０経由でホスト２０に送信する処理を行う（ステップＳ８）。
【００４０】
これに対し、図６のフローチャートの例では、ＨＤＤ１０が要求されたデータを直ちにホスト２０に送信できる状態にない場合（ステップＳ４）、リンク／トランスポート層処理部１２２は、要求されたデータの送信準備が整うのを時間Ｔ２（但し、Ｔ２＜Ｔ０）を上限に監視する（ステップＳ２１，Ｓ２２）。リンク／トランスポート層処理部１２２は、時間Ｔ２を経過しても要求されたデータの送信準備が整わない（データ転送開始を示す割り込みが発生しない）場合に限り、ＳＡＴＡバス３０を“ＰＡＲＴＩＡＬ”モードに設定する（ステップＳ５）。一方、時間Ｔ２を経過する前に要求されたデータの送信準備が整った場合には、リンク／トランスポート層処理部１２２は、ＦＩＳ３４を用いてデータをＳＡＴＡバス３０経由でホスト２０に送信する処理を行う（ステップＳ８）。
【００４１】
（２）データ転送を伴うコマンドの場合で、且つ指示されたデータ転送に先行して当該データ転送のタイプがＨＤＤ１０からホスト２０に通知される場合
次に、上記（２）の場合について、データ転送を伴うコマンドがリードコマンドである場合を例に、図７のシーケンスチャート及び図８のフローチャートと、図９のシーケンスチャート及び図１０のフローチャートを参照して説明する。なお、図７及び図９において、図３と同様の部分には同一の参照符号を付してある。また、図１０及び図１１において、図４と同様の部分には同一の参照符号を付してある。
【００４２】
ＳＡＴＡバス３０を用いてのデータ転送では、転送されたデータに対してデータ受信側でどのような処理をしなければならないかを、データ送信側から当該データ受信側に対して指示することが必要となる場合がある。この指示は、データ送信側がデータを送信する前に、データ転送のタイプを特定のＦＩＳを用いてデータ送信側からデータ受信側に通知することにより実現される。ＳＡＴＡ規格では、このデータ転送のタイプを通知するＦＩＳとして、ホスト主導のデータ転送タイプであるＰＩＯ（プログラムド入出力）プロトコルを通知する“ＰＩＯ  Ｓｅｔｕｐ  ＦＩＳ”、ＤＭＡ（Ｆｉｒｓｔ  Ｐａｒｔｙ  ＤＭＡ）プロトコルを通知する“ＤＭＡ  Ｓｅｔｕｐ  ＦＩＳ”が定義されている。
【００４３】
このデータ転送のタイプを通知するためのＦＩＳは、“Ｄａｔａ  Ｐａｙｌｏａｄ  ＦＩＳ”を送信する前に送信すれば良い。このため、データ転送のタイプを通知する必要がある場合、“ＰＡＲＴＩＡＬ”モードの制御手法として、図７及び図８で示される手法と、図９及び図１０で示される手法のいずれの手法も適用可能である。図７乃至図１０では、“ＤＭＡ  Ｓｅｔｕｐ  ＦＩＳ”がデータ転送のタイプを通知するためのＦＩＳ３６として用いられる場合を想定している。
【００４４】
図７のシーケンスチャート及び図８のフローチャートは、ＦＩＳ（Ｄａｔａ  Ｐａｙｌｏａｄ  ＦＩＳ）３５を送信するステップＳ８の直前に、ＦＩＳ（ＤＭＡ  Ｓｅｔｕｐ  ＦＩＳ）３６をＳＡＴＡインタフェース制御回路１２（内のリンク／トランスポート層処理部１２２）からホスト２０に送信するステップＳ１０が実行される場合を示している。ここでは、ＳＡＴＡインタフェース制御回路１２は、図３のシーケンスチャート及び図４のフローチャートと同様に、ホスト２０からのＦＩＳ（Ｒｅｇｉｓｔｅｒ−Ｈｏｓｔ  ｔｏ  Ｄｅｖｉｃｅ  ＦＩＳ）３１を受け取った直後に（ステップＳ１〜Ｓ４）、パーシャルリクエスト（ＰＡＲＴＩＡＬ  ＲＥＱＵＥＳＴ）３２を送信して（ステップＳ５）、ＳＡＴＡバス３０を“ＰＡＲＴＩＡＬ”モードにすれば良い（データ送信準備が整っていない場合）。
【００４５】
一方、図９のシーケンスチャート及び図１０のフローチャートは、ＦＩＳ（Ｒｅｇｉｓｔｅｒ−Ｈｏｓｔ  ｔｏ  Ｄｅｖｉｃｅ  ＦＩＳ）３１の受信に応じ（ステップＳ１〜Ｓ３）、ＦＩＳ（ＤＭＡ  Ｓｅｔｕｐ  ＦＩＳ）３６をＳＡＴＡインタフェース制御回路１２（内のリンク／トランスポート層処理部１２２）からホスト２０に送信するステップＳ１０’が実行される場合を示している。ここでは、ＳＡＴＡインタフェース制御回路１２は、ＦＩＳ（ＤＭＡ  Ｓｅｔｕｐ  ＦＩＳ）３６を送信するステップＳ１０’の直後に、パーシャルリクエスト（ＰＡＲＴＩＡＬ  ＲＥＱＵＥＳＴ）３２を送信して（ステップＳ５）、ＳＡＴＡバス３０を“ＰＡＲＴＩＡＬ”モードにすれば良い（データ送信準備が整っていない場合）。
【００４６】
上述した図７乃至図１０に示す動作は、データ転送のタイプの通知に“ＰＩＯ  Ｓｅｔｕｐ  ＦＩＳ”を使用する場合にも同様に行われる。
【００４７】
（３）データ転送を伴わないコマンドの場合で、コマンド実行結果のみがＨＤＤ１０からホスト２０に通知される場合
上記（１）及び（２）では、データ転送を伴うコマンドの実行中における“ＰＡＲＴＩＡＬ”モードの制御について述べた。しかし、図１のシステムでは、データ転送を伴わないコマンドも適用される。例えば、ＨＤＤ１０内のＳＰＭ１１３を起動するためのモータ起動コマンドが、このコマンドに該当する。そこで、ホスト２０からデータ転送を伴わないコマンドが発行された場合の動作について、図１１のシーケンスチャート及び図１２のフローチャートを参照して説明する。
【００４８】
今、ホスト２０のホスト本体２１からＡＴＡバス２３にＡＴＡ規格に準拠したＨＤＤ１０宛てのコマンドが送出されたものとする。このコマンドは、モータ起動コマンドに代表される、データ転送を伴わないコマンドであるものとする。このＡＴＡバス２３上のコマンドはホスト２０のＳＡＴＡインタフェース制御回路２２で受信される。ＳＡＴＡインタフェース制御回路２２のリンク／トランスポート層処理部２２２は、受信コマンドを特定のＦＩＳ（Ｒｅｇｉｓｔｅｒ−Ｈｏｓｔ  ｔｏ  Ｄｅｖｉｃｅ  ＦＩＳ）９１に変換し、そのＦＩＳ９１をＳＡＴＡバス３０を介してＨＤＤ１０に送信する。
【００４９】
ＨＤＤ１０のＳＡＴＡインタフェース制御回路１２は、ＳＡＴＡバス３０を介して送信されたＦＩＳ（Ｒｅｇｉｓｔｅｒ−Ｈｏｓｔ  ｔｏ  Ｄｅｖｉｃｅ  ＦＩＳ）９１を受信する。ＳＡＴＡインタフェース制御回路１２のリンク／トランスポート層処理部１２２は、受信ＦＩＳ９１を解析し、当該ＦＩＳ９１がデータ転送を伴わないコマンドから変換されたものであることを判別する（ステップＳ３１，Ｓ３２）。この場合リンク／トランスポート層処理部１２２は、受信ＦＩＳ９１をＡＴＡ規格に準拠した上記データ転送を伴わないコマンドに変換してＡＴＡバス１３に送出する（ステップＳ３３）。このコマンドは、ＨＤＤ１０のＨＤＤ本体１１で受信されて、当該ＨＤＤ本体１１で実行される。このコマンドの受信時から当該コマンドを実行してその実行結果をホスト２０に通知するまでの期間、ＳＡＴＡバス３０を“ＩＤＬＥ”モード（非パワーセーブ状態）に保持している必要はない。
【００５０】
そこでリンク／トランスポート層処理部１２２は、上記ステップＳ３３を実行すると共に、パーシャルリクエスト（ＰＡＲＴＩＡＬ  ＲＥＱＵＥＳＴ）９２をＳＡＴＡバス３０に送出する（ステップＳ３４）。これにより、ＨＤＤ１０側からＳＡＴＡバス３０を“ＰＡＲＴＩＡＬ”モードに設定できる。
【００５１】
その後、ＡＴＡバス１３に送出されたコマンドの実行結果がＨＤＣ１１９のステータスレジスタ１１９ａに設定されたものとする。この場合、リンク／トランスポート層処理部１２２は、コマンドの実行が終了し、コマンド実行結果をホスト２０に通知できる状態になったものと判断する（ステップＳ３５）。するとリンク／トランスポート層処理部１２２は、ＳＡＴＡバス３０を“ＰＡＲＴＩＡＬ”モードから“ＩＤＬＥ”モードに戻すために、アイドルリクエスト（ＩＤＬＥ  ＲＥＱＵＥＳＴ）９３を当該ＳＡＴＡバス３０に送出する（ステップＳ３６）。リンク／トランスポート層処理部１２２はアイドルリクエスト９３によりＳＡＴＡバス３０を“ＩＤＬＥ”モードに戻すと、ステータスレジスタ１１９ａによって示されるコマンド実行結果を、“Ｒｅｇｉｓｔｅｒ−Ｄｅｖｉｃｅ  ｔｏ  Ｈｏｓｔ  ＦＩＳ”と呼ばれる特定のＦＩＳ９４を用いて、ＳＡＴＡバス３０経由でホスト２０に送信する（ステップＳ３７）。
【００５２】
上記実施形態では、ホスト２０からＨＤＤ１０に対して発行されたコマンドの実行状況に応じてＳＡＴＡバス３０を“ＰＡＲＴＩＡＬ”モードに設定する制御を、全てＳＡＴＡインタフェース制御回路１２が行っている。しかし、この“ＰＡＲＴＩＡＬ”モードの制御を、ＨＤＤ本体１１内のＨＤＣ１１９またはＣＰＵ１３０がＳＡＴＡインタフェース制御回路１２を制御することで実現するようにしても良い。
【００５３】
また、上記実施形態では、本発明をＨＤＤ（磁気ディスクドライブ）を備えたシステムに適用した場合について説明した。しかし本発明は、光ディスクドライブ、光磁気ディスクドライブなどＨＤＤ以外のディスクドライブを備えたシステムでも、ＳＡＴＡインタフェースを持つディスクドライブを備えたシステムであれば、適用可能である。また本発明は、磁気テープ装置など、ディスクドライブ以外の外部記憶装置を備えたシステムでも、ＳＡＴＡインタフェースを持つ外部記憶装置を備えたシステムであれば、適用可能である。本発明は更に、外部記憶装置以外の電子機器を備えたシステムでも、ＳＡＴＡインタフェースを持つ電子機器を備えたシステムであれば、適用可能である。
【００５４】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００５５】
【図１】本発明の一実施形態に係る磁気ディスクドライブ（ＨＤＤ）１０を備えたシステムの構成を示すブロック図。
【図２】図１中のＨＤＤ本体１１の構成を示すブロック図。
【図３】ホスト２０からデータ転送を伴うコマンド（リードコマンド）が発行された第１の場合における、ＳＡＴＡバス３０上の信号の状態と、ＳＡＴＡバス３０及びＡＴＡバス１３，２３のパワーセーブの状態とを示すタイミングチャート。
【図４】上記第１の場合における、ＳＡＴＡインタフェース制御回路１２の処理手順を示すフローチャート。
【図５】上記第１の場合における、ＳＡＴＡインタフェース制御回路１２の処理手順の第１の変形例を示すフローチャート。
【図６】上記第１の場合における、ＳＡＴＡインタフェース制御回路１２の処理手順の第２の変形例を示すフローチャート。
【図７】ホスト２０からデータ転送を伴うコマンド（リードコマンド）が発行され、且つ指示されたデータ転送に先行して当該データ転送のタイプをＨＤＤ１０からホスト２０に通知する必要がある第２の場合における、ＳＡＴＡバス３０上の信号の状態と、ＳＡＴＡバス３０及びＡＴＡバス１３，２３のパワーセーブの状態とを示すタイミングチャート。
【図８】上記第２の場合における、ＳＡＴＡインタフェース制御回路１２の処理手順を示すフローチャート。
【図９】上記第２の場合の変形例における、ＳＡＴＡバス３０上の信号の状態と、ＳＡＴＡバス３０及びＡＴＡバス１３，２３のパワーセーブの状態とを示すタイミングチャート。
【図１０】上記第２の場合の変形例における、ＳＡＴＡインタフェース制御回路１２の処理手順を示すフローチャート。
【図１１】ホスト２０からデータ転送を伴わないコマンドが発行された第３の場合における、ＳＡＴＡバス３０上の信号の状態と、ＳＡＴＡバス３０及びＡＴＡバス１３，２３のパワーセーブの状態とを示すタイミングチャート。
【図１２】上記第３の場合における、ＳＡＴＡインタフェース制御回路１２の処理手順を示すフローチャート。
【符号の説明】
【００５６】
１０…ＨＤＤ（磁気ディスクドライブ、外部記憶装置、電子機器）、１１…ＨＤＤ本体、１２，２２…ＳＡＴＡインタフェース制御回路（シリアルＡＴＡインタフェース制御回路）、１３，２３…ＡＴＡバス（パラレルＡＴＡバス）、２０…ホスト（ホストシステム）、２１…ホスト本体、３０…ＳＡＴＡバス（シリアルＡＴＡバス）、１１１…ディスク、１１２…ヘッド、１１３…ＳＰＭ（スピンドルモータ）、１１６…モータドライバ、１１９…ＨＤＣ（ディスクコントローラ）、１１９ａ…ステータスレジスタ、１２０…バッアァＲＡＭ、１３０…ＣＰＵ。
【図１】
2005190202.tif 000003
【図２】
2005190202.tif 000004
【図３】
2005190202.tif 000005
【図４】
2005190202.tif 000006
【図５】
2005190202.tif 000007
【図６】
2005190202.tif 000008
【図７】
2005190202.tif 000009
【図８】
2005190202.tif 000010
【図９】
2005190202.tif 000011
【図１０】
2005190202.tif 000012
【図１１】
2005190202.tif 000013
【図１２】
2005190202.tif 000014