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