(57)【要約】【課題】デバイスのオフ／オン回数に対する寿命を考慮しつつ効率的に消費電力を削減することができる電子機器を提供することを課題とする。【解決手段】電子機器は、メイン制御部と、所定の通信規格に従う所定の物理通信インターフェースを介して前記メイン制御部及びデバイスと通信する通信制御手段とを有し、前記通信制御手段は、前記メイン制御部において省電力状態への移行を引き起こすイベントが発生すると、前記通信制御手段が制御する前記所定の物理通信インターフェース及び前記デバイスに対して電源オフを指示し、前記メイン制御部において前記省電力状態からの復帰を引き起こすイベントが発生すると、前記デバイスの電源オンを伴わずに前記所定の物理通信インターフェースを省電力状態から復帰させるか、前記デバイスの電源オンを伴って前記所定の物理通信インターフェースを省電力状態から復帰させるかを前記電源オフの指示内容に基づき決定する。【選択図】図１０
2018015914.tif 000002
【特許請求の範囲】
【請求項１】
メイン制御部と、
所定の通信規格に従う所定の物理通信インターフェースを介して前記メイン制御部及びデバイスと通信する通信制御手段とを有し、
前記通信制御手段は、
前記メイン制御部において省電力状態への移行を引き起こすイベントが発生すると、前記通信制御手段が制御する前記所定の物理通信インターフェース及び前記デバイスに対して電源オフを指示し、
前記メイン制御部において前記省電力状態からの復帰を引き起こすイベントが発生すると、前記デバイスの電源オンを伴わずに前記所定の物理通信インターフェースを省電力状態から復帰させるか、前記デバイスの電源オンを伴って前記所定の物理通信インターフェースを省電力状態から復帰させるかを前記電源オフの指示内容に基づき決定することを特徴とする電子機器。
【請求項２】
前記所定の通信規格はＳＡＴＡ規格であり、
前記通信制御手段は、前記メイン制御部に接続される第１のＳＡＴＡ制御部と、第１のインターフェースを介して前記第１のＳＡＴＡ制御部に接続される第２のＳＡＴＡ制御部とを含み、
前記電子機器は、第２のインターフェースを介して前記第２のＳＡＴＡ制御部に接続されるデバイスを含み、
前記第１のＳＡＴＡ制御部は、前記メイン制御部によりアイドル状態から省電力状態への移行が指示されると、前記第２のＳＡＴＡ制御部にアイドル状態から省電力状態への移行を指示し、アイドル状態から省電力状態への移行処理を行い、
前記第２のＳＡＴＡ制御部は、前記第１のＳＡＴＡ制御部によりアイドル状態から省電力状態への移行が指示されると、第１の電源オフモード又は第２の電源オフモードで前記デバイスの電源オフを指示し、アイドル状態から省電力状態への移行処理を行い、
前記第１のＳＡＴＡ制御部は、前記メイン制御部により省電力状態からアイドル状態への復帰が指示されると、省電力状態からアイドル状態への復帰処理を行い、前記第２のＳＡＴＡ制御部に省電力状態からアイドル状態への復帰を指示し、
前記第２のＳＡＴＡ制御部は、前記第１のＳＡＴＡ制御部により省電力状態からアイドル状態への復帰が指示されると、前記第１の電源オフモードである場合には前記デバイスの電源オンを指示せず、前記第２の電源オフモードである場合には前記デバイスの電源オンを指示することを特徴とする請求項１記載の電子機器。
【請求項３】
前記第１のＳＡＴＡ制御部は、前記メイン制御部によりアイドル状態から省電力状態への移行が指示されると、前記第１のインターフェースに対して省電力状態への移行処理を行い、自身に対して省電力状態への移行処理を行い、
前記第２のＳＡＴＡ制御部は、前記第１のＳＡＴＡ制御部によりアイドル状態から省電力状態への移行が指示されると、前記第２のインターフェースに対して省電力状態への移行処理を行い、自身に対して省電力状態への移行処理を行い、
前記第１のＳＡＴＡ制御部は、前記メイン制御部により省電力状態からアイドル状態への復帰が指示されると、自身に対してアイドル状態への復帰処理を行い、前記第１のインターフェースに対してアイドル状態への復帰処理を行い、
前記第２のＳＡＴＡ制御部は、前記第１のＳＡＴＡ制御部により省電力状態からアイドル状態への復帰が指示されると、自身に対してアイドル状態への復帰処理を行い、前記第１のインターフェースに対してアイドル状態への復帰処理を行い、前記第２の電源オフモードである場合には、前記デバイスに対してアイドル状態への復帰処理を行い、前記第２のインターフェースに対してアイドル状態への復帰処理を行うことを特徴とする請求項２記載の電子機器。
【請求項４】
前記第２のＳＡＴＡ制御部は、前記第１のＳＡＴＡ制御部により省電力状態からアイドル状態への復帰が指示された後、前記第１のＳＡＴＡ制御部からＡＴＡコマンドを受信すると、前記第１の電源オフモードである場合には前記デバイスの電源オンを指示し、前記ＡＴＡコマンドの処理を行うことを特徴とする請求項２又は３記載の電子機器。
【請求項５】
前記第２のＳＡＴＡ制御部は、前記第１のＳＡＴＡ制御部により省電力状態からアイドル状態への復帰が指示された後、前記第１のＳＡＴＡ制御部からＡＴＡコマンドを受信すると、前記第１の電源オフモードである場合には、前記デバイスに対してアイドル状態への復帰処理を行い、前記第２のインターフェースに対してアイドル状態への復帰処理を行うことを特徴とする請求項４記載の電子機器。
【請求項６】
前記メイン制御部は、前記第１のＳＡＴＡ制御部に対して前記第１のインターフェースの省電力移行の設定を行い、前記第２のＳＡＴＡ制御部に対して前記第２のインターフェース及び前記デバイスの省電力移行の設定を行い、
前記第１のＳＡＴＡ制御部は、前記第１のインターフェースの省電力移行の設定を基に、前記第１のインターフェースに対して前記移行処理を行い、
前記第２のＳＡＴＡ制御部は、前記第２のインターフェースの省電力移行の設定を基に、前記第２のインターフェースに対して前記移行処理を行い、
前記第２のＳＡＴＡ制御部は、前記デバイスの省電力移行の設定を基に、前記デバイスに対して前記移行処理を行うことを特徴とする請求項３記載の電子機器。
【請求項７】
前記メイン制御部は、前記第１のＳＡＴＡ制御部に対して、省電力効果が異なる複数の省電力状態のうちの１つの省電力状態への移行を指示することを特徴とする請求項６記載の電子機器。
【請求項８】
前記メイン制御部は、前記複数の省電力状態毎に、前記第１のＳＡＴＡ制御部に対して前記第１のインターフェースの省電力移行の設定を行い、前記第２のＳＡＴＡ制御部に対して前記第２のインターフェース及び前記デバイスの省電力移行の設定を行うことを特徴とする請求項７記載の電子機器。
【請求項９】
さらに、印刷を行う印刷部を有することを特徴とする請求項１〜８のいずれか１項に記載の電子機器。
【請求項１０】
メイン制御部と、
所定の通信規格に従う所定の物理通信インターフェースを介して前記メイン制御部及びデバイスと通信する通信制御手段とを有する電子機器の制御方法であって、
前記通信制御手段により、前記メイン制御部において省電力状態への移行を引き起こすイベントが発生すると、前記通信制御手段が制御する前記所定の物理通信インターフェース及び前記デバイスに対して電源オフを指示するステップと、
前記通信制御手段により、前記メイン制御部において前記省電力状態からの復帰を引き起こすイベントが発生すると、前記デバイスの電源オンを伴わずに前記所定の物理通信インターフェースを省電力状態から復帰させるか、前記デバイスの電源オンを伴って前記所定の物理通信インターフェースを省電力状態から復帰させるかを前記電源オフの指示内容に基づき決定するステップと
を有することを特徴とする電子機器の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器及び電子機器の制御方法に関する。
【背景技術】
【０００２】
近年、地球温暖化等の環境問題対応として各国の規制は年々厳しくなってきている。印刷装置においても例外ではなく、真摯に環境問題に取り組み、各種エネルギー関連規格への積極的な対応が求められている。また、ノートＰＣ（パーソナルコンピュータ）やタブレットＰＣなどのモバイル系電子機器の普及に伴い、バッテリによる駆動をより長時間にする必要がある。そのため、内部バスＩＦ（インターフェース）規格であるＰＣＩｅ（ＰＣＩ  Ｅｘｐｒｅｓｓ）やストレージデバイスとのＩＦ規格であるＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴＡ）では、規格レベルにおいて省電力状態が策定されている。例えば、ＳＡＴＡでは、従来からの省電力系コマンドに加えて、ホストとデバイス間ＩＦでの省電力状態が追加された。前者としてはＳｔａｎｄｂｙコマンドやＳｌｅｅｐコマンドなどが、後者としてはＰａｒｔｉａｌ、Ｓｌｕｍｂｅｒ及びＤｅｖｉｃｅ−Ｓｌｅｅｐ（以下、ＤｅｖＳｌｅｅｐと示す）が省電力状態として定義されている。ストレージデバイスの代表例として、ハードディスク装置（以下、ＨＤＤと示す）やＳＳＤ（ソリッドステートドライブ）などが挙げられる。ＤｅｖＳｌｅｅｐは、特にＳＳＤに対して設けられた省電力状態であり、ＳＡＴＡ−ＩＦ電力と本体電力の両方をＲｕｎＴｉｍｅに削減することを可能とする。
【０００３】
ＳＡＴＡ−ＩＦ及びそれに接続されるストレージデバイスは、アクセス期間以外のアイドル状態において比較的に待機電力が大きな部分である。特に、ＳＡＴＡブリッジ構成としてＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋ）制御やデータ暗号化処理を実施する場合である。その場合、ホスト側であるＳＡＴＡメイン制御部及びデバイス側であるＳＡＴＡブリッジ制御部のＣＰＵシステムと複数のストレージデバイス及びそれらを接続する複数のＳＡＴＡ−ＩＦ（特に物理層）での待機電力は大きなものとなる。そのため、ＲｕｍＴｉｍｅな省電力制御が求められる。例えば、ＰＡＴＡ（Ｐａｒａｌｌｅｌ  ＡＴＡ）−ＩＦを有するＨＤＤとＳＡＴＡ−ＩＦを持つＳＡＴＡホスト制御部をブリッジする目的のＳＡＴＡブリッジ構成において、上位メインＣＰＵの手を煩わせることの方法が提案されている。特許文献１では、ＨＤＤへの省電力制御状況（ＳＡＴＡブリッジ制御部への省電力系コマンド）に応じて、ＳＡＴＡホスト制御部とデバイス側であるＳＡＴＡブリッジ制御部間のＳＡＴＡ−ＩＦをＰａｒｔｉａｌやＳｌｕｍｂｅｒの省電力状態に移行させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−７８５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１は、ＨＤＤへの省電力系コマンドを基点としたＳＡＴＡ系省電力移行処理を行う。すなわち、省電力移行条件は、装置全体の電力ステートとは連動せず、あくまでもＳＡＴＡ系部分のみでの省電力移行判定となるため、きめ細かな省電力制御には限界がある。例えば、ＨＤＤは、不要時に電源オフし、真に必要な場合にのみ電源オンすることが電力的及び寿命的に望ましい。また、ＲＡＩＤ制御に伴うバックグラウンド処理中の省電力移行要求に対して、現状のバックグラウンド処理を継続するのか、中断するのかの適切な判断を必要とする場合がある。しかしながら、特許文献１では、ＨＤＤ電源オフ／オンタイミングやバックグラウンド処理の継続の有無を適切に判断することは困難である。
【０００６】
本発明の目的は、デバイス（例えばＨＤＤ）のオフ／オン回数に対する寿命を考慮しつつ効率的に消費電力を削減することができる電子機器及び電子機器の制御方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の電子機器は、メイン制御部と、所定の通信規格に従う所定の物理通信インターフェースを介して前記メイン制御部及びデバイスと通信する通信制御手段とを有し、前記通信制御手段は、前記メイン制御部において省電力状態への移行を引き起こすイベントが発生すると、前記通信制御手段が制御する前記所定の物理通信インターフェース及び前記デバイスに対して電源オフを指示し、前記メイン制御部において前記省電力状態からの復帰を引き起こすイベントが発生すると、前記デバイスの電源オンを伴わずに前記所定の物理通信インターフェースを省電力状態から復帰させるか、前記デバイスの電源オンを伴って前記所定の物理通信インターフェースを省電力状態から復帰させるかを前記電源オフの指示内容に基づき決定する。
【発明の効果】
【０００８】
デバイス（例えばＨＤＤ）のオフ／オン回数に対する寿命を考慮しつつ効率的に消費電力を削減することができる。
【図面の簡単な説明】
【０００９】
【図１】印刷システムの構成例を示す図である。
【図２】ＳＡＴＡブリッジ構成の接続例を示す図である。
【図３】ＳＡＴＡホスト制御部及びブリッジ制御部の内部構成例を示す図である。
【図４】ＰＳ０〜ＰＳ２のＳＡＴＡ系省電力状態種類及び設定内容を示す図である。
【図５】省電力制御に関係する拡張コマンド例を示す図である。
【図６】ＳＡＴＡ系省電力設定への初期化フロー図である。
【図７】ＳＡＴＡホスト制御部の省電力移行処理フロー図である。
【図８】ＳＡＴＡブリッジ制御部の省電力移行処理フロー図である。
【図９】ＳＡＴＡホスト制御部の省電力状態からの復帰処理フロー図である。
【図１０】ＳＡＴＡブリッジ制御部の省電力状態からの復帰処理フロー図である。
【図１１】ＰＳ２省電状態からの復帰シーケンスを示したフロー図である。
【図１２】ＳＡＴＡブリッジ制御部と電源制御部の接続例を示す図である。
【図１３】ＨＤＤの電源制御タイミング例を示す図である。
【図１４】デバイス接続状態の取得例を示す図である。
【発明を実施するための形態】
【００１０】
図１は、本発明の実施形態による印刷システムの構成例を示す図である。印刷システムは、印刷装置及び外部ＨＯＳＴコンピュータ１０７を有する。印刷装置は、メインコントローラ１２０と、スキャナ装置１０９と、ＨＤＤ／ＳＳＤ１１３，１１４と、パネル装置１１６と、印刷部１１８とを有する。印刷装置は、電子機器である。以下、電子機器の例として、印刷装置について説明する。メインＣＰＵ（中央処理演算器）１０１は、メイン制御部であり、システム制御や各種演算処理を行う。メモリ制御部１０２は、各種メモリデバイスへの入出力制御やＤＭＡ（ダイレクト・メモリ・アクセス）制御を行う。フラッシュメモリ１０３は、書き換え可能な不揮発性メモリであり、システム全体の制御プログラムや制御パラメータ等が格納される。ＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）１０４は、ＤＤＲ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ）メモリに代表される揮発性の書き換え専用メモリである。ＤＲＡＭ１０４は、プログラムの作業領域や印刷データの格納領域、各種テーブル情報格納領域等の用途に用いられる。ここで、メモリ制御部１０２と各種メモリデバイスとの関係は、簡略化して表現したものであって、一般的には独立に制御される。ＬＡＮ−ＩＦ制御部１０５は、印刷装置に接続されるローカル・エリア・ネットワーク１０６との入出力制御を行う。ＬＡＮ−ＩＦ制御部１０５は、一般的にはＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）プロトコルに対応する。ＬＡＮ−ＩＦ制御部１０５は、ネットワークケーブルを介して外部ＨＯＳＴコンピュータ１０７などのネットワーク対応機器と接続され、ネットワーク経由でのプリントを行うことができる。Ｒｅａｄｅｒ−ＩＦ制御部１０８は、スキャナ装置１０９との通信制御を行う。印刷装置は、スキャナ装置１０９によってスキャンした入力画像データを印刷させることでコピー機能を実現する。画像処理部１１０は、ＬＡＮ−ＩＦ制御部１０５、Ｒｅａｄｅｒ−ＩＦ制御部１０８を介して取り込んだ画像データに対して各種画像処理を行う。ＳＡＴＡホスト制御部１１１は、ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）規格に準拠したＩＦを有するデバイスとのデータ入出力制御を行う。ＳＡＴＡブリッジ制御部１１２は、上流側としてＳＡＴＡホスト制御部１１１にデバイスとして接続され、下流側としては複数のＨｏｓｔ−ＩＦを有し、ＨＤＤ又はＳＳＤ１１３、１１４と接続される。ＳＡＴＡブリッジ制御部１１２は、ＲＡＩＤ制御やデータ暗号化などの付加価値としての機能が搭載されている。ＳＡＴＡ制御部１２１は、ＳＡＴＡホスト制御部１１１及びＳＡＴＡブリッジ制御部１１２を有する通信制御手段であり、所定の通信規格に従う所定の物理通信インターフェースを介してメインＣＰＵ１０１及びデバイス１１３，１１４と通信する。所定の通信規格は、例えばＳＡＴＡ規格である。本実施形態では、ＳＡＴＡホスト制御部１１１とＳＡＴＡブリッジ制御部１１２は、それぞれ独立したＡＳＩＣ（特定用途向け集積回路）としてメインコントローラ１２０に搭載されていることを前提として説明を行う。パネルＩＦ制御部１１５は、パネル装置１１６との通信制御を行う。パネル装置１１６は、ＵＩ（ユーザ・インターフェース）として、パネル上の液晶画面表示やボタン等を操作することにより印刷装置の各種設定及び状態の確認ができる。ビデオ出力ＩＦ部１１７は、印刷部１１８に対して、コマンド／ステータスの通信制御や印刷データの転送を行う。印刷部１１８は、印刷装置本体と給紙系及び排紙系から構成され、主にビデオ出力ＩＦ部１１７からのコマンド情報に従い、印刷データを紙に印刷する。メインバス１１９は、バスコントローラを含み、制御バス、データバス及び任意ブロック間のローカルバスを便宜的にまとめて表現したものであり、代表例としてＰＣＩｅ（ＰＣＩ Ｅｘｐｒｅｓｓ）やＡＳＩＣの内部バスなども含まれる。
【００１１】
図２は、ＳＡＴＡブリッジ構成の接続例を示す図である。メインＡＳＩＣ２０１は、ＳＡＴＡホスト制御部１１１を含むメインコントローラ１２０のシステム全体を制御する中心的なＡＳＩＣである。ＳＡＴＡホスト制御部１１１は、１個のＳＡＴＡ−ＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）２０２をホストＩＦとして有する。サブＡＳＩＣは、ＳＡＴＡブリッジ制御部１１２そのものであり、メインコントローラ１２０上に独立したＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）として実装されている。ＳＡＴＡブリッジ制御部１１２は、３個のＳＡＴＡ−ＩＰ２０３〜２０５を有する。ブリッジ構成の上流側では、ＳＡＴＡ−ＩＰ（Ｈｏｓｔ）２０２がＨ−Ｈｏｓｔ−ＩＦ２０６を介してＳＡＴＡ−ＩＰ（Ｄｅｖｉｃｅ）２０３と接続される。ブリッジ構成の下流側では、ＳＡＴＡ−ＩＰ（Ｈｏｓｔ１）２０４がＢ−Ｈｏｓｔ１−ＩＦ２０７を介してＨＤＤ／ＳＳＤ１１３と接続され、ＳＡＴＡ−ＩＰ（Ｈｏｓｔ２）２０５がＢ−Ｈｏｓｔ２−ＩＦ２０８を介してＨＤＤ／ＳＳＤ１１４と接続されている。ここで、ＳＡＴＡ−ＩＰ２０２〜２０５は、ＳＡＴＡリンク層及び物理層から構成される。ＳＡＴＡ−ＩＰ２０２〜２０５は、各種ＳＡＴＡレジスタの設定に応じてＳＡＴＡ−ＩＦ２０６〜２０８で接続されるＳＡＴＡデバイスに対して物理的な（電気信号としての）ＳＡＴＡ規格のコマンド発行やステータス受信を行う。
【００１２】
また、ＳＡＴＡブリッジ制御部１１２は、電源制御部２０９と制御信号２１４で接続されている。電源制御部２０９は、メインボード上に搭載され、メインコントローラ１２０に含まれる各機能モジュールやそれに接続される各種装置への電力供給の有無を決定し、印刷装置全体としての電源制御を担っている。電源制御部２０９から出ている一点斜線２１０〜２１３は、システム全体の部分であるＳＡＴＡブリッジ部の各構成要素に対する電源ラインを示したものである。なお、本実施形態では、ＳＡＴＡホスト制御部１１１及びブリッジ制御部１１２間のＩＦを１個、ＳＡＴＡブリッジ制御部１１２及びＨＤＤ／ＳＳＤ１１３，１１４間のＩＦを２個として説明するが、各ＩＦの数は任意個数の接続形態であってもよい。
【００１３】
図１２は、図２で接続構成を説明したＳＡＴＡブリッジ制御部１１２と電源制御部２０９間のＨＤＤ／ＳＳＤ電源制御を行う制御信号２１４を分解して、より詳細に示した図である。制御信号ＩＮ１２０５は、ＳＡＴＡブリッジ制御部１１２への入力信号であり、制御信号ＯＵＴＡ１２０１及びＯＵＴＢ１２０２は、電源制御部２０９への出力信号である。また、電源制御部２０９からはＨＤＤ／ＳＳＤへ電力を供給する電源回路１２０４への電力供給を許可するＥＮ信号１２０３が出力されている。電源回路１２０４は、例えば、ＤＣ−ＤＣ電源（直流入力直流出力電源）やＦＥＴ（電界効果トランジスタ）などが挙げられる。ＥＮ信号１２０３は、制御信号ＩＮ１２０５と接続されていて、ＨＤＤ／ＳＳＤへの電力供給状態、すなわち、電源オフかオンかの判定用モニタ信号としてＳＡＴＡブリッジ制御部１１２に入力されている。制御信号ＯＵＴＡ１２０１及びＯＵＴＢ１２０２は、ＨＤＤ／ＳＳＤの電源をオフ／オンするための電源制御部２０９への要求信号である。
【００１４】
図１３は、制御信号ＩＮ１２０５、ＯＵＴＡ１２０１及びＯＵＴＢ１２０２のタイミングチャートである。全ての信号は、開始点１３０４でローレベル開始処理されることを前提としている。制御信号ＩＮ１２０５は、ＨＤＤ／ＳＳＤの電源のオフ又はオン状態を示すモニタ信号であり、起動後、時点１３０５でＨＤＤの電源オンとなったことを表している。制御信号ＯＵＴＡ１２０１は、電源制御部２０９に対してＨＤＤ／ＳＳＤ電源のオフ又はオン要求を行う有効期間を示す信号である。制御信号ＯＵＴＡ１２０１がハイレベルの区間１３０６〜１３０８が電源制御部２０９に対してＨＤＤ／ＳＳＤ電源のオフ又はオンを要求する期間である。制御信号ＯＵＴＢ１２０２は、ＨＤＤ／ＳＳＤ電源に対するオン又はオフ要求を行う信号であり、ハイレベル区間が電源オン要求を示し、ローレベル区間が電源オフ要求を示している。図１３の例では、区間１３０６〜１３０７では制御信号ＯＵＴＡがハイレベル、制御信号ＯＵＴＢがローレベルなので、ＨＤＤ電源がオフされる。区間１３０６〜１３０７では、モニタ信号である制御信号ＩＮがローレベルとなっており、確かにＨＤＤ／ＳＳＤ電源はオフされていることが読み取れる。同様に、制御信号ＯＵＴＡがハイレベルの有効期間に制御信号ＯＵＴＢ１２０２をハイレベル／ローレベルにさせた結果に連動して、制御信号ＩＮ１２０５がハイレベル／ローレベルになっていることが分かる。なお、図１２及び図１３を用いて説明した例では、モニタ信号である制御信号ＩＮ１２０５及び電源オフ／オン要求信号である制御信号ＯＵＴＢ１２０２は１対１の関係であったが、これに限定されない。ＳＡＴＡブリッジ制御部１１２に接続される複数のストレージデバイスのそれぞれに対してモニタ信号（＝電源ＥＮ信号）ＩＮｎと電源オフ／オン要求信号ＯＵＴＢｎ（ｎ≧２）として、同一番号ｎを対応させて個別に制御してもよい。
【００１５】
図３は、ＳＡＴＡホスト制御部１１１及びＳＡＴＡブリッジ制御部１１２の内部構成例を示す図である。ＳＡＴＡホスト制御部１１１は、第１のＳＡＴＡ制御部であり、メインバス１１９を介してメインＣＰＵ１０１に接続される。ＳＡＴＡブリッジ制御部１１２は、第２のＳＡＴＡ制御部であり、Ｈ−Ｈｏｓｔ−ＩＦ（第１のインターフェース）２０６を介してＳＡＴＡホスト制御部１１１に接続される。ＨＤＤ／ＳＳＤ１１３は、デバイスであり、Ｂ−Ｈｏｓｔ１−ＩＦ（第２のインターフェース）２０７を介してＳＡＴＡブリッジ制御部１１２に接続される。ＨＤＤ／ＳＳＤ１１４は、デバイスであり、Ｂ−Ｈｏｓｔ２−ＩＦ（第２のインターフェース）２０８を介してＳＡＴＡブリッジ制御部１１２に接続される。
【００１６】
ＨＣＰＵ３０１は、ＳＡＴＡコマンド発行処理、送受信データの転送処理及びステータス受信処理等のＳＡＴＡコントローラとしての全般的な制御を行う。メモリ制御部３０２は、フラッシュメモリ３０３やＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）３０４との入出力制御を行う。フラッシュメモリ３０３には、ブートプログラムやＳＡＴＡコントローラとしての制御プログラムが格納されている。ＳＲＡＭ３０４は、ＨＣＰＵ３０１の作業領域、各種制御テーブルやパラメータ格納領域及びデータバッファなどに使用される。ここで、ＳＲＡＭ３０４は、１ポートＲＡＭ、２ポートＲＡＭ、ＦＩＦＯ（Ｆｉｒｓｔ−ＩＮ  Ｆｉｒｓｔ−ＯＵＴ）メモリ等の制御を簡略化して記載しているのであって、それぞれ独立に制御され複数個所にＳＲＡＭが存在してもよい。割り込み制御部３０５は、ＨＣＰＵ３０１に対する割り込み信号の入力や出力処理、割り込み信号に対するマスク処理などを行う。レジスタＨ３０６は、省電力関連の制御パラメータなどを一時的に記憶するためのレジスタである。ＤＭＡＣ（ダイレクト・メモリ・アクセス・コントローラ）３０７は、ＨＣＰＵ３０１によって所定のレジスタに転送元及び転送先の先頭アドレス及びサイズが設定され、起動が掛けられると所定のメモリ間でデータ転送を行う。Ｈバス３０８は、バスコントローラを含み、制御バス、データバス及び任意ブロック間のローカルバスを便宜的にまとめて表現したものである。バスブリッジ回路３０９は、メインバス１１９とＨバス３０８間のバスプロトコルを相互に変換するバスブリッジ回路である。
【００１７】
ＢＣＰＵ３１０は、ＳＡＴＡコマンド発行処理、送受信データの転送処理及びステータス受信処理等のＳＡＴＡコントローラとしての全般的な制御を行う。メモリ制御部３１１は、フラッシュメモリ３１２やＳＲＡＭ３１３との入出力制御を行う。フラッシュメモリ３１２には、ブートプログラムやＳＡＴＡコントローラとしての制御プログラムが格納されている。ＳＲＡＭ３１３は、ＢＣＰＵ３１０の作業領域、各種制御テーブルやパラメータ格納領域及びデータバッファなどに使用される。ここで、ＳＲＡＭ３１３は、１ポートＲＡＭ、２ポートＲＡＭ、ＦＩＦＯメモリ等の制御を簡略化して記載しているのであって、それぞれ独立に制御され複数個所にＳＲＡＭが存在してもよい。レジスタＢ３１４は、省電力関連の制御パラメータなどを一時的に記憶するためのレジスタである。電源ＩＦ部３１５は、電源制御部２０９と制御信号２１４で接続され、ＨＤＤ／ＳＳＤ１１３、１１４への電源オフ／オン要求信号の制御を行う。Ｏｔｈｅｒｓ３１６は、ＳＡＴＡブリッジ制御部１１２としての他の機能ブロック、例えばＲＡＩＤ処理やデータ暗号化処理等をまとめて示したものである。Ｂバス３１７は、バスコントローラを含み、制御バス、データバス及び任意ブロック間のローカルバスを便宜的にまとめて表現したものである。また、図２で説明したように、ＳＡＴＡホスト制御部１１１のＳＡＴＡ−ＩＰ（Ｈｏｓｔ）２０２とＳＡＴＡブリッジ制御部１１２のＳＡＴＡ−ＩＰ（Ｄｅｖｉｃｅ）２０３とは、Ｈ−Ｈｏｓｔ−ＩＦ２０６で接続されている。さらに、ＳＡＴＡ−ＩＰ（Ｈｏｓｔ１／２）２０４及び２０５は、Ｂ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８を介して、ＨＤＤ／ＳＳＤ１１３及び１１４に接続されている。
【００１８】
図４は、メインコントローラ１２０の電力ステートを横軸に示し、ＳＡＴＡ系省電力状態と省電力移行条件を縦軸として示したものである。図４の第１行目は、印刷装置全体としての上位電力ステート４０１を示しており、消費電力が高い順にＳｔａｎｄｂｙ（スタンバイ）モード４０２、Ｓｌｅｅｐ（スリープ）モード４０３、Ｄｅｅｐ（ディープ）モード４０４と定義する。Ｓｔａｎｄｂｙモード４０２は、印刷装置が直ちにジョブを受け付け可能な状態であり、図１のメインコントローラ１２０、スキャナ装置１０９、パネル装置１１６、印刷部１１８及びＨＤＤ／ＳＳＤ１１３、１１４には全て通電され、基本的にアイドル状態である。Ｓｌｅｅｐモード４０３及びＤｅｅｐモード４０４は、印刷装置の省電力状態であり、ジョブ実行をしていない期間の待機電力削減を目的とする。Ｓｌｅｅｐモード４０３では、Ｓｔａｎｄｂｙモード４０２で説明した部位は通電されているが、基本的に省電力状態である。特に、Ｄｅｅｐモード４０４は、大半部分の電力供給をカットした状態であり、図１のメモリ制御部１０２及びＤＲＡＭ１０４、ＬＡＮ−ＩＦ１０５、パネルＩＦ１１５及びパネル装置１１６に通電されている。Ｄｅｅｐモード４０４は、Ｓｌｅｅｐモード４０３での各部省電力状態よりもさらに深い省電力状態に置かれ、それら以外は全て電源オフ状態である。本実施形態の対象であるＳＡＴＡホスト制御部１１１、ＳＡＴＡブリッジ制御部１１２及び接続デバイスであるＨＤＤ／ＳＳＤ１１３、１１４も、Ｄｅｅｐモード４０４では全て電源オフされた状態であることを前提としている。さらに、上位電力ステート４０１に対応するＳＡＴＡ系省電力状態としてＰｏｗｅｒＳａｖｅ０（ＰＳ０）４０７、ＰｏｗｅｒＳａｖｅ１（ＰＳ１）４０８及びＰｏｗｅｒＳａｖｅ２（ＰＳ２）４０９を定義する。ＰＳ０（４０７）〜ＰＳ２（４０９）は、図４で示すように上位電力ステートに対応したものであり、電力削減効果としてはＰＳ０＜ＰＳ１＜ＰＳ２（電源オフ）の関係となる。また、そのトレードオフとして復帰時間は、不等号が逆転する関係となる。各ＳＡＴＡ系省電力状態におけるＨ−Ｈｏｓｔ−ＩＦ２０６の省電力移行条件を項目４１１〜４１３、Ｂ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８の省電力移行条件を項目４１５〜４１７、ＨＤＤ／ＳＳＤ本体の省電力移行条件を項目４１９〜４２１として定義する。各項目４１１〜４２１の設定値で、図に“／”で区切られた内容は、その中のいずれかひとつが設定されることを示している。但し、設定値の個数（すなわち、とり得る状態数）は任意に追加してもよい。また、図４の省電力設定値としてのＨ−Ｈｏｓｔ−ＩＦ状態４１０、Ｂ−Ｈｏｓｔ−ＩＦ状態４１４、ＨＤＤ／ＳＳＤ本体状態４１８の対応個所を図２に示す。それらは、それぞれにＨ−Ｈｏｓｔ−ＩＦ２０６（２０２及び２０３を含む）、Ｂ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８（２０４及び２０５を含む）、ＨＤＤ／ＳＳＤ１１３及び１１４に対応する。ＰＳ０（４０７）〜ＰＳ２（４０９）の状態遷移した場合に項目４１１〜４２１の設定値の状態に各対応部が置かれることを意味する。ここで、省電力移行条件としてとり得る省電力状態について説明する。ＡＩはＡｃｔｉｖｅ−Ｉｄｌｅ、ＬＰＩはＬｏｗ−Ｐｏｗｅｒ−Ｉｄｌｅであり、アイドル状態におけるＳＡＴＡ−ＩＦと接続デバイス本体のＡＴＡ規格で定義されている電力状態を示す。既に説明したように、Ｐａｒｔｉａｌ／ＳｌｕｍｂｅｒはＳＡＴＡ−ＩＦとして、ＤｅｖＳｌｅｅｐはＳＡＴＡ−ＩＦ及びデバイス本体の両方の省電力状態をＳＡＴＡ規格で定義されたものである。また、ＯｆｆＬｉｎｅは、ＳＡＴＡ−ＩＰとしての無効（停止）状態を示す。一般的にＳＡＴＡ−ＩＦの省電力として効果が高い順番に並べるとＯｆｆＬｉｎｅ＞ＤｅｖＳｌｅｅｐ＞Ｓｌｕｍｂｅｒ＞Ｐａｒｔｉａｌ＞ＬＰＩ＞ＡＩ、同様にデバイス本体の省電力としては電源オフ＞ＤｅｖＳｌｅｅｐ＞ＬＰＩ＞ＡＩとなる。ここで、接続するデバイスの電源オフ指示の設定条件に、電源オフ−１と電源オフ−２を項目４１９及び４２０に設け、次の定義を与える。電源オフ−１は、次回復帰時にデバイス本体の電源オンを伴わない（省電力＆寿命優先）。電源オフ−２は、次回復帰と同時にデバイス本体も電源オンする（利便性優先）。電源オフ−１及び電源オフ−２によって、特にＨＤＤの電源オフ／オン寿命を配慮した省電力制御が可能となる。後述するが、省電力移行条件は、ＳＡＴＡホスト制御部１１１及びＳＡＴＡブリッジ制御部１１２の起動時に予め設定されることになる。また、ＳＡＴＡホスト制御部１１１のＨＣＰＵシステム及びＳＡＴＡブリッジ制御部１１２のＢＣＰＵシステム自身の各省電力効果も一般的には復帰時間とのトレードオフとしてＰＳ０＜ＰＳ１＜ＰＳ２（電源オフ）の関係と同じとするのが最適解である。ただし、ＰＳ０≦ＰＳ１＜ＰＳ２の関係でもよい。ＨＣＰＵ３０１及びＢＣＰＵ３１０自身の省電力手段として、クロックゲートや電源分離による部分的な電源供給カットなどの方法がある。
【００１９】
ここで、図４で説明した例では、印刷装置全体の電力ステート数を３段階、それに対応するＳＡＴＡ系省電力状態を３段階としたが、電力ステート数やＳＡＴＡ系省電力状態数は任意であってよい。さらに、Ｂ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８の省電力移行条件を項目４１５〜４１７とし、ＨＤＤ／ＳＳＤ本体の省電力移行条件を項目４１９〜４２１としてが、接続ポート単位で個別に設定してもよい。
【００２０】
図５は、図４で説明した各省電力移行条件を予めＳＡＴＡブリッジ制御部１１２に設定するための拡張コマンドについて示す図である。ＳＡＴＡ規格で定義された空コマンドであるベンダユニーク・コマンド（例えばＦ０ｈ）に対して、図５の第１行目左から示されるように拡張コマンド名称５０１、ＣＭＤ（サブコマンド）番号５０２、転送タイプ５０３として省電力系拡張コマンドを独自に定義する。ここで、ＣＭＤ番号５０２は、ベンダユニーク・コマンド（例えば、Ｆ０ｈ）に対するＦｅａｔｕｒｅレジスタに設定されるサブコマンド番号を示す。また、ＳＡＴＡ規格では、基本的な転送タイプとして、データを伴わないＮｏｎ−Ｄａｔａ（ＮＤ）転送、単発データ転送を実行するＰＩＯ−Ｉｎ（ＰＩ）又はＰＩＯ−Ｏｕｔ（ＰＯ）転送、連続データ転送を実行するＤＭＡ転送などの転送タイプが定義されている。図５での転送タイプ５０３は、ＣＭＤ番号５０２に対する転送タイプを定義している。例えば、ＳｅｔｕｐＰｏｗｅｒＣｏｎｆｉｇコマンド５０５は、ＣＭＤ番号が０１ｈ（５０６）、転送タイプがＰＯ（５０７）で構成される。同様に、ＴｏＳｌｅｅｐコマンド５０９は、ＣＭＤ番号が０２ｈ（５１０）、転送タイプがＮＤ（５１１）で定義されている。ＴｏＤｅｅｐコマンド５１３は、ＣＭＤ番号が０３ｈ（５１４）、転送タイプがＮＤ（５１５）で定義されている。ＧｅｔＳｔａｔｕｓコマンド５１７は、ＣＭＤ番号が０４ｈ（５１８）、転送タイプがＰＩ（５１９）で定義されている。
【００２１】
ＳｅｔｕｐＰｏｗｅｒＣｏｎｆｉｇコマンド５０５は、指定内容５０８に示すように、ＳＡＴＡブリッジ制御部１１２に、Ｈ−Ｈｏｓｔ−ＩＦ２０６の省電力移行条件４１１〜４１３を設定するために用いられる。また、ＳｅｔｕｐＰｏｗｅｒＣｏｎｆｉｇコマンド５０５は、指定内容５０８に示すように、ＳＡＴＡブリッジ制御部１１２に、Ｂ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８の省電力移行条件４１５〜４１７を設定するために用いられる。また、ＳｅｔｕｐＰｏｗｅｒＣｏｎｆｉｇコマンド５０５は、指定内容５０８に示すように、ＳＡＴＡブリッジ制御部１１２に、ＨＤＤ／ＳＳＤ本体の省電力移行条件４１９〜４２１を設定するために用いられる。
【００２２】
ＴｏＳｌｅｅｐコマンド５０９は、指定内容５１２に示すように、上位電力ステートがＳｌｅｅｐモード４０３へ移行することをＳＡＴＡブリッジ制御部１１２に通知するコマンドである。ＴｏＤｅｅｐコマンド５１３は、指定内容５１６に示すように、上位電力ステートがＤｅｅｐモードに移行することをＳＡＴＡブリッジ制御部１１２に通知するコマンドである。ＧｅｔＳｔａｔｕｓコマンド５１７は、指定内容５２０に示すように、ＳＡＴＡブリッジ制御部全般のステータス取得のための拡張コマンドである。これは、直接的な省電力関連の拡張コマンドではないが、例えば省電力移行処理が完了したことを上位システムが取得する場合に用いられる。以後、拡張コマンド以外のＡＴＡ規格で定義されたコマンドを区別して表現する場合には、ＡＴＡコマンドと呼ぶことにする。
【００２３】
さらに、幾つかのフロー図を用いて、本実施形態の印刷装置（電子機器）の制御方法について説明する。なお、説明の煩雑性を避けるため、本実施形態に関係しないエラー処理については基本的に説明を省略する。
【００２４】
図６は、ＳＡＴＡ系省電力制御の初期設定フローを示す図である。メインコントローラ１２０の起動（コールドブート）時に、以下の処理が行われる。ステップＳ６０１では、メインＣＰＵ１０１は、ＳＡＴＡホスト制御部１１１に対して、複数の省電力状態ＰＳ０〜ＰＳ２毎に、図４で説明したＨ−Ｈｏｓｔ−ＩＦ２０６の省電力移行条件４１１〜４１３の設定を行う。次に、ステップＳ６０２では、メインＣＰＵ１０１は、ＳＡＴＡブリッジ制御部１１２に対して、ＳｅｔｕｐＰｏｗｅｒＣｏｎｆｉｇコマンド５０５をＳＡＴＡホスト制御部１１１から発行させることで、省電力の初期設定を行う。具体的には、メインＣＰＵ１０１は、ＳＡＴＡブリッジ制御部１１２に対して、複数の省電力状態ＰＳ０〜ＰＳ２毎に、図４で説明したＢ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８の省電力移行条件４１５〜４１７を設定する。また、メインＣＰＵ１０１は、ＳＡＴＡブリッジ制御部１１２に対して、複数の省電力状態ＰＳ０〜ＰＳ２毎に、図４で説明したＨＤＤ／ＳＳＤ１１３及び１１４の省電力移行条件４１９〜４２１を設定する。ＳｅｔｕｐＰｏｗｅｒＣｏｎｆｉｇコマンド５０５を受信したＢＣＰＵ３１０は、所定の場所に省電力移行条件を記録する。ここで、ＳＡＴＡホスト制御部１１１及びＳＡＴＡブリッジ制御部１１２における省電力移行条件の記録場所としてはレジスタＨ３０６やレジスタＢ３１４、ＳＲＡＭ３０４や３１３、フラッシュメモリ３０３や３１２などに設定を行う。この際、省電力移行処理時に読み出せる場所であれば特に限定はしない。また、上記ではメインコントローラ１２０起動時での初期設定について説明したが、印刷装置がＳｔａｎｄｂｙモード４０２であれば、同じ設定方法によって任意タイミングで省電力移行条件を再設定してもよい。なお、本実施形態での印刷装置の起動（コールドブート）時は、一端上位電力ステートがＳｔａｎｄｂｙモード４０２、ＳＡＴＡ制御系及びそれに接続されるストレージデバイスがアイドル状態に遷移することを前提とする。
【００２５】
図７は、ＳＡＴＡホスト制御部１１１の省電力移行シーケンスを示す図である。ステップＳ７０１では、ＨＣＰＵ３０１は、アイドル（待機）状態としてメインＣＰＵ１０１からの割り込み指示待ちである。次に、ステップＳ７０２では、メインＣＰＵ１０１は、ＳＡＴＡホスト制御部１１１に対して、アイドル状態から、省電力効果が異なる複数の省電力状態ＰＳ０，ＰＳ１，ＰＳ２のうちの１つの省電力状態への移行要求割り込みを指示する。ＨＣＰＵ３０１は、受信した割り込み信号の判定を行う。ＨＣＰＵ３０１は、その判定結果がＰＳ０移行要求割り込みである（ＹＥＳ）場合には、ステップＳ７０３に処理を進め、その判定結果がＰＳ０移行要求割り込みでない（ＮＯ）場合には、ステップＳ７０５に処理を進める。ステップＳ７０３では、ＨＣＰＵ３０１は、図６のステップＳ６０１の設定に応じて、Ｈ−Ｈｏｓｔ−ＩＦ２０６に対してアイドル状態から省電力状態ＰＳ０（４０７）への移行処理を行う。すなわち、ＨＣＰＵ３０１は、ＳＡＴＡブリッジ制御部１１２に対してアイドル状態から省電力状態ＰＳ０への移行を指示する。次に、ステップＳ７０４では、ＨＣＰＵ３０１は、ＳＡＴＡホスト制御部１１１自身に対してアイドル状態から省電力状態ＰＳ０（４０７）への移行処理を行う。
【００２６】
ステップＳ７０５では、ＨＣＰＵ３０１は、判定結果がＰＳ１移行要求割り込みである（ＹＥＳ）場合には、ステップＳ７０６に処理を進め、判定結果がＰＳ１移行要求割り込みでない（ＮＯ）場合には、ステップＳ７０８に処理を進める。ステップＳ７０６では、ＨＣＰＵ３０１は、図６のステップＳ６０１の設定に応じて、Ｈ−Ｈｏｓｔ−ＩＦ２０６に対してアイドル状態から省電力状態をＰＳ１（４０８）への移行処理を行う。すなわち、ＨＣＰＵ３０１は、ＳＡＴＡブリッジ制御部１１２に対してアイドル状態から省電力状態ＰＳ１への移行を指示する。次に、ステップＳ７０７では、ＨＣＰＵ３０１は、ＳＡＴＡホスト制御部１１１自身に対して、アイドル状態から省電力状態ＰＳ１（４０８）への移行処理を行う。
【００２７】
ステップＳ７０８では、ＨＣＰＵ３０１は、判定結果がＰＳ２移行要求割り込みである（ＹＥＳ）場合には、ステップＳ７０９に処理を進め、判定結果がＰＳ２移行要求割り込みでない（ＮＯ）場合には、ステップＳ７１１に処理を進める。ステップＳ７０９では、ＨＣＰＵ３０１は、図６のステップＳ６０１の設定に応じて、Ｈ−Ｈｏｓｔ−ＩＦ２０６に対して、アイドル状態から省電力状態をＰＳ２（４０９）への移行処理を行う。すなわち、ＨＣＰＵ３０１は、ＳＡＴＡブリッジ制御部１１２に対してアイドル状態から省電力状態ＰＳ２への移行を指示する。次に、ステップＳ７１０では、ＨＣＰＵ３０１は、ＳＡＴＡホスト制御部１１１自身に対して、アイドル状態から省電力状態ＰＳ２（４０９）への移行処理を行う。
【００２８】
ステップＳ７１１では、ＨＣＰＵ３０１は、省電力移行要求以外の割り込みに応じた処理、例えば通常データ転送時のライトコマンド発行処理などを実行し、処理完了した後に再びステップＳ７０１に戻り、アイドル状態に入る。なお、ＨＣＰＵ３０１は、要求のあった省電力状態に移行した後に、移行完了割り込みをメインＣＰＵ１０１に通知すると同時に、レジスタＨ３０６の一部を省電力状態のステータスレジスタとして報告する。
【００２９】
ここで、ＰＳ０（４０７）〜ＰＳ２（４０９）での設定されたＨ−Ｈｏｓｔ−ＩＦ２０６の省電力移行条件について説明する。Ｐａｒｔｉａｌ及びＳｌｕｍｂｅｒは、ＳＡＴＡ規格で定義されたリクエストパケットを送信し、送信先が許可すればＳＡＴＡ−ＩＦに対する省電力状態に入ることができる。また、ＤｅｖＳｌｅｅｐは、まずＳＡＴＡ−ＩＦをＳｌｕｍｂｅｒに入れて、さらにシングルエンド信号であるＤＥＶＳＬＰ信号をイネーブル状態にすることで接続デバイス本体電力を削減することができる。
【００３０】
図８は、ＳＡＴＡブリッジ制御部１１２の省電力移行シーケンスを示す図である。ステップＳ８０１では、ＢＣＰＵ３１０は、アイドル状態として待機中である。ＢＣＰＵ３１０は、基本的にＳＡＴＡホスト制御部１１１であるＨＣＰＵ３０１からの割り込み指示待ちの状態である。次に、ステップＳ８０２では、ＢＣＰＵ３１０は、受信した割り込み信号がＨ−Ｈｏｓｔ−ＩＦ２０６の省電力状態への移行の通知（移行を引き起こすイベントが発生した）かどうかの判定を行う。ＢＣＰＵ３１０は、判定結果がＨ−Ｈｏｓｔ−ＩＦ２０６の省電力状態への移行の通知である（ＹＥＳ）場合には、ステップＳ８０９に処理を進める。また、ＢＣＰＵ３１０は、判定結果がＨ−Ｈｏｓｔ−ＩＦ２０６の省電力状態への移行の通知でない（ＮＯ）場合には、ステップＳ８０３に処理を進める。
【００３１】
ステップＳ８０３では、ＢＣＰＵ３１０は、受信した割り込み信号が省電力系の拡張コマンドであるかどうかの判定を行う。ＢＣＰＵ３１０は、省電力系の拡張コマンドである（ＹＥＳ）の場合には、ステップＳ８０５に処理を進め、省電力系の拡張コマンドでない（ＮＯ）の場合には、ステップＳ８０４に処理を進める。ステップＳ８０４では、ＢＣＰＵ３１０は、他の割り込み処理、例えばＡＴＡコマンド処理などを実行し、再びステップＳ８０１のアイドル状態に戻る。
【００３２】
ステップＳ８０５では、ＢＣＰＵ３０１は、受信した省電力系コマンドがＴｏＳｌｅｅｐコマンド５０９かどうかの判定を行う。ＢＣＰＵ３０１は、ＴｏＳｌｅｅｐコマンド５０９である（ＹＥＳ）の場合には、ステップＳ８０６に処理を進め、ＴｏＳｌｅｅｐコマンド５０９でない（ＮＯ）場合には、ステップＳ８０７に処理を進める。ステップＳ８０６では、ＢＣＰＵ３１０は、上位電力ステートをＳｌｅｅｐモード４０３としてレジスタＢ３１４やＳＲＡＭ３１３等に登録し、再びステップＳ８０１のアイドル状態に戻る。
【００３３】
ステップＳ８０７では、ＢＣＰＵ３１０は、受信した省電力系コマンドがＴｏＤｅｅｐコマンド５１３であると判断し、上位電力ステートをＤｅｅｐモード４０３としてレジスタＢ３１４やＳＲＡＭ３１３等に登録し、ステップＳ８０８へ処理を進める。ステップＳ８０８では、ＢＣＰＵ３１０は、Ｄｅｅｐ移行準備を行い、再びステップＳ８０１のアイドル状態に戻る。Ｄｅｅｐモード４０３では、基本的に電源制御部２０９による電源オフ処理を前提としている。そのため、特に瞬断を許さないストレージデバイス（ＨＤＤやＳＳＤ）及びフラッシュメモリを内蔵するＳＡＴＡブリッジ制御部１１２のようなタイプのＩＣは電源オフ準備を行い、準備完了後に電源オフタイミングを通知する必要がある。ＰＳ２状態としての電源オフ準備完了かどうかは、ＧｅｔＳｔａｔｕｓコマンド５１７によって取得することが可能である。メインＣＰＵ１０１は、ＳＡＴＡホスト制御部１１１やＳＡＴＡブリッジ制御部１１２が電源オフ準備完了したことを前述したステータス取得手段により確認した後に、電源制御部２０９に電源オフ許可を通知する。また、一例としてＨＤＤ電源オフ時の準備としては、ＡＴＡ規格のＦＬＵＳＨ  ＣＡＣＨＥコマンド及びＳＬＥＥＰコマンドを発行し、データ退避や物理的なヘッダの退避等を行う。
【００３４】
ステップＳ８０９では、ＢＣＰＵ３１０は、上位電力ステートがＳｔａｎｄｂｙモード４０２として予め設定されているＨ−Ｈｏｓｔ−ＩＦ２０６の省電力移行条件４１１から、ＰＳ０（４０７）に移行すべきかどうかの判定を行う。ＢＣＰＵ３１０は、ＰＳ０（４０７）に移行すべき（ＹＥＳ）場合には、ステップＳ８１０に処理を進め、ＰＳ０（４０７）に移行すべきでない（ＮＯ）場合には、ステップＳ８１１に処理を進める。ステップＳ８１０では、ＢＣＰＵ３１０は、予め設定されているＢ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８の省電力移行条件４１５を基に、Ｂ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８に対してアイドル状態から省電力状態ＰＳ０（４０７）への移行処理を行う。また、ＢＣＰＵ３１０は、予め設定されているＨＤＤ／ＳＳＤ本体の省電力移行条件４１９を基に、ＨＤＤ／ＳＳＤ１１３，１１４に対してアイドル状態から省電力状態ＰＳ０（４０７）への移行処理を行う。例えば、ＢＣＰＵ３１０は、電源オフ−１（第１の電源オフモード）又は電源オフ−２（第２の電源オフモード）でＨＤＤ／ＳＳＤ１１３，１１４の電源オフを指示する。そして、ＢＣＰＵ３１０は、ＳＡＴＡブリッジ制御部１１２自身に対してアイドル状態から省電力状態ＰＳ０（４０７）への移行処理を行う。
【００３５】
ステップＳ８１１では、ＢＣＰＵ３１０は、上位電力ステートがＳｌｅｅｐモード４０３として予め設定されているＨ−Ｈｏｓｔ−ＩＦ２０６の省電力移行条件４１２から、ＰＳ１（４０８）に移行すべきかどうかの判定を行う。ＢＣＰＵ３１０は、ＰＳ１（４０８）に移行すべき（ＹＥＳ）場合には、ステップＳ８１２に処理を進め、ＰＳ１（４０８）に移行すべきでない（ＮＯ）場合には、ステップＳ８１３に処理を進める。ステップＳ８１２では、ＢＣＰＵ３１０は、予め設定されているＢ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８の省電力移行条件４１６を基に、Ｂ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８に対してアイドル状態から省電力状態ＰＳ１（４０８）への移行処理を行う。また、ＢＣＰＵ３１０は、予め設定されているＨＤＤ／ＳＳＤ本体の省電力移行条件４２０を基に、ＨＤＤ／ＳＳＤ１１３，１１４に対してアイドル状態から省電力状態ＰＳ１（４０８）への移行処理を行う。例えば、ＢＣＰＵ３１０は、電源オフ−１（第１の電源オフモード）又は電源オフ−２（第２の電源オフモード）でＨＤＤ／ＳＳＤ１１３，１１４の電源オフを指示する。そして、ＢＣＰＵ３１０は、ＳＡＴＡブリッジ制御部１１２自身に対して、アイドル状態から省電力状態ＰＳ１（４０８）への移行処理を行う。
【００３６】
ステップＳ８１３では、ＢＣＰＵ３１０は、上位電力ステートがＤｅｅｐモード４０４として予め設定されているＨ−Ｈｏｓｔ−ＩＦ２０６の省電力移行条件４１３から、ＰＳ２（４０９）に移行すべきかどうかの判定を行う。ＢＣＰＵ３１０は、ＰＳ２（４０９）に移行すべき（ＹＥＳ）場合には、ステップＳ８１４に処理を進め、ＰＳ２（４０９）に移行すべきでない（ＮＯ）場合には、ステップＳ８１５に処理を進める。ステップＳ８１４では、ＢＣＰＵ３１０は、予め設定されているＢ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８の省電力移行条件４１７を基に、Ｂ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８に対してアイドル状態から省電力状態ＰＳ２（４０９）への移行処理を行う。また、ＢＣＰＵ３１０は、予め設定されているＨＤＤ／ＳＳＤ本体の省電力移行条件４２１を基に、ＨＤＤ／ＳＳＤ１１３，１１４に対してアイドル状態から省電力状態ＰＳ２（４０９）への移行処理を行う。そして、ＢＣＰＵ３１０は、ＳＡＴＡブリッジ制御部１１２自身に対して、アイドル状態から省電力状態ＰＳ２（４０９）への移行処理を行う。ステップＳ８１５では、ＢＣＰＵ３１０は、省電力移行失敗としてエラー処理を行い、上位へのステータス通知等を実行する。
【００３７】
以上のように、ＳＡＴＡブリッジ制御部１１２は、ＰＳ０（４０７）〜ＰＳ２（４０９）のいずれかの省電力状態への移行判定を行う。その際、ＳＡＴＡブリッジ制御部１１２は、上位電力ステート（Ｓｔａｎｄｂｙモード４０２、Ｓｌｅｅｐモード４０３、Ｄｅｅｐモード４０４）情報とＨ−Ｈｏｓｔ−ＩＦ２０６の省電力状態の２条件からＰＳ０〜ＰＳ２のいずれかであるかを判定する。ＰＳ０又はＰＳ１で、ＨＤＤ／ＳＳＤ本体の省電力移行条件４１９〜４２１が電源オフ指示（電源オフ−１又は電源オフ−２）であった場合には、図１２及び図１３で説明したようにＢＣＰＵ３１０は、電源制御部２０９にＨＤＤ／ＳＳＤ電源のオフ要求を行う。
【００３８】
図９は、ＳＡＴＡホスト制御部１１１のＰＳ０（４０７）又はＰＳ１（４０８）からの復帰シーケンスを示す図である。ステップＳ９０１では、ＨＣＰＵ３０１は、ＰＳ０又はＰＳ１の省電力状態である。次に、ステップＳ９０２では、ＨＣＰＵ３０１は、メインＣＰＵ１０１からの割り込み要求待ち状態であり、割り込み要求がなければ（すなわち、Ｓ９０２のＮＯであれば）、ステップＳ９０１に戻り、ＰＳ０又はＰＳ１の省電力状態を継続する。ＨＣＰＵ３０１は、コマンド転送要求割り込みを受信すると、ステップＳ９０３へ処理を進める。すなわち、ＨＣＰＵ３０１は、メインＣＰＵ１０１により省電力状態ＰＳ０又はＰＳ１からアイドル状態への復帰が指示されると、ステップＳ９０３に処理を進める。ステップＳ９０３では、ＨＣＰＵ３０１は、ＳＡＴＡホスト制御部１１１自身に対して省電力状態ＰＳ０又はＰＳ１からアイドル状態への復帰処理を行う。次に、ステップＳ９０４では、ＨＣＰＵ３０１は、Ｈ−Ｈｏｓｔ−ＩＦ２０６に対して、省電力状態ＰＳ０又はＰＳ１からアイドル状態への復帰処理を行う。具体的には、ＨＣＰＵ３０１は、ＳＡＴＡ規格で規定されたＯＯＢ（Ｏｕｔ  Ｏｆ  Ｂａｎｄ）やスピードネゴシエーションの所定シーケンスを経て、コマンド発行可能となるまでのリンク確立処理を行う。ここで、基本的にＳＡＴＡ−ＩＦ系省電力状態からの復帰は、ＳＡＴＡ規格で定義されたリセット信号であるＣｏｍＲｅｓｅｔ信号の発行から開始される。ＤｅｖＳｌｅｅｐからの復帰は、図７で説明した移行の逆手順で、まずＤＥＶＳＬＰ信号をディスイネーブルにしてから、次にＣｏｍＲｅｓｅｔ信号（又はＣｏｍＷａｋｅ信号）を投げることで開始される。次に、ステップＳ９０５では、ＨＣＰＵ３０１は、リンク確立したことを確認すると、メインＣＰＵ１０１からの要求コマンドをＨ−Ｈｏｓｔ−ＩＦ２０６に発行する。次に、ステップＳ９０６では、ＨＣＰＵ３０１は、ＳＡＴＡ−ＩＰ（Ｄｅｖｉｃｅ）２０３からのＳｔａｔｕｓ受信待ちに入る。ＨＣＰＵ３０１は、未受信の間（Ｓ９０６でＮＯ）はそのまま待機し、Ｓｔａｔｕｓを受信（Ｓ９０６でＹＥＳ）した時点で、一連のコマンド処理を終了し、ステップＳ９０７に処理を進める。ステップＳ９０７では、メインＣＰＵ１０１によって再び省電力移行要求が発行されるまでの間、ＳＡＴＡホスト制御部１１１は、アイドル状態を維持する。
【００３９】
図１０は、ＳＡＴＡブリッジ制御部１１２のＰＳ０（４０７）又はＰＳ１（４０８）からの復帰シーケンスを示す図である。ステップＳ１００１では、ＢＣＰＵ３１０は、ＰＳ０又はＰＳ１の省電力状態である。次に、ステップＳ１００２では、ＢＣＰＵ３１０は、割り込み要求待ち状態であり、割り込み要求がなければ（すなわち、Ｓ１００２のＮＯであれば）、ステップＳ１００１に戻り、ＰＳ０又はＰＳ１の省電力状態を継続する。ＢＣＰＵ３１０は、Ｈ−Ｈｏｓｔ−ＩＦ２０６のアイドル状態への復帰処理開始の割り込みを受信（Ｓ１００２でＹＥＳ）すると、ステップＳ１００３に処理を進める。すなわち、ＢＣＰＵ３１０は、省電力状態からの復帰を引き起こすイベントが発生すると、ステップＳ１００３に処理を進める。ここで、復帰処理の開始は、図９で説明したＤＥＶＳＬＰ信号がディイネーブルとなるレベル変化の検知やＣｏｍＲｅｓｅｔ（又はＣｏｍＷａｋｅ）を要因として割り込み信号が発行される。ステップＳ１００３では、ＢＣＰＵ３１０は、ＳＡＴＡブリッジ制御部１１２自身に対して省電力状態ＰＳ０又はＰＳ１からアイドル状態への復帰処理を行う。次に、ステップＳ１００４では、ＢＣＰＵ３１０は、Ｈ−Ｈｏｓｔ−ＩＦ２０６に対して省電力状態ＰＳ０又はＰＳ１からアイドル状態への復帰処理を行う。具体的には、ＢＣＰＵ３１０は、ＳＡＴＡ規格で規定されたＯＯＢ（Ｏｕｔ  Ｏｆ  Ｂａｎｄ）やスピードネゴシエーションの所定シーケンスを経て、コマンド発行可能となるまでのリンク確立処理を行う。
【００４０】
次に、ステップＳ１００５では、ＢＣＰＵ３１０は、前回の省電力移行時のデバイス本体移行設定条件が電源オフ−２であったかどうかの判定を行う。ここで、ＢＣＰＵ３１０は、前回の省電力移行時のデバイス本体の移行設定条件が電源オフ−１又は電源オフ−２なのかを、次回復帰時に判定可能なように記録しておく必要がある。ＰＳ０（４０７）やＰＳ１（４０８）では、少なくともＨＣＰＵ３０１やＢＣＰＵ３１０のＳＡＴＡ制御部は省電力状態には移行するが、電源オフにはならないことを前提としている。従って、電源オフ−１か電源オフ−２の判定情報を、例えばレジスタＨ３０６やレジスタＢ３１４などに記録することが可能である。記録は、次回省電力からの復帰時のみ利用され、復帰した後にクリアされるものとする。ＢＣＰＵ３１０は、電源オフ−２であった（ＹＥＳ）場合（且つ、ＩＮ１２０５がローレベル）には、ステップＳ１００６に処理を進め、電源オフ−２でなかった（ＮＯ）場合には、ステップＳ１００８に処理を進める。すなわち、ＢＣＰＵ３１０は、電源オフの指示内容に基づきステップＳ１００６に進むか否かを決定する。
【００４１】
ステップＳ１００６では、ＢＣＰＵ３１０は、接続デバイスに対して省電力状態ＰＳ０又はＰＳ１からアイドル状態への復帰処理を行う。ＢＣＰＵ３１０は、接続デバイスであるＨＤＤ／ＳＳＤ１１３、１１４の電源をオフしていた場合、図１２及び図１３で説明したように電源制御部２０９に対してＨＤＤ／ＳＳＤ電源のオン要求を行う。すなわち、ＢＣＰＵ３１０は、電源オフ−２である場合にはＨＤＤ／ＳＳＤ１１３、１１４の電源オンを指示し、電源オフ−１である場合にはＨＤＤ／ＳＳＤ１１３、１１４の電源オンを指示しない。
【００４２】
次に、ステップＳ１００７では、ＢＣＰＵ３１０は、Ｂ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８に対して省電力状態ＰＳ０又はＰＳ１からアイドル状態への復帰処理を行い、ステップＳ１００８に処理を進める。復帰処理に関しては、図９で説明したＨ−Ｈｏｓｔ−ＩＦ２０６の復帰処理と同様である。
【００４３】
ステップＳ１００８では、ＢＣＰＵ３１０は、リンク確立したことを確認すると、コマンド受信待ちを開始する。この時点で省電力状態からアイドル状態への復帰は完了したことになる。ＢＣＰＵ３１０は、コマンドを受信していない（ＮＯ）場合には、ステップＳ１００８に留まり、受信した（ＹＥＳ）場合には、ステップＳ１００９へ処理を進める。
【００４４】
ステップＳ１００９では、ＢＣＰＵ３１０は、ＳＡＴＡホスト制御部１１１から受信したコマンドがＡＴＡコマンドかどうかの判定を行う。ＢＣＰＵ３１０は、ＡＴＡコマンドである（ＹＥＳ）場合には、ステップＳ１０１１に処理を進め、ＡＴＡコマンドでない（ＮＯ）場合には、ステップＳ１０１０に処理を進める。ステップＳ１０１１では、ＢＣＰＵ３１０は、前回の省電力移行時のデバイス本体移行設定条件が電源オフ−１であったかどうかの判定を行う。ＢＣＰＵ３１０は、電源オフ−１であった場合（且つ、ＩＮ１２０５がローレベル）には、ステップＳ１０１２に処理を進め、電源オフ−１でなかった場合には、ステップＳ１０１４に処理を進める。
【００４５】
ステップＳ１０１２では、ＢＣＰＵ３１０は、ステップＳ１００６と同様に、接続デバイスであるＨＤＤ／ＳＳＤ１１３、１１４に対して省電力状態ＰＳ０又はＰＳ１からアイドル状態への復帰処理を行う。ＢＣＰＵ３１０は、電源オフ−１である場合には、ＨＤＤ／ＳＳＤ１１３、１１４の電源オンを指示する。次に、ステップＳ１０１３では、ＢＣＰＵ３１０は、ステップＳ１００７と同様に、Ｂ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８に対して省電力状態ＰＳ０又はＰＳ１からアイドル状態への復帰処理を行い、ステップＳ１０１４に処理を進める。
【００４６】
ステップＳ１０１４では、ＢＣＰＵ３１０は、ＡＴＡコマンドの処理を行う。次に、Ｓ１０１５では、ＨＣＰＵ３０１は、ＨＤＤ／ＳＳＤ１１３、１１４からのＳｔａｔｕｓ受信待ちに入る。ＨＣＰＵ３０１は、未受信の間（Ｓ１０１５でＮＯ）はそのまま待機し、Ｓｔａｔｕｓを受信（Ｓ１０１５でＹＥＳ）した時点で、ステップＳ１０１６に処理を進める。
【００４７】
また、ステップＳ１００９では、ＢＣＰＵ３１０は、受信コマンドが拡張コマンドである場合には、ステップＳ１０１０に処理を進める。ステップＳ１０１０では、ＢＣＰＵ３１０は、拡張コマンド処理を実行し、ステップＳ１０１６に処理を進める。
【００４８】
ステップＳ１０１６では、ＢＣＰＵ３１０は、ＨＤＤ／ＳＳＤから受信したステータス情報又は拡張コマンドにて処理した結果を、ＳＡＴＡ規格で定義されたステータスパケットに反映してＳＡＴＡ−ＩＰ（Ｈｏｓｔ）２０１へ送信する。これにより、ＢＣＰＵ３１０は、一連のコマンド処理を終了する。次に、ステップＳ１０１７では、メインＣＰＵ１０１によって再び省電力移行要求が発行されるまでの間、ＳＡＴＡブリッジ制御部１１２はアイドル状態を維持する。
【００４９】
図１１は、ＳＡＴＡブリッジ制御部１１２のＰＳ２（４０９）省電状態からの復帰シーケンスを示す図である。ここでの説明では、接続デバイスとしてＨＤＤを前提として説明を行う。ステップＳ１１０１では、ＨＣＰＵ３０１及びＢＣＰＵ３１０は、前回のＰＳ２移行処理により電源オフ状態である。その後、電源制御部２０９は、ＳＡＴＡホスト制御部１１１及びＳＡＴＡブリッジ制御部１１２への電源供給（すなわち、電源オン）を開始する。次に、ステップＳ１１０２では、ＢＣＰＵ３１０は、自身の復帰処理（ブート処理）を実施する。次に、ステップＳ１１０３では、ＢＣＰＵ３１０は、Ｈ−Ｈｏｓｔ−ＩＦ２０６の復帰処理を実行する。具体的には、ＢＣＰＵ３１０のブート処理と同時にＨＣＰＵ３０１のブート処理も開始される。Ｈ−Ｈｏｓｔ−ＩＦ２０６の復帰処理では、既に説明したようにＳＡＴＡ−ＩＰ（Ｈｏｓｔ）２０２からＳＡＴＡ−ＩＰ（Ｄｅｖｉｃｅ）２０３へのＣｏｍＲｅｓｔ信号を基点としたＯＯＢ及びスピードネゴシエーション処理を経てリンクが確立される。ステップＳ１１０３でのリンク確立後、ＢＣＰＵ３１０は、ＳＡＴＡ下層のリンク確立を実行する。次に、ステップＳ１１０４では、ＢＣＰＵ３１０は、ＨＤＤ電源供給状態をモニタする制御信号ＩＮ１２０５を確認し、ＨＤＤ電源のオフ／オン判定を行う。ＢＣＰＵ３１０は、制御信号ＩＮがハイレベルである（ＹＥＳ）場合には、ステップＳ１１０５に処理を進め、制御信号ＩＮがローレベルである（ＮＯ）場合には、ステップＳ１１０６に処理を進める。
【００５０】
ステップＳ１１０５では、ＢＣＰＵ３１０は、電源オフ−２（電源オンを伴う復帰）と認識し、ステップＳ１１０７に処理を進める。ステップＳ１１０６では、ＢＣＰＵ３１０は、電源オフ−１（電源オンを伴わない復帰）として認識し、ステップＳ１１０７に処理を進める。ここで、ＧｅｔＳｔａｔｕｓ５１７では、省電力への移行確認だけでなく、ＨＤＤの接続状況なども取得可能である。メインＣＰＵ１０１は、ＳＡＴＡホスト制御部１１１及びＳＡＴＡブリッジ制御部１１２の起動後、所定時間内にＨＤＤ接続ＯＫ（リンク確立状態）とならない場合にはエラーとして扱う。ここで、ＧｅｔＳｔａｔｕｓ５１７でのＨＤＤ接続状態確認では、例えば未接続状態１（接続エラー）／未接続状態２（電源オフ−１としての未接続）を区別して確認できるようにする。
【００５１】
図１４は、ＧｅｔＳｔａｔｕｓ５１７で報告される一例を示す。ＧｅｔＳｔａｔｕｓ５１７での報告内容１４０１の一部として、デバイス１接続状態１４０２とデバイス２接続状態１４０３とを設け、さらに状態定義１４０４を示す。例えば、意図的な電源オフ状態での復帰時は“状態：０１”としてメインＣＰＵ１０１に報告される。ＢＣＰＵ３１０は、ステップＳ１１０５又はＳ１１０６での認識によって、ＧｅｔＳｔａｔｕｓ５１７でのＨＤＤ接続状態報告を未接続２として適切に示すことができる。未接続２を確認したメインＣＰＵ１０１は、この場合、意図的な未接続として認識し、エラー処理対象としない。
【００５２】
ステップＳ１１０７では、ＢＣＰＵ３１０は、上位層がリンク確立したことを確認すると、コマンドの受信待ちを開始する。この時点で省電力状態からアイドル状態への復帰は完了したことになる。ＢＣＰＵ３１０は、コマンド未受信の間（ＮＯ）はステップＳ１１０７に滞在し、コマンドを受信する（ＹＥＳ）と、ステップＳ１１０８に処理を進める。
【００５３】
ステップＳ１１０８では、ＢＣＰＵ３１０は、受信したコマンドがＡＴＡコマンドかどうかの判定を行う。ＢＣＰＵ３１０は、ＡＴＡコマンドである（ＹＥＳ）場合には、ステップＳ１１１０に処理を進め、拡張コマンドである（ＮＯ）場合には、ステップＳ１１０９に処理を進める。
【００５４】
ステップＳ１１１０では、ＢＣＰＵ３１０は、ＨＤＤ電源供給状態をモニタする制御信号ＩＮ１２０５を確認し、ＨＤＤ電源のオフ／オン判定を行う。ＢＣＰＵ３１０は、制御信号ＩＮ１２０５がローレベルである（ＹＥＳ）場合には、ステップＳ１１１１に処理を進め、制御信号ＩＮ１２０５がハイレベルである（ＮＯ）場合には、ステップＳ１１１３に処理を進める。ステップＳ１１１１では、ＢＣＰＵ３１０は、ステップＳ１００６と同様に、接続デバイスの復帰処理を行う。次に、ステップＳ１１１２では、ＢＣＰＵ３１０は、ステップＳ１００７と同様に、Ｂ−Ｈｏｓｔ１／２−ＩＦ２０７及び２０８の復帰処理を行い、ステップＳ１１１３に処理を進める。
【００５５】
ステップＳ１１１３では、ＢＣＰＵ３１０は、ＡＴＡコマンド処理を実行する。次に、ステップＳ１１１４では、ＨＣＰＵ３０１は、ＨＤＤ１１３、１１４からのＳｔａｔｕｓ受信待ちに入る。ＨＣＰＵ３０１は、未受信の間（Ｓ１１１４でＮＯ）はそのまま待機し、Ｓｔａｔｕｓを受信（Ｓ１１１４でＹＥＳ）した時点で、ステップＳ１１１５に処理を進める。また、ステップＳ１１０９では、ＢＣＰＵ３１０は、拡張コマンド処理を実行し、ステップＳ１１１５に処理を進める。
【００５６】
ステップＳ１１１５では、ＢＣＰＵ３１０は、ＨＤＤ１１３、１１４から受信したステータス情報又は拡張コマンドにて処理した結果を、ＳＡＴＡ規格で定義されたステータスパケットに反映してＳＡＴＡ−ＩＰ（Ｈｏｓｔ）２０１へ送信する。これにより、ＢＣＰＵ３１０は、一連のコマンド処理を終了する。次に、ステップＳ１１１６では、メインＣＰＵ１０１によって再び省電力移行要求が発行されるまでの間、ＳＡＴＡブリッジ制御部１１２はアイドル状態を維持する。
【００５７】
以上のように、本実施形態では、アイドル状態及び省電力状態（ＰＳ０〜ＰＳ２）間、省電力状態間（例えば、ＰＳ１及びＰＳ２間）の遷移で、特にＨＤＤにおいて移行条件に電源オフ−１を設定しておく。これにより、ＡＴＡコマンド受信時（すなわち、真にＨＤＤを必要とする場合）のみにＨＤＤ電源オン制御可能となるため、ＨＤＤに対する省電力的、且つ電源オフ／オン回数寿命的にも最適な省電力制御を実施することが可能となる。
【００５８】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００５９】
１０１  メインＣＰＵ、１１１  ＳＡＴＡホスト制御部、１１２  ＳＡＴＡブリッジ制御部、１１３，１１４  ＨＤＤ／ＳＳＤ
【図１】
2018015914.tif 000003
【図２】
2018015914.tif 000004
【図３】
2018015914.tif 000005
【図４】
2018015914.tif 000006
【図５】
2018015914.tif 000007
【図６】
2018015914.tif 000008
【図７】
2018015914.tif 000009
【図８】
2018015914.tif 000010
【図９】
2018015914.tif 000011
【図１０】
2018015914.tif 000012
【図１１】
2018015914.tif 000013
【図１２】
2018015914.tif 000014
【図１３】
2018015914.tif 000015
【図１４】
2018015914.tif 000016