JP7022605B2 - 情報処理装置とその制御方法、及びプログラム - Google Patents

情報処理装置とその制御方法、及びプログラム Download PDF

Info

Publication number
JP7022605B2
JP7022605B2 JP2018011850A JP2018011850A JP7022605B2 JP 7022605 B2 JP7022605 B2 JP 7022605B2 JP 2018011850 A JP2018011850 A JP 2018011850A JP 2018011850 A JP2018011850 A JP 2018011850A JP 7022605 B2 JP7022605 B2 JP 7022605B2
Authority
JP
Japan
Prior art keywords
state
control means
power
control unit
storage device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018011850A
Other languages
English (en)
Other versions
JP2019127017A5 (ja
JP2019127017A (ja
Inventor
昭浩 松本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018011850A priority Critical patent/JP7022605B2/ja
Priority to EP18001007.6A priority patent/EP3518092B1/en
Priority to US16/255,028 priority patent/US11144109B2/en
Priority to CN201910075732.XA priority patent/CN110083222B/zh
Publication of JP2019127017A publication Critical patent/JP2019127017A/ja
Publication of JP2019127017A5 publication Critical patent/JP2019127017A5/ja
Application granted granted Critical
Publication of JP7022605B2 publication Critical patent/JP7022605B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3284Power saving in printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/1221Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、情報処理装置とその制御方法、及びプログラムに関する。
近年、地球温暖化等の環境問題に対処するために、省電力に関する各国の規制は年々厳しくなってきている。印刷装置においても例外ではなく、各種エネルギー関連規格への積極的な取り組みが求められている。例えば、印刷装置に搭載されるハードディスク装置(以下、HDD)においても、印刷装置の電力状態の如何に拘らず、印刷装置が使用されていない場合には制御部も含めて省電力状態にし、HDDの電源をオフにするのが望ましいとされている。
一方で、HDDのセキュリティを担保する簡易的な方法として、SATA(Serial Advanced Technology Attachment)規格で策定されているHDDパスワードロックが、組み込み機器で標準的に利用されている。これは一度、HDDの電源をオフするとロックが掛り、次回電源オンした際に正しいパスワードをHDDに設定しないと、HDDのユーザ領域へアクセスできないというものである。然しながら、毎回、HDDの電源オンする毎にパスワードを設定する必要があるため、利便性の面では煩わしさが伴う。その煩雑さを軽減する方法として、例えば特許文献1には、HDDに格納されているデータの重要度に応じて、省電力からの復帰時にロックの解除時間を短縮する方法が提案されている。これによると、HDDに格納されているデータの機密性が低いと判断した場合は直ちにロックを解除し、機密性が高いと判断した場合には利用者の照合を行ってからロックが解除される。
特開2014-178877号公報
しかしながら上記従来技術では、印刷装置本体がスタンバイ状態であってもHDDを使用しない場合はHDDの電源をオフし、STA制御系も省電力状態に移行させて待機電力の削減を目指している。従って、SATA制御系を省電力状態に移行させた後は、必要となるまで省電力状態から復帰させないように制御する必要がある。特に、HDDでは電源オフ/オンの回数の制限があるため、省電力状態から復帰させる回数が多くなるとHDDの寿命を消費してしまう危険性もある。
本発明の目的は、上記従来技術の課題を解決することにある。
本発明の目的は、SATA規格のインタフェースで接続された記憶装置に対する寿命を考慮しつつ、効率的に消費電力を削減できる技術を提供することにある。
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
情報処理装置であって、
SATA(Serial Advanced Technology Attachment)規格に準拠したインタフェースを有する第1制御手段と、
前記第1制御手段と記憶装置との間に介在し前記SATA規格に準拠したインタフェースを有する第2制御手段と、
前記第1制御手段と通信可能な主制御手段と、
前記第2制御手段により制御され、少なくとも前記第1制御手段及び前記第2制御手段、及び前記記憶装置への電源供給を制御する電源制御部と、を有し、
前記第1制御手段と前記第2制御手段と前記記憶装置の各々が前記情報処理装置の電力状態に対応する省電力状態である状態において、前記第1制御手段は、前記主制御手段からの割り込みを受け付けることによって省電力状態から復帰し、前記第2制御手段は前記第1制御手段の復帰に基づいて省電力状態から復帰し、復帰した前記第1制御手段は、前記第2制御手段から前記記憶装置の電源制御に関する情報を取得し、前記取得した電源情報に関する情報に基づいて、前記記憶装置へのアクセスを伴う前処理を実行するか否かを決定することを特徴とする。
本発明によれば、SATA規格のインタフェースで接続された記憶装置に対する寿命を考慮しつつ、効率的に消費電力を削減できるという効果がある。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
実施形態に係る印刷装置と、その印刷装置を含むシステム構成を説明する図。 SATA制御系の構成を説明する図。 実施形態に係るSATAブリッジ制御部と電源制御部との間でHDDの電源制御を行う制御信号を、より詳しく説明する図。 実施形態に係る制御信号IN、OUTA及びOUTBのタイミングチャート。 実施形態に係るSATAホスト制御部及びSATAブリッジ制御部の内部構成例を説明するブロック図。 実施形態に係るメインコントローラの電力ステート(電力状態)を横軸に、SATA系の省電力状態と省電力移行条件を縦軸に示す図。 図6で説明した省電力移行条件を予めSATAブリッジ制御部に設定するための拡張コマンドを説明する図。 実施形態に係るATAコマンドの一例を説明する図。 実施形態に係るSATAホスト制御部とSATAブリッジ制御部の省電力制御の初期設定を説明するフローチャート。 実施形態に係るSATAホスト制御部が省電力に移行するときの処理を説明するフローチャート。 実施形態に係るSATAブリッジ制御部が省電力に移行するときの処理を説明するフローチャート。 実施形態に係るSATAホスト制御部がPS0又はPS1から復帰するときの処理を説明するフローチャート。 実施形態に係るSATAブリッジ制御部がPS0又はPS1から復帰するときの処理を説明するフローチャート。 実施形態に係るSATAブリッジ制御部がPS2のDeep状態から復帰するときの処理を説明するフローチャート。 GetStatusで報告される状態の一例を説明する図。 実施形態に係るSATAホスト制御部がPS2のDeep状態から復帰するときの処理を説明するフローチャート。 実施形態に係るメインコントローラのメインCPUが、省電力状態PS0のときにSATAブリッジ制御部の内部状態をポーリングする処理を説明するフローチャート。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、以下に説明する実施形態では、印刷装置を例に本発明に係る情報処理装置の実施形態を説明するが、この情報処理装置は印刷装置に限らず、例えばパーソナルコンピュータ(PC)や通信装置、携帯端末等のHDD/SSDを使用する機器に適用できる。
図1は、実施形態に係る印刷装置と、その印刷装置を含むシステム構成を説明する図である。
この印刷装置は、メインコントローラ(主制御部)120、スキャナ109、操作パネル116、印刷部(プリンタエンジン)118、及びHDD又はSSD(Solid State Drive)113,114を含んでいる。
メインCPU(中央処理演算器)101は、システム制御や各種演算処理を行う。メモリ制御部102は、各種メモリデバイスへの入出力制御やDMA(ダイレクトメモリアクセス)制御を行う。フラッシュメモリ103は、書き換え可能な不揮発性メモリであり、システム全体の制御プログラムや制御パラメータ等を格納している。DRAM(ダイナミック・ランダムアクセスメモリ)104は、DDR(Double-Data-Rate)メモリに代表される揮発性の書き換え専用メモリである。DRAM104は、プログラムの展開領域、作業領域、印刷データの格納領域、各種テーブル情報の格納領域等の用途に用いられる。ここでメモリ制御部102と各種メモリデバイスとの関係は簡略化して表現したものであって、一般的には独立に制御される。LAN-IF(ネットワークインタフェース)105は、印刷装置に接続されるローカル・エリア・ネットワーク(LAN)106との入出力制御を行う。一般的にはTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに対応する。LAN-IF105は、ネットワークケーブルを介して外部のコンピュータ107などのネットワーク対応機器と接続され、ネットワーク経由でのプリントを行うことができる。
リーダIF(リーダインタフェース)108は、スキャナ109とメインコントローラ120とを接続し、その間の通信制御を行う。スキャナ109が原稿を読み取って得られた画像データを印刷部118で印刷することでコピー機能を実現できる。画像処理部110は、LAN-IF105、リーダIF108を介して取り込んだ画像データに対して各種画像処理を行う。
SATAホスト制御部111は、SATA規格に準拠したインタフェースを有するデバイスとのデータの入出力制御を行う。SATAブリッジ制御部112は、上流側のSATAホスト制御部111にデバイスとして接続され、下流側には複数のホストIF207,208(図2)を有し、HDD又はSSD(以下、単にHDD)113,114と接続される。SATAブリッジ制御部112には、RAID(Redundant Arrays of Inexpensive Disk)制御やデータ暗号化など付加価値としての機能が搭載されている。
実施形態では、上位側のSATAホスト制御部111と下位側のSATAブリッジ制御部112は、それぞれ独立したASIC(特定用途向け集積回路)としてメインコントローラ120に搭載されていることを前提として説明する。パネルIF115は、タッチパネル機能を有する操作パネル116との通信制御を行う。ここでは図示しないがUI(ユーザインターフェイス)として、操作パネル116の画面やボタン等を操作することにより、印刷装置の各種設定及び状態の確認ができる。ビデオ出力IF117は、印刷部118とのコマンド/ステータスの通信制御や印刷データの転送を行う。印刷部118は、ここでは図示しないが給紙系及び排紙系の機構を有し、主にビデオ出力IF17からのコマンド情報に従ってシートに画像を印刷する。メインバス119はバスコントローラ含み、制御バス、データバス及び任意ブロック間のローカルバスを便宜的にまとめて表現したものである。代表例としてPCIe(PCI Express)やASICの内部バスなども含まれる。
図2は、SATA制御系の構成を説明する図である。
メインASIC201は、SATAホスト制御部111を含むメインコントローラ120のシステム全体を制御する中心的なASICである。SATAホスト制御部111は、1個のSATA-IP(Intellectual Property)202をホストIFとして持つ。サブASICは、SATAホスト制御部111の下位側に接続されるSATAブリッジ制御部112そのものであり、メインコントローラ120から独立したIC(Integrated Circuit)として実装されている。
SATAブリッジ制御部112は、3個のSATA-IP203~205を有し、デバイスであるHDD113とSATAホスト制御部111との間に介在している。ブリッジ構成での上流側では、H-Host-IF206を介して、SATA-IP(Host)202とSATA-IP(Device)203とが接続されている。また下流側では、SATA-IP(Host1)204がB-Host1-IF207を介してHDD113と、SATA-IP(Host2)205がB-Host2-IF208を介してHDD114と接続されている。ここで、SATA-IP202~205は、SATAリンク層及び物理層から構成されている。そして、各種SATAレジスタの設定に応じてSATA-IF206~208で接続されるSATAデバイスに対して物理的な(電気信号としての)SATA規格のコマンドの発行やステータスの受信を行う。
またSATAブリッジ制御部112は、電源制御部209と制御信号214で接続されている。電源制御部209は、メインコントローラ120を実装しているメインボード上に搭載されている。電源制御部209は、メインコントローラ120に含まれる各機能モジュールやそれに接続される各種装置への電力供給の有無を決定し、印刷装置全体としての電源制御を担っている。電源制御部209から出ている一点鎖線210~213は、SATAブリッジ部の各構成要素に電源を供給している電源ラインを示している。
尚、実施形態では、SATAホスト制御部111とSATAブリッジ制御部112との間のIFを1個、SATAブリッジ制御部112とHDD113,114との間のIFを2個として説明するが、これらは任意個数の接続形態であっても構わない。
図3は、実施形態に係るSATAブリッジ制御部112と電源制御部209との間でHDDの電源制御を行う制御信号214を、より詳しく説明する図である。
制御信号IN305は、SATAブリッジ制御部112への入力信号、OUTA301及びOUTB302は、SATAブリッジ制御部112から電源制御部209に出力する出力信号である。また電源制御部209から、HDD113,114へ電力を供給する電源回路304に対して、電力供給を制御するEN信号303が出力されている。電源回路304の例として、ここでは図示しないがDC-DC電源(直流入力-直流出力電源)やFET(電界効果トランジスタ)などが挙げられる。EN信号303はIN305と接続されていて、IN305は、HDD113,114への電力供給状態、即ち、電源オフかオンかの判定用モニタ信号としてSATAブリッジ制御部112に入力されている。OUTA301及びOUTB302は、HDD113,114の電源をオフ/オンするように電源制御部209に要求する要求信号である。
図4は、実施形態に係る制御信号IN305、OUTA301及びOUTB302のタイミングチャートである。
ここでは全ての信号は、T1の開始点でロウレベル(Low)開始から処理されることを前提としている。IN305は、HDD113,114の電源のオフ又はオン状態を示すモニタ信号であり、起動後、T2の時点でHDD113,114の電源がオンされたことを表している。OUTA301は、電源制御部209に対してHDD113,114の電源のオフ又はオンを要求する有効期間を示す信号である。この信号301がハイレベルの区間、即ち、T3~T5の区間が電源制御部209に対してHDD113,114の電源のオフ又はオンを要求する期間である。OUTB302は、HDD113,114の電源に対するオン又はオフを要求する信号である。OUTB302がハイレベルのときはオン要求、ロウレベルのときはオフ要求を示している。図4の例では、開始点T3では、OUTAがハイレベル、OUTBがロウレベルなのでHDD113,114は電源オフされ、その期間はOUTBがハイレベルとなるT4までの区間である。区間T3~T4では、モニタ信号であるINがロウレベルとなっていて、HDD113,114の電源がオフされているのが分かる。同様にOUTAがハイレベルの有効期間にOUTB302をハイレベル/ロウレベルに変化させた結果に連動して、IN305も同様にハイレベル/ロウレベルに変化しているのが分かる。
尚、図3及び図4を参照して説明した例では、モニタ信号であるIN305及び電源オフ/オン要求信号であるOUTB302は1対1の関係であったが本発明はこれに限定されない。例えば、SATAブリッジ制御部112に接続される複数のストレージデバイスのそれぞれに対してモニタ信号(EN信号):INnと、電源オフ/オン要求信号:OUTBn(n≧2)として、番号nに対応させて各デバイスを制御しても構わない。
図5は、実施形態に係るSATAホスト制御部111及びSATAブリッジ制御部112の内部構成例を説明するブロック図である。尚、図5において、前述の図1、図2と共通する部分は同じ参照番号で示している。
まずSATAホスト制御部111の構成を説明する。HCPU501は、SATAコマンド発行処理、送受信データの転送処理及びステータス受信処理等SATAコントローラとしての全般的な制御を行う。メモリ制御部502は、フラッシュメモリ503やSRAM(スタティック・ランダムアクセスメモリ)504との入出力制御を行う。フラッシュメモリ503には、ブートプログラムやSATAコントローラとしての制御プログラムが格納されている。SRAM504は、HCPU501の作業領域、各種制御テーブルやパラメータ格納領域及びデータバッファなどに使用される。ここでSRAM504は、1ポートRAM、2ポートRAM、FIFO(ファーストインファーストアウト)メモリ等の制御を簡略化して記載しているのであって、それぞれ独立に制御され複数個所にSRAMが存在しても構わない。割り込み制御部505は、HCPU501に対する割り込み信号の入力や出力処理、割り込み信号に対するマスク処理などを行う。レジスタH506は、省電力関連の制御パラメータなどを一時的に記憶するためのレジスタである。DMAC507は、ここでは図示しないがHCPU501によって所定のレジスタに転送元及び転送先の先頭アドレス及びサイズが設定され、起動が掛けられると所定のメモリ間でDMAデータ転送を行う。Hバス508はバスコントローラ含み、制御バス、データバス及び任意ブロック間のローカルバスを便宜的にまとめて表現したものである。バスブリッジ回路509は、メインバス119とHバス508との間のバスプロトコルを相互に変換するバスブリッジ回路である。
次にSATAブリッジ制御部112の構成を説明する。BCPU510は、SATAコマンド発行処理、送受信データの転送処理及びステータス受信処理等、SATAコントローラとしての全般的な制御を行う。メモリ制御部511は、フラッシュメモリ512やSRAM513との入出力制御を行う。フラッシュメモリ512には、ブートプログラムやSATAコントローラとしての制御プログラムが格納されている。SRAM513はBCPU510の作業領域、各種制御テーブルやパラメータ格納領域及びデータバッファなどに使用される。ここでSRAM513は、1ポートRAM、2ポートRAM、FIFOメモリ等の制御を簡略化して記載しているのであって、それぞれ独立に制御され複数個所にSRAMが存在しても構わない。レジスタB514は、省電力関連の制御パラメータなどを一時的に記憶するためのレジスタである。電源IF515は、電源制御部209と制御信号214で接続され、HDD113,114への電源オフ/オン要求信号の制御を行う。その他516は、SATAブリッジ制御部112としての他の機能ブロック、例えばRAID処理やデータ暗号化処理等をまとめて示したものであるが、本発明の本質とは関係ないので説明を省略する。Bバス517はバスコントローラ含み、制御バス、データバス及び任意ブロック間のローカルバスを便宜的にまとめて表現したものである。また、図2で説明したようにSATAホスト制御部111のSATA-IP(Host)202とSATAブリッジ制御部112のSATA-IP(Device)203とは、H-Host-IF206で接続されている。更にSATA-IP(Host1/2)204及び205はそれぞれ、B-Host1/2-IF207,208を介して、HDD113,114に接続されている。
図6は、実施形態に係るメインコントローラ120の電力ステート(電力状態)を横軸に、SATA系の省電力状態と省電力移行条件を縦軸に示す図である。
第1行目は、印刷装置全体としての上位電力ステート601を示しており、消費電力が高い順にStandbyモード602、Sleepモード603、Deepモード604と定義する。Standbyモード602は、印刷装置が直ちにジョブを受け付けて実行できるスタンバイ状態である。この状態では、メインコントローラ120、スキャナ109、操作パネル116、印刷部118及びHDD113,114は全て通電され、基本的にアイドル状態である。Sleepモード603及びDeepモード604は、印刷装置が省電力状態であり、ジョブ実行をしていない期間の待機電力削減を目的とする。Sleepモード603では、Standbyモード602で説明した部位には通電されているが、基本的に省電力であるスリープ状態である。Deepモード604は、大半部分の電力供給をカットした状態で、メモリ制御部102及びDRAM104、LAN-IF105、パネルIF115及び操作パネル116には通電されている。このDeepモード604は、Sleepモード603での各部省電力状態よりも更に消費電力を削減した省電力状態に印刷装置をおき、それら以外は全て電源供給がオフされている状態である。SATAホスト制御部111、SATAブリッジ制御部112及び接続デバイスであるHDD113,114も、Deepモード604では全て電源オフされた状態であることを前提としている。
更に次世代のSATA省電力制御に対応するために、上位電力ステート601に対応するSATA系省電力状態としてPowerSave0(PS0)607、PowerSave1(PS1)608及びPowerSave2(PS2)609を定義する。PS0(607)~PS2(609)は、図6に示すように上位電力ステートに対応したものであり、電力削減効果としてはPS0<PS1<PS2(電源オフ)の関係となる。また、そのトレードオフとして復帰時間は不等号が逆転する関係となる。即ち、PS2は復帰時間が最も長く、PS0は復帰時間が最も短くなる。
各SATA系省電力状態におけるH-Host-IF206の省電力移行条件を611~613、B-Host1/2-IF207及び208の省電力移行条件を615~617、HDD本体の省電力移行条件を619~621として定義する。各項目611~613,615~617,619~621の設定値で、「/」で区切られた内容は、その中のいずれか一つが設定されることを示している。但し、設定値の個数(即ち、取り得る状態数)は任意に追加しても構わない。
また、図6の省電力設定値としてのH-Host-IF状態610、B-Host-IF状態614、HDD本体の状態618の対応個所を図2を参照して説明する。これらは、それぞれH-Host-IF206(202及び203含む)、B-Host1/2-IF207及び208(204及び205含む)、HDD113及び114に対応する。そしてPS0(607)~PS2(609)の状態に遷移した場合、項目611~613,615~617,619~621の設定値の状態に、各対応する部分がおかれることを意味する。
次に、省電力移行条件としてとり得る省電力状態について説明する。
AI:Active-Idle、LPI:Low-Power-Idleであり、アイドル状態におけるSATA-IFと接続デバイス本体のATA規格で定義されている電力状態を示す。既に説明したように、Partial/SlumberはSATA-IFとして、DevSleepはSATA-IF及びデバイス本体の両方の省電力状態をSATA規格で定義したものである。またOffLineは、SATA-IPとしての無効(停止)状態を示す。一般的にSATA-IFの省電力として効果が高い順番に並べるとOffLine>DevSleep>Slumber>Partial>LPI>AIとなる。同様に、デバイス本体の省電力は、電源オフ>DevSleep>LPI>AIの順となる。
ここで、接続するデバイスの電源オフ指示の設定条件に、電源オフ-1と電源オフ-2を項目619及び620に設け、次の定義を与える。電源オフ-1は、次回復帰時にデバイス本体の電源オンを伴わない(省電力及び寿命優先)。また電源オフ-2は、次回復帰と同時にデバイス本体も電源オンする(利便性優先)。電源オフ-1及び電源オフ-2によって、特にHDDの電源オフ/オン寿命を配慮した省電力制御が可能となる。図を参照して後述するが、これら省電力移行条件は、SATAホスト制御部111及びSATAブリッジ制御部112の起動時に予め設定されることになる。
またSATAホスト制御部111のHCPUシステム及びSATAブリッジ制御部112のBCPUシステム自身の各省電力効果も一般的には復帰時間とのトレードオフとしてPS0<PS1<PS2(電源オフ)の関係と同じとするのが最適解である。しかし、PS0≦PS1<PS2の関係でも構わない。HCPU501及びBCPU510自身の省電力の手法として、ここでは図示しないがクロックゲートや電源分離による部分的な電源供給カットなどの方法がある。また、Deepモード604のHDDに設定値はなく、復帰時の電源オン又はオフは、電源制御部209に依存する。ここでもPS0(607)及びPS1(608)の場合と同様に、DeepモードからSleepモードに復帰する時にはHDDの電源オンを伴わない電源オフ-1と、電源オンを伴う電源オフ-2の2つが含まれることを示す。
尚、図6で説明した例では、印刷装置全体の電力ステート数を3段階、それに対応するSATA系省電力状態を3段階としたが、電力ステート数やSATA系省電力状態数は任意であって構わない。更に、B-Host1/2-IF207及び208の省電力移行条件を示す項目615~617、HDD本体の省電力移行条件を示す項目619~621は、接続ポート単位で個別に設定してもよい。
図7は、図6で説明した省電力移行条件を予めSATAブリッジ制御部112に設定するための拡張コマンドを説明する図である。
SATA規格で定義された空コマンドであるベンダユニーク・コマンド(例えば、F0h)に対して、図7の第1行目の左から示すように拡張コマンド名称701、CMD(サブコマンド)番号702、転送タイプ703として省電力系拡張コマンドを独自に定義する。ここでCMD番号702は、ベンダユニーク・コマンド(例えば、F0h)に対するFeatureレジスタに設定されるサブコマンド番号を示す。またSATA規格では基本的な転送タイプとして、データを伴わないNon-Data(ND)転送、単発データ転送を実行するPIO-In(PI)又はPIO-Out(PO)転送、連続データ転送を実行するDMA転送などの転送タイプが定義されている。図7の転送タイプ703は、CMD番号702に対する転送タイプを定義している。例えば、SetupPowerConfigコマンド705は、CMD番号「01h」、転送タイプ「PO」を含む。同様にToSleepコマンド709は、CMD番号「02h」、転送タイプ「ND」を含み、ToDeepコマンド713は、CMD番号「03h」、転送タイプ「ND」を含む。またGetStatusコマンド717は、CMD番号「04h」、転送タイプ「PI」で定義されている。
SetupPowerConfigコマンド705は、SATAブリッジ制御部112に、H-Host-IF206の省電力移行条件の項目611~613、B-Host1/2-IF207及び208の省電力移行条件の項目615~617、HDD本体の省電力移行条件の項目619~621を設定するために用いられる。
ToSleepコマンド709は、上位電力ステートがSleepモード603へ移行することをSATAブリッジ制御部112に通知するコマンドである。同様にToDeepコマンド713は、上位電力ステートがDeepモードに移行することをSATAブリッジ制御部112に通知するコマンドである。GetStatusコマンド717は、SATAブリッジ制御部112全般のステータス取得のための拡張コマンドである。直接的な省電力関連の拡張コマンドではないが、例えば省電力移行処理が完了したことを上位システムが取得する場合に用いられる。GetGPIOInfoコマンド721は、SATAブリッジ制御部112と電源制御部209との間の制御信号であるIN、OUTA、OUTBの制御ポートを含む、SATAブリッジ制御部112の保有する全GPIO(General Purpose Input/Output)の状態を取得するコマンドである。
尚、上記各拡張コマンドの内部定義については、本発明とは関係しないので省略する。以後、拡張コマンド以外のATA規格で定義されたコマンドを区別して表現する場合には、ATAコマンドと呼ぶことにする。
図8は、実施形態に係るATAコマンドの一例を説明する図である。
CMD番号802及び転送タイプ803はATA規格での実番号を示す。IDENTIFY DEVICEコマンド805は、デバイスの各種パラメータを読み出すコマンドである。このコマンドにより、デバイスのシリアル番号・容量・セキュリティ状態(パスワードロック)などの情報を取得できる。SECURITY SET PASSWORDコマンド809は、対象デバイス(HDD)にパスワードを設定するコマンドである。対象デバイスが電源オフされるとパスワードによるロック状態となり、次回起動時のユーザ領域へのアクセスは、このロックを解除を実施しないとできない。SECURITY UNLOCKコマンド813は、対象デバイスに送付することにより、パスワードによりセットしたロックを解除する。それによって、ユーザ領域でのリード/ライト処理が可能となる。
更に、幾つかのフローチャートを参照して実施形態に係る制御を説明する。尚、ここでは説明の煩雑性を避けるため、本発明に関係しないエラー処理については基本的に説明を省略する。
図9は、実施形態に係るSATAホスト制御部111とSATAブリッジ制御部112の省電力制御の初期設定を説明するフローチャートである。尚、このフローチャートで示す処理は、メインCPU101がフラッシュメモリ103に格納されているプログラムをDRAM104に展開し、その展開したプログラムを実行することにより達成される。
先ずS901でメインCPU101は、メインコントローラ120の起動(コールドブート)時に、SATAホスト制御部111に対して、図6で説明したH-Host-IF206のPS0~PS2での省電力移行条件(項目611~613)を設定する。次にS902に進みメインCPU101は、SATAブリッジ制御部112に対して、図6で説明したB-Host1/2-IF207及び208の省電力移行条件(項目615~617)、HDD本体の省電力移行設定条件(項目619~621)を設定する。このときメインCPU101は、SetupPowerConfigコマンド705をSATAホスト制御部111から発行させることにより、SATAブリッジ制御部112に対して設定する。
このSetupPowerConfigコマンド705を受信したSATAブリッジ制御部112のBCPU510は、所定の場所に省電力移行条件を記録する。ここで、SATAホスト制御部111及びSATAブリッジ制御部112における省電力移行条件の記憶場所は、レジスタH506やレジスタB514、SRAM504や513、フラッシュメモリ503や512等である。但し、省電力移行処理時に、その設定を読み出せる格納場所であれば特に限定はしない。また上記では、メインコントローラ120起動時における初期設定について説明したが、印刷装置がStandbyモード602であれば、同じ設定方法で、任意のタイミングで省電力移行条件を再設定しても構わない。
尚、本実施形態に係る印刷装置の起動(コールドブート)時は、一旦、上位電力ステートがStandbyモード、SATA制御系及びそれに接続されるストレージデバイスがアイドル状態に遷移することを前提とする。更に、印刷装置の運用開始前の初期設定時に、図8のSECURITY SET PASSWORDコマンド809により、HDDのパスワードロック機能が有効化されている。そしてHDD電源オフ→オン後、HDDのユーザ領域にアクセスする前に、SECURITY UNLOCKコマンド813でパスワードを送付してロックを解除しておく必要があることを前提として説明する。
図10は、実施形態に係るSATAホスト制御部111が省電力に移行するときの処理を説明するフローチャートである。尚、このフローチャートで示す処理は、HCPU501がフラッシュメモリ503に格納されているプログラムをSRAM504に展開し、その展開したプログラムを実行することにより達成される。
まずS1001でHCPU501は、アイドル(待機)状態でメインCPU101からの割り込み待ちである。そして割込み信号を受信するとS1002に進みHCPU501は、その割り込み信号を判定する。S1002でHCPU501は、PS0移行要求の割り込みであると判定するとS1003に進む。S1003でHCPU501は、H-Host-IF206を、予め設定されたPS0(図6)による省電力状態への移行処理を実行する。そしてS1004に進みHCPU501は、HCPU501のシステム自体をPS0にして省電力状態に遷移し、移行処理を完了する。
一方、S1002でPS0移行要求の割り込みでないときはS1005に進みHCPU501は、PS1移行要求割り込みかどうか判定し、そうであればS1006に進む。S1006でHCPU501は、H-Host-IF206を、予め設定されたPS1(図6)による省電力状態へ移行させる。そしてS1007に進みHCPU501は、HCPU501のシステム自体をPS1にして省電力状態に遷移して、移行処理を完了する。
またS1005でPS1移行要求割り込みでないときはS1008に進みHCPU501は、PS2移行要求割り込みかどうか判定し、そうであればS1009に進む。S1009でHCPU501は、H-Host-IF206を、予め設定されたPS2(図6)での省電力状態へ移行させる。そしてS1010に進みHCPU501は、HCPU501のシステム自体をPS2での省電力状態に遷移して、移行処理を完了する。またS1008でPS2移行要求割り込みでない場合はS1011に進む。S1011でHCPU501は、省電力移行要求以外の割り込みに応じた処理、例えば通常のデータ転送時のライトコマンド発行処理などを実行する。そして、その処理を完了した後に再びS1001に戻りアイドル状態に入る。尚、ここでは図示しないがHCPU501は、要求のあった省電力状態に移行した後に、移行完了割り込みをメインCPU101に通知すると同時に、レジスタH506の一部を省電力状態のステータスレジスタとして報告する。
ここで、PS0~PS2で設定されたH-Host-IF206の省電力移行条件の幾つかについて説明する。Partial及びSlumberは、SATA規格で定義されたリクエストパケットを送信し、送信先が許可すればSATA-IFに対する省電力状態に入ることができる。また、DevSleepは、まずSATA-IFをSlumberに入れて、更にシングルエンド信号であるDEVSLP信号をイネーブル状態にすることで、接続デバイス本体の消費電力を削減できる。
図11は、実施形態に係るSATAブリッジ制御部112が省電力に移行するときの処理を説明するフローチャートである。尚、このフローチャートで示す処理は、BCPU510がフラッシュメモリ512に格納されているプログラムをSRAM513に展開し、その展開したプログラムを実行することにより達成される。
まずS1101でBCPU510は、アイドル状態として待機中で、SATAホスト制御部111のHCPU501からの割り込み指示待ちの状態である。割り込み指示を受付けるとS1102に進みBCPU510は、その割り込み信号がH-Host-IF206が省電力に移行する通知かどうか判定する。そうであればS1109に進むが、そうでないときはS1103へ進む。S1103でBCPU510は、受信した割り込み信号が省電力系の拡張コマンドかどうか判定する。そうであればS1105に進むが、そうでないときはS1104に進む。S1104でBCPU510は、他の割り込み処理、例えばATAコマンド処理などを実行して、再びS1101のアイドル状態に戻る。
S1105でBCPU301は、受信した省電力系コマンドがToSleepコマンド709かどうか判定する。そうであればS1106に進みBCPU510は、上位電力ステートをSleepモード603としてレジスタB514やSRAM513等に登録してS1101に進む。一方、S1105でToSleepコマンド709でないと判定するとS1107に進む。S1107でBCPU510は、受信した省電力系コマンドがToDeepコマンド713であると判断し、上位電力ステートをDeepモード60としてレジスタB514やSRAM513等に登録する。そしてS1108に進みBCPU510は、Deepモード60への移行準備を行う。Deepモード60では、基本的に電源制御部209による電源オフ処理を前提としている。このため、特に瞬断を許さないストレージデバイス(HDDやSSD)及びフラッシュメモリを内蔵するSATAブリッジ制御部112のようなタイプのICは電源オフ準備を行い、準備完了後に電源オフタイミングを通知する必要がある。PS2状態としての電源オフ準備が完了したかどうかは、GetStatusコマンド717によって取得することが可能である。
尚、ここでは図示しないがメインCPU101は、SATAホスト制御部111やSATAブリッジ制御部112が電源オフ準備完了したことを確認した後、電源制御部209に電源オフの許可を通知する。また、一例としてHDD電源オフ時の準備として、ATA規格のFLUSH CACHEコマンド及びSLEEPコマンドを発行し、データ退避や物理的なヘッダの退避等を行うようにしても良い。
一方、S1102で、受信した割り込み信号がH-Host-IF206の省電力移行の通知であった場合はS1109に進む。S1109でBCPU510は、上位電力ステートがStandbyモード602と、予め設定されているH-Host-IF206の省電力移行条件の項目611とから、PS0(図6)に移行すべきかどうか判定する。ここでPS0に移行すべきと判定するとS1110に進む。S1110でBCPU510は、予め設定されているB-Host1/2-IF207及び208の省電力移行条件の項目615、HDD本体の省電力移行条件の項目619とに基づいてPS0への移行処理を実行する。そして最後にBCPU510のシステム自身をPS0での省電力状態に遷移して、この移行処理を完了する。
またS1109でPS0への移行でないと判定するとS1111へ進む。S1111でBCPU510は、上位電力ステートがSleepモード603と、予め設定されているH-Host-IF206の省電力移行条件の項目612から、PS1に移行すべきかどうか判定する。ここでPS1に移行すべきと判定するとS1112に進む。S1112でBCPU510は、予め設定されているB-Host1/2-IF207及び208の省電力移行条件の項目616、HDD本体の省電力移行条件の項目620に基づいてPS1への移行処理を実行する。そして最後に、BCPU510のシステム自身をPS1での省電力状態に遷移して、この移行処理を完了する。
またS1111でPS1への移行でないと判定するとS1113へ進む。S1113でBCPU510は、上位電力ステートがDeepモード604と、予め設定されているH-Host-IF206の省電力移行条件の項目613から、PS2に移行すべきかどうか判定する。ここでPS2に移行すべきと判定するとS1114に進む。S1114でBCPU510は、予め設定されているB-Host1/2-IF207及び208の省電力移行条件の項目617、HDD本体の省電力移行条件の項目621とに基づいてPS2への移行処理を実行する。そして最後に、BCPUシステム自身をPS2での省電力状態に遷移して、この移行処理を完了する。
またS1113でPS2に移行すべきでないと判定するとS1115へ進む。S1115でBCPU510は、省電力移行が失敗したとしてエラー処理を行う。このとき上位へのステータス通知等を実行するが説明は省略する。
ここでまでをまとめると、SATAブリッジ制御部112でPS0~PS2のいずれかの省電力状態に移行するかどうかの判定では、上位電力ステート(Standbyモード602、Sleepモード603、Deepモード604)情報とH-Host-IF206の省電力状態の2つから、PS0~PS2のいずれかであるかが判定される。
ここで、特にPS0又はPS1において、HDD本体の省電力移行条件の項目619~62が電源オフ指示(電源オフ-1又は電源オフ-2)であった場合、図3及び図4で説明したようにBCPU510は、電源制御部209に対してHDD電源のオフ要求(OUTBをロウレベルにする)を行う。
図12は、実施形態に係るSATAホスト制御部111がPS0又はPS1から復帰するときの処理を説明するフローチャートである。尚、このフローチャートで示す処理は、HCPU501がフラッシュメモリ503に格納されているプログラムをSRAM504に展開し、その展開したプログラムを実行することにより達成される。
まずS1201で上位の電力ステートは、Standbyモード602又はSleepモード603であるものとする。また、この時、S1202でHCPU501は、PS0又はPS1の省電力状態である。ここで、Standby状態でHDDにアクセスできるのは当然であるが、上位の電力ステートがSleep状態であってもHDDへのアクセスが必要となる場合がある。その場合は、Sleep状態であってもSATA制御系が部分的に復帰することになる。これは例えば、HDDの寿命関係のパラメータ(オフ・オン回数や不良セクタ数など)を得るためのスマート情報を取得する場合などが考えられる。逆にSleep状態からの復帰時に、HDDを使用する予定がなければ、HDDの電源をオフにしたままSATA制御系のみ電源オンする場合もあり得る。
そしてS1203に進みHCPU501は、メインCPU101からの割り込み要求待ち状態にあり、割り込み要求がなければ、PS0又はPS1の省電力状態を継続する。S1203でHCPU501は、コマンド転送要求の割り込みを受信するとS1204へ進み、HCPU501は、自身の復帰処理(ブート)を実行する。そしてS1205及びS1206において、H-Host-IF206の復帰処理を実行する。具体的には、S1205でHCPU501は、SATA規格で定義されたリセット信号であるComReset信号の発行を開始し、規格で規定されたOOB(Out Of Band)やスピードネゴシエーションの所定シーケンスを経て、コマンド発行可能となるまでのリンク確立処理を行う。そしてS1206でHCPU501は、SATA規格で定義されたRegDH(Register Device to Host)を受信するまで待機する。S1206でHCPUがRegDHを受信し、そのステータスがready状態であると判定した場合に、コマンド発行可能なリンクを確立したと認識してS1207に進む。
S1207でHCPU501は、GetGPIOInfoコマンド721を発行して、SATAブリッジ制御部112のGPIO情報を取得する。次にS1208に進みHCPU501はGetStatusコマンド717を発行して、SATAブリッジ制御部112の内部状態を取得してS1209に進む。S1209でHCPU501は、受信したコマンドがATAコマンドであるかどうか判定する。ここでATAコマンドでない場合はS1213に進み、受信したコマンドの処理を行う。一方、S1209でATAコマンドを受信したと判定するとS1210に進む。S1210,S1211でHCPU501は、GPIO情報に含まれるOUTA301,IN305によりHDDへのアクセスが伴う復帰後の前処理を実行するかどうか判定する。S1210及びS1211でHCPU501は、OUTA301がハイレベルで、且つIN305がロウレベルであると判定するとS1212に進む。即ち、STAブリッジ制御部112のBCPU510が明示的にHDDの電源制御を実施中で、意図的にHDDの電源をオフ状態にしている場合には、即座に前処理を実行する。一方、OUTA301がロウレベル、又はIN305がハイレベルであればS1212をスキップしてS1213に進む。
尚、S1212の前処理には、図9で説明した通り、少なくともHDDのパスワードロックの解除処理が含まれる。図8で説明したIDENTIFY DEVICEコマンド805でデバイスの状態を確認し、ロック状態であればSECURITY UNLOCKコマンド813をHDDに送付することになる。この時、前処理を実行するとBCPU510はATAコマンドを送付するためにOUTA301,OUTB302及びIN305を制御してHDDの電源をオンしなければならない。
S1213でHCPU501は、受信したATAコマンド処理を実施し、処理完了後にS1203に戻り、再びコマンド転送要求の割り込み待ち状態に入る。ここでは詳細の図示は省略するが、S1203においてHCPU501は、受信コマンドが所定時間経過しても受信しない場合はS1214に進む。
S1214でHCPU501は、省電力状態であるPS0/PS1への移行要求があるかどうか判定し、以降要求が無ければS1203に戻り、再びアイドル状態でのコマンド要求待ち状態に入る。一方、S1214でPS0/PS1への移行要求があると判定するとS1215に進む。S1215でHCPU501は、電源をオフ(PS2)する否か判定する。ここで電源をオフ(PS2)しないと判定した場合はS1216に進みHCPU501は、SATA制御系をPS0又はPS1の省電力へ移行する処理を実施してS1203に進んで、省電力状態でのコマンド待機状態に入る。またS1215で電源をオフ(PS2)すると判定したときはS1217に進みHCPU501は、電源オフ処理(シャットダウン処理)を実施した後、一連のSATA制御を停止し、電源制御部209が電源オフされるまで待機する。
図13は、実施形態に係るSATAブリッジ制御部112がPS0又はPS1から復帰するときの処理を説明するフローチャートである。尚、このフローチャートで示す処理は、BCPU510がフラッシュメモリ512に格納されているプログラムをSRAM513に展開し、その展開したプログラムを実行することにより達成される。
S1301でBCPU510は、PS0又はPS1の省電力状態である。またS1302でBCPU510は、割り込み要求待ち状態であり、割り込み要求がなければ(即ち、S1302でNoであれば)S1301に戻り、PS0又はPS1の省電力状態を継続する。S1302でBCPU510は、H-Host-IF206がアイドル状態に復帰する処理開始の割り込みを受信するとS1303へ進む。ここで、復帰処理の開始を示す割込の検知は、図12で説明したDEVSLP信号がディイネーブルとなるレベル変化の検知や、ComReset(又はComWake)を要因として発行される割り込み信号に依るものである。S1303でBCPU510は、自身の復帰処理を行う。次にS1304に進みBCPU510は、H-Host-IF206の復帰処理を実行する。具体的にはSATA規格で規定されたOOB(Out Of Band)やスピードネゴシエーションの所定シーケンスを経て、コマンド発行可能となるまでのリンク確立処理を行う。
次にS1305に進みBCPU510は、前回の省電力移行時の本体の移行設定条件が、HDDの電源オンを伴う電源オフ-2であったかどうか判定する。この判定のためにBCPU510は、前回の省電力移行時のデバイス本体の移行設定条件が電源オフ-1又は電源オフ-2なのかを、次回復帰時に判定可能なように記録しておく必要がある。PS0やPS1では、少なくともHCPU501やBCPU510のSATA制御部は省電力状態には移行するが、電源オフにはならないことを前提としている。従って、電源オフ-1か電源オフ-2の判定情報を、例えばレジスタH506やレジスタB514などに記憶しておくことにより、この判定の際に参照できる。尚、この記憶した情報は、次回の省電力からの復帰時のみ利用され、復帰した後にクリアされるものとする。
S1305でBCPU510は電源オフ-2であると判定し、且つ、IN305がロウレベルであればS1306に進む。S1306でBCPU510は、接続デバイスの復帰処理を行う。このときBCPU510は、接続デバイスであるHDD113,114の電源をオフしていた場合、図3及び図4で説明したように電源制御部209に対してHDD電源のオン要求を行う。次にS1307に進みBCPU510は、B-Host1/2-IF207及び208の復帰処理を実行する。この復帰処理に関しては、図12で説明したH-Host-IF206の復帰処理と同様であるため、その説明を省略する。こうしてS1307の処理が完了するか、又はS1305で電源オフ-2でないと判定した場合はS1308に進む。S1308でBCPU510は、リンクが確立したことを確認すると、コマンド受信待ちに移行する。この時点で省電力状態からアイドル状態への復帰は完了したことになる。
S1308でBCPU510は、コマンドを受信していない期間はS1308に留まり、コマンドを受信するとS1309へ進む。S1309でBCPU510は、受信したコマンドがATAコマンドかどうか判定する。ATAコマンドを受信したときはS1311へ進むが、そうでないときはS1310に進む。S1310でBCPU510は、他の拡張コマンド処理を実行した後にS1316へ進む。
S1311でBCPU510は、前回の省電力移行時のデバイス本体の移行設定条件が、HDDの電源オンを伴わない電源オフ-1であったかどうか判定する。S1311で電源オフ-1で、且つ、IN305がロウレベルであればS1312へ進む。S1312及びS1313における接続デバイス及びSATA-IFの復帰処理は、既に説明したので省略する。S1313の処理が完了するか、或いはS1311で電源オフ-1でないとき判定した場合はS1314に進む。S1314でBCPU510は、ATAコマンド処理を実行する。次にS1315に進みBCPU510は、HDD113,114からのStatus(ステータス)の受信待ちに入る。Statusが未受信の間はS1315で待機し、Statusを受信するとS1316に進む。S1316でBCPU510は、HDDから受信したステータス情報、又はS1310の他の拡張コマンドにて処理した結果を、SATA規格で定義されたステータスパケットに反映してSATA-IP(Host)20へ送信する。こうして一連のコマンド処理を終了する。そしてS1317に進みBCPU510は、メインCPU101によって再び省電力移行要求が発行されるまでの間、アイドル状態を継続する。
図14は、実施形態に係るSATAブリッジ制御部112がPS2のDeep状態から復帰するときの処理を説明するフローチャートである。尚、このフローチャートで示す処理は、BCPU510がフラッシュメモリ512に格納されているプログラムをSRAM513に展開し、その展開したプログラムを実行することにより達成される。尚、ここでの説明では、接続デバイスとしてHDDを前提として説明を行う。
まずS1401でHCPU501及びBCPU510は、前回のPS2移行処理により電源オフ状態である。その後、電源制御部209は、SATAホスト制御部111及びSATAブリッジ制御部112への電源供給(即ち、電源オン)を開始する。S1402でBCPU510は、自身の復帰処理(ブート処理)を実行する。次にS1403に進みBCPU510は、H-Host-IF206の復帰処理を実行する。具体的には、BCPU510のブート処理と同時にHCPU501のブート処理も開始される。そしてH-Host-IF206の復帰処理では、既に説明したようにSATA-IP(Host)202からSATA-IP(Device)203へのComRest信号を基点としたOOB及びスピードネゴシエーション処理を経てリンクが確立される。
こうしてS1403でリンクを確立した後、BCPU510は、SATA下層のリンク確立を実行する。S1404でBCPU510は、HDDへの電源供給状態をモニタするIN305がハイレベルかどうか判定し、HDD電源のオフ/オン判定を行う。S1404でIN305がハイレベルと判定するとS1405に進む。S1405でBCPU510は、電源オフ-2(HDDの電源オンを伴う復帰)と認識してS1407に進む。一方、S1404でINがロウレベルと判定するとS1406に進みBCPU510は、電源オフ-1(HDDの電源オンを伴わない復帰)として認識してS1407に進む。
ここで、GetStatus717では省電力への移行確認だけでなく、HDDの接続状況なども取得可能である。メインCPU101は、SATAホスト制御部111及びSATAブリッジ制御部112の起動後、所定時間内にHDD接続OK(リンク確立状態)とならない場合にはエラーとして扱う。実施形態では、GetStatus717によるHDD接続状態の確認で、例えば未接続状態1(接続エラー)/未接続状態2(電源オフ-1としての未接続)を判別できるようにする。
図15は、GetStatus717で報告される状態の一例を説明する図である。
GetStatus717での報告内容の一部として、デバイス1接続状態1502とデバイス2接続状態1503とを設け、更に状態定義1504を含める。例えば、意図的な電源オフ状態での復帰時は、状態「01」(未接続2)としてメインCPU101に報告される。BCPU510は、S1405又はS1406での認識によって、GetStatus717によるHDDの接続状態報告を、「未接続2」(HDDの電源オフ状態での復帰)として適切に示すことができる。この「未接続2」を確認したメインCPU101は、この場合意図的な未接続として認識し、エラー処理対象としない。
次にS1407でBCPU510は、上位層がリンク確立したことを確認すると、コマンドの受信待ちに移行する。この時点で省電力状態からアイドル状態への復帰は完了したことになる。S1407でBCPU510は、コマンド未受信の間はS1407に滞在し、コマンドを受信するとS1408に進む。S1408でBCPU510は、受信したコマンドがATAコマンドかどうか判定する。そうであればS1410へ進みBCPU510は、HDDの電源供給状態をモニタするIN305がロウレベルかどうか、即ち、HDD電源がオフかどうか判定する。S1410でIN305がロウレベル、即ち、HDD電源がオフの場合はS1411に進み、そうでないときはS1413に進む。S1411,S1412でBCPU510は、電源制御部209へのHDDの電源オン要求と接続IFの復帰処理を実行してS1413へ進む。S1411及びS1412での処理については既に説明したので省略する。
S1413でBCPU510は、ATAコマンド処理を実行する。次にS1414に進みBCPU510は、HDD113,114からのステータスの受信待ちに移行する。ステータスを未受信の間はそのまま待機し、ステータスを受信するとS1415に進む。またS1408で受信コマンドが、ATAコマンド以外の拡張コマンドであると判定した場合はS1409に進む。S1409でBCPU510は、拡張コマンド処理を実行した後にS1415へ進む。S1415でBCPU510は、HDD113,114から受信したステータス情報、又は拡張コマンドで処理した結果を、SATA規格で定義されたステータスパケットに反映してSATA-IP(Host)201へ送信する。こうして一連のコマンド処理を終了する。そしてS1416に進み、メインCPU101によって再び省電力移行要求が発行されるまでの間、SATAブリッジ制御部112はアイドル状態を継続する。
図16は、実施形態に係るSATAホスト制御部111がPS2のDeep状態から復帰するときの処理を説明するフローチャートである。尚、このフローチャートで示す処理は、HCPU501がフラッシュメモリ503に格納されているプログラムをSRAM504に展開し、その展開したプログラムを実行することにより達成される。
S1601でメインCPU101は、省電力のDeep状態(PS2)からStandby状態に復帰している。そしてS1602でHCPU501は、PS2からの復帰処理を開始する。S1603でHCPU501は、自身の復帰(ブート)処理を実行する。このとき同時に、SATAブリッジ制御部112のBCPU510がブートしている。こうしてHCPU501の復帰処理が完了するとS1604に進み、H-Host-IF206の復帰処理(リンク確立)を実行する。そしてS1605に進みHCPU501は、GetGPIOInfoコマンドを発行し、S1606でGetStatusコマンドによってSATAブリッジ制御部112のGPIO情報及び内部状態を取得する。そしてS1603~S1606の処理は、既に図12で説明したので、その詳細な説明は省略する。
次にS1607,S1608でHCPU501は、OUTA301がハイレベルで、且つIN305がロウレベル、即ち、BCPU510が明示的にHDDの電源の制御を実施中で、意図的にHDD電源をオフ状態にしている場合はS1609に進む。それ以外の場合はS1610に進む。S1609でHCPU501は、GetStatusコマンドで取得したSATAブリッジ制御部112の状態がミラーリングモードでリビルド処理中(例えば、HDD113→HDD114へのコピー処理、或いはBCPU510によるバックグラウンド処理)かどうか判定する。そうであればS1610に進む。即ち、電源制御部209がHDDの電源オフして起動する場合、又はBCPU510が意図的にHDDの電源をオンして起動した場合で、更にリビルド処理中である場合は、リビルド処理を優先する。そしてS1610で前処理を実施してS1611に進み、それ以外の条件ではHDDの電源はオフのまま維持される。
S1611でHCPU501は、コマンド転送要求の割り込みの受信待ちに入る。これは既に説明したので詳細は省略するが、S1611でHCPU501は、所定時間(短時間)でSATAへのアクセスがなければ、再び省電力状態に入った状態で、S1611にてコマンド要求割り込みを待つ。S1611で割り込みの受信を受付けるとS1612に進み、省電力状態PS0/PS1かどうか判定する。ここでPS0/PS1と判定するとS1613に進みHCPU501は、PS0又はPS1からの復帰処理を実施してS1614に進む。またS1612でPS0/PS1でないと判定するとS1614に進む。
S1614及びS1615においてHCPU501は、GetGPIOInfoコマンド721及びGetStatusコマンド717で、SATAブリッジ制御部112のGPIO情報及び内部状態を取得する。そしてS1616に進みHCPU501は、受信したコマンドがATAコマンドであるかどうか判定する。ATAコマンドでないと判定したときはS1620に進んで、拡張コマンドの処理を行う。
一方、S1616でATAコマンドと判定するとS1617に進む。S1617及びS1618でHCPU501は、GPIO情報に含まれるOUTA301,IN305に基づいて、HDDへのアクセスが伴う復帰後の前処理を実行するかどうか判定する。即ち、S1617及びS1618でHCPU501は、OUTA301がハイレベルで、且つIN305がロウレベル、又はOUTA301がロウレベルであると判定するとS1619に進む。即ち、BCPU510が明示的にHDDの電源の制御を実施中で、意図的にHDDの電源をオフ状態にしている場合、もしくは電源制御部209による制御中の場合には、即座に前処理を実行する。一方、OUTA301がハイレベルで、且つIN305がハイレベルであるならば、S1619の前処理をスキップしてS1620に進む。
S1620でHCPU501は、受信したATAコマンドの処理を実行する。そしてATAコマンドの処理が完了するとS1611に進み、アイドル状態で次回のコマンド要求割り込みを待つ。S1611において、ここでは図示しないが、所定時間が経過してもコマンド転送要求を受信しない場合はS1621へ進む。S1621でHCPU501は、省電力状態PS0又はPS1への移行要求があるかどうか判定し、移行要求がなければS1611に戻り、アイドル状態でのコマンド要求待ち状態に入る。一方、S1621で移行要求があるときはS1622に進みHCPU501は、電源オフ(PS2)するかどうか判定し、電源オフ(PS2)すると判定したときはS1624に進む。S1624でHCPU501は、電源オフ処理(PS2処理)を実施した後、一連のSATA制御を停止し、外部電源制御部209が電源オフされるまで待機する。またS1622でHCPU501は、電源オフ(PS2)でなくPS0/PS1の省電力状態に移行すると判定したS1623に進み、SATA制御系のPS0又は1への省電力移行処理を実施してS1611に進み、省電力状態でのコマンド待機状態に入る。
図17は、実施形態に係るメインコントローラ120のメインCPU101が、省電力状態PS0のときにSATAブリッジ制御部112の内部状態をポーリングする処理を説明するフローチャートである。尚、このフローチャートで示す処理は、メインCPU101がフラッシュメモリ103に格納されているプログラムをDRAM104に展開し、その展開したプログラムを実行することにより達成される。
メインCPU101のStandby状態では、メインCPU101はシステムの末端に位置する制御系であるSATAブリッジ制御部112の内部状態をGetStatusコマンドにより定期的に取得する。例えば、SATAブリッジ制御部112がオプションとして別ボードに搭載されていた場合、SATA-IF以外の制御信号(例えばステータス割り込み信号など)をサイドバンド信号として別経由で接続するとコストアップに繋がる。このため、GetStatusコマンドを定期的に送信するポーリング方式で、SATAブリッジ制御部112の内部状態を取得する。この場合、折角、SATA制御系が省電力状態であるにも拘らず、その都度、SATA制御系が省電力状態から復帰させられてしまうことになる。図17では、これを回避する方法を説明する。
まずS1701でメインCPU101は、起動完了後のStandby状態で安定するとSATAブリッジ制御部111の内部状態を定期的に確認するGetStatusコマンドによるポーリングを開始する。次にS1702に進みメインCPU101は、SATA系が省電力状態かどうかを示すフラグを、例えばレジスタH506から取得する。次にS1703に進みメインCPU101は、そのフラグがPS0状態を示しているかどうか判定し、そうであればS1702に進んで、ポーリング処理を保留状態にする。一方、S1703でPS0状態を示していなければS1704に進みメインCPU101は、WD(ウォッチドッグ)タイマに所定時間をセットする。そしてS1705に進みメインCPU101は、所定時間が経過したかどうか判定し、所定時間が経過したと判定するとS1706に進みメインCPU101は、GetStatusコマンドを送信してSATAブリッジ制御部111の内部状態を取得する。その後、S1707に進みメインCPU101は、電源オフの要求があるかどうか判定し、その要求があればS1708に進んで、電源オフの準備(ポーリング処理の停止など)を行って、この処理を終了する。一方、S1707で電源オフの要求が無いときはS1702に戻る。
このように、SATA系が省電力状態かどうか確認した後、次のGetStatusコマンドの送信を行う。この処理により、SATA系が省電力状態である場合に、SATA制御系が省電力状態から復帰しないようにして、省電力状態を維持することができる。
以上説明したように実施形態によれば、アイドル状態と省電力状態との間において、省電力状態(例えば、PS1⇔PS2)の遷移に際して、HDDを必要とする場合にのみHDDの電源をオンするように制御できる。これにより、HDDに対する省電力制御、及び電源オフ/オンの回数を減らして最適な省電力制御を実施することが可能となる。具体的には、HDDにおいて移行条件に電源オフ-1を設定しておくことにより、ATAコマンドの受信時(即ち、真にHDDを必要とする場合)のみにHDDの電源をオンするよう制御できる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
101…メインCPU、109…スキャナ、110…画像処理部、111…SATAホスト制御部、112…SATAブリッジ制御部、113,114…HDD/SDD、116…操作パネル、118…印刷部、209…電源制御部

Claims (15)

  1. 情報処理装置であって、
    SATA(Serial Advanced Technology Attachment)規格に準拠したインタフェースを有する第1制御手段と、
    前記第1制御手段と記憶装置との間に介在し前記SATA規格に準拠したインタフェースを有する第2制御手段と、
    前記第1制御手段と通信可能な主制御手段と、
    前記第2制御手段により制御され、少なくとも前記第1制御手段及び前記第2制御手段、及び前記記憶装置への電源供給を制御する電源制御部と、を有し、
    前記第1制御手段と前記第2制御手段と前記記憶装置の各々が前記情報処理装置の電力状態に対応する省電力状態である状態において、前記第1制御手段は、前記主制御手段からの割り込みを受け付けることによって省電力状態から復帰し、前記第2制御手段は前記第1制御手段の復帰に基づいて省電力状態から復帰し、復帰した前記第1制御手段は、前記第2制御手段から前記記憶装置の電源制御に関する情報を取得し、前記取得した電源情報に関する情報に基づいて、前記記憶装置へのアクセスを伴う前処理を実行するか否かを決定することを特徴とする情報処理装置。
  2. 前記主制御手段は、前記情報処理装置が取り得る電力状態に対応づけて前記第1制御手段及び前記第2制御手段及び前記記憶装置の省電力状態を設定し、
    前記第1制御手段は、前記主制御手段からの移行要求に応じて前記設定に従って省電力状態に移行し、
    前記第2制御手段は、前記第1制御手段が移行した前記省電力状態に応じて、前記設定に従って省電力状態に移行することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2制御手段は、前記第1制御手段が移行した前記省電力状態に応じて、前記設定に従って前記記憶装置を省電力状態に移行させることを特徴とする請求項2に記載の情報処理装置。
  4. 前記情報処理装置が取り得る電力状態は、少なくとも、直ちに起動できる第1の状態、スリープ状態である第2の状態、及び前記第2の状態よりも更に消費電力を削減した第3の状態を含み、前記設定は、前記第1の状態、前記第2の状態及び前記第3の状態のそれぞれに対応して前記SATA規格で定義された前記第1制御手段及び前記第2制御手段及び前記記憶装置の省電力状態を設定することを特徴とする請求項2又は3に記載の情報処理装置。
  5. 前記記憶装置の省電力状態の設定は、前記記憶装置への電源供給の停止を含むことを特徴とする請求項に記載の情報処理装置。
  6. 前記第1制御手段及び前記第2制御手段及び前記記憶装置は、前記第3の状態で全て電源供給が停止された状態であることを特徴とする請求項に記載の情報処理装置。
  7. 前記第1制御手段は、前記第1の状態、前記第2の状態及び前記第3の状態のいずれかに対応する省電力状態から復帰する際、前記第2制御手段が前記記憶装置の電源制御を実施中でないときは前記前処理を実行しないことを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
  8. 前記記憶装置は複数の不揮発性記憶装置を含み、
    前記第1制御手段は、前記第3の状態に対応する省電力状態から復帰する際、前記第2制御手段が前記記憶装置の電源制御を実施中でなくても、前記記憶装置がリビルド処理中であれば、前記前処理を実行することを特徴とする請求項5に記載の情報処理装置。
  9. 前記第2制御手段は、前記第1の状態、或いは前記第2の状態に対応する省電力状態から復帰する際、前記記憶装置への電源供給が停止されているときは、前記記憶装置への電源供給の開始を含む復帰処理を実行することを特徴とする請求項乃至のいずれか1項に記載の情報処理装置。
  10. 前記第2制御手段は、前記第3の状態に対応する省電力状態から復帰する際、前記電源制御部が前記記憶装置の電源制御を実施中でない場合、前記電源制御部に対して前記記憶装置への電源供給を開始するように要求することを特徴とする請求項に記載の情報処理装置。
  11. 前記主制御手段は、前記第2制御手段に対して、前記第1の状態、前記第2の状態及び前記第3の状態のそれぞれに対応して前記SATA規格で定義された前記第1制御手段及び第2制御手段及び前記記憶装置の省電力状態に移行させる条件を設定することを特徴とする請求項乃至10のいずれか1項に記載の情報処理装置。
  12. 前記第2制御手段が前記記憶装置の電源制御を実施中かどうかは、前記電源制御から前記記憶装置への電力供給状態を示すモニタ信号と、前記第2制御手段が前記電源制御に電源制御を要求する要求信号に基づいて判定されることを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
  13. 前記前処理は、少なくとも前記記憶装置のパスワードロックの解除処理を含むことを特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置。
  14. SATA(Serial Advanced Technology Attachment)規格に準拠したインタフェースを有する第1制御部と、前記第1制御部と記憶装置との間に介在し前記SATA規格に準拠したインタフェースを有する第2制御部と、前記第1制御部と通信可能な主制御部と、前記第2制御部により制御され、少なくとも前記第1制御部及び前記第2制御部、及び前記記憶装置への電源供給を制御する電源制御部とを有する情報処理装置の制御方法であって、
    前記第1制御部と前記第2制御部と前記記憶装置の各々が前記情報処理装置の電力状態に対応する省電力状態である状態において、前記第1制御部を、前記主制御部からの割り込みを受け付けることによって省電力状態から復帰させ
    前記第1制御部の復帰に基づいて前記第2制御部を省電力状態から復帰させ、
    復帰した前記第1制御部により、前記第2制御部から前記記憶装置の電源制御に関する情報を取得させ、前記取得した電源情報に関する情報に基づいて、前記記憶装置へのアクセスを伴う前処理を実行するか否かを決定させることを特徴とする制御方法。
  15. コンピュータに、請求項14に記載の制御方法の全ての工程を実行させるプログラム。
JP2018011850A 2018-01-26 2018-01-26 情報処理装置とその制御方法、及びプログラム Active JP7022605B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018011850A JP7022605B2 (ja) 2018-01-26 2018-01-26 情報処理装置とその制御方法、及びプログラム
EP18001007.6A EP3518092B1 (en) 2018-01-26 2018-12-28 Information processing apparatus, method of controlling the same, and storage medium
US16/255,028 US11144109B2 (en) 2018-01-26 2019-01-23 Apparatus, method, and storage medium for controlling a power saving state in a SATA storage system
CN201910075732.XA CN110083222B (zh) 2018-01-26 2019-01-25 信息处理设备及其控制方法及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018011850A JP7022605B2 (ja) 2018-01-26 2018-01-26 情報処理装置とその制御方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2019127017A JP2019127017A (ja) 2019-08-01
JP2019127017A5 JP2019127017A5 (ja) 2021-04-01
JP7022605B2 true JP7022605B2 (ja) 2022-02-18

Family

ID=64949008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018011850A Active JP7022605B2 (ja) 2018-01-26 2018-01-26 情報処理装置とその制御方法、及びプログラム

Country Status (4)

Country Link
US (1) US11144109B2 (ja)
EP (1) EP3518092B1 (ja)
JP (1) JP7022605B2 (ja)
CN (1) CN110083222B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647479B (zh) * 2019-09-03 2020-11-10 宜鼎国际股份有限公司 双信道数据储存系统
JP7396090B2 (ja) 2020-02-12 2023-12-12 京セラドキュメントソリューションズ株式会社 画像処理装置
JP7504626B2 (ja) * 2020-03-02 2024-06-24 キヤノン株式会社 通信装置、制御方法、及びプログラム

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131766A (ja) 2001-10-22 2003-05-09 Sharp Corp 情報処理装置
JP2005078514A (ja) 2003-09-02 2005-03-24 Toshiba Corp シリアルataインタフェースを持つ電子機器及びシリアルataバスのパワーセーブ方法
JP2007184026A (ja) 2006-01-05 2007-07-19 Sony Corp 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム
JP2008090435A (ja) 2006-09-29 2008-04-17 Toshiba Corp 情報処理装置、およびその制御方法。
JP2011022752A (ja) 2009-07-15 2011-02-03 Fujitsu Semiconductor Ltd 記憶制御装置及び制御方法
JP2011028430A (ja) 2009-07-23 2011-02-10 Canon Inc 情報処理装置、情報処理装置の制御方法及びプログラム
US20140089693A1 (en) 2012-09-26 2014-03-27 Eng Hun Ooi Efficient low power exit sequence for peripheral devices
JP2014102789A (ja) 2012-11-22 2014-06-05 Toshiba Corp 電子機器、電源制御方法、及びプログラム
JP2014164352A (ja) 2013-02-21 2014-09-08 Ricoh Co Ltd 画像形成装置、画像処理方法、並びにプログラム
JP2016041470A (ja) 2014-08-14 2016-03-31 キヤノン株式会社 印刷装置、印刷装置に接続されたストレージの制御装置、印刷装置の制御方法及びプログラム
JP2016096467A (ja) 2014-11-14 2016-05-26 株式会社リコー 画像処理装置、制御方法、及びプログラム
JP2017059051A (ja) 2015-09-17 2017-03-23 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685634B2 (en) * 2005-01-12 2010-03-23 Dell Products L.P. System and method for managing access to a storage drive in a computer system
JP2009075973A (ja) 2007-09-21 2009-04-09 Canon Inc 電子機器及び当該電子機器の電力制御方法
JP5921179B2 (ja) * 2011-12-15 2016-05-24 キヤノン株式会社 情報処理装置、記憶装置の使用の制限を解除する解除方法及びプログラム
JP5711160B2 (ja) * 2012-01-15 2015-04-30 レノボ・シンガポール・プライベート・リミテッド パスワードを保護する方法およびコンピュータ
JP2014178877A (ja) 2013-03-14 2014-09-25 Ricoh Co Ltd 電子機器及びその記憶装置のパスワードロック制御方法
CN105812605B (zh) * 2015-01-21 2020-05-01 佳能株式会社 信息处理装置及信息处理装置的控制方法
US10235526B2 (en) * 2015-12-18 2019-03-19 Intel Corporation Secure resume from a low power state
US10564700B2 (en) * 2016-07-22 2020-02-18 Canon Kabushiki Kaisha Image forming apparatus and power control method for image forming apparatus

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003131766A (ja) 2001-10-22 2003-05-09 Sharp Corp 情報処理装置
JP2005078514A (ja) 2003-09-02 2005-03-24 Toshiba Corp シリアルataインタフェースを持つ電子機器及びシリアルataバスのパワーセーブ方法
JP2007184026A (ja) 2006-01-05 2007-07-19 Sony Corp 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム
JP2008090435A (ja) 2006-09-29 2008-04-17 Toshiba Corp 情報処理装置、およびその制御方法。
JP2011022752A (ja) 2009-07-15 2011-02-03 Fujitsu Semiconductor Ltd 記憶制御装置及び制御方法
JP2011028430A (ja) 2009-07-23 2011-02-10 Canon Inc 情報処理装置、情報処理装置の制御方法及びプログラム
US20140089693A1 (en) 2012-09-26 2014-03-27 Eng Hun Ooi Efficient low power exit sequence for peripheral devices
JP2014102789A (ja) 2012-11-22 2014-06-05 Toshiba Corp 電子機器、電源制御方法、及びプログラム
JP2014164352A (ja) 2013-02-21 2014-09-08 Ricoh Co Ltd 画像形成装置、画像処理方法、並びにプログラム
JP2016041470A (ja) 2014-08-14 2016-03-31 キヤノン株式会社 印刷装置、印刷装置に接続されたストレージの制御装置、印刷装置の制御方法及びプログラム
JP2016096467A (ja) 2014-11-14 2016-05-26 株式会社リコー 画像処理装置、制御方法、及びプログラム
JP2017059051A (ja) 2015-09-17 2017-03-23 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム

Also Published As

Publication number Publication date
CN110083222B (zh) 2023-09-26
EP3518092B1 (en) 2021-12-01
US20190235609A1 (en) 2019-08-01
US11144109B2 (en) 2021-10-12
EP3518092A1 (en) 2019-07-31
CN110083222A (zh) 2019-08-02
JP2019127017A (ja) 2019-08-01

Similar Documents

Publication Publication Date Title
US8131892B2 (en) Storage apparatus and a data management method employing the storage apparatus
JP7022605B2 (ja) 情報処理装置とその制御方法、及びプログラム
EP3273326B1 (en) Control apparatus and power control method for control apparatus
US8826066B2 (en) Information processing apparatus, control method of the information processing apparatus, and recording medium
US7890780B2 (en) Systems and methods for managing power for data storage devices
US11204632B2 (en) Electronic device and method for controlling the same
JP2019127017A5 (ja)
JP6949572B2 (ja) 省電力を実現する画像形成装置とその制御方法
US20180343302A1 (en) Data management circuit with network functions and network-based data management method
JP5775367B2 (ja) 情報処理装置及びその制御方法と、ミラーリングシステム及びraid制御装置
JP6992142B2 (ja) 電子機器及び電子機器の制御方法
TWI238971B (en) Built-in Multi-Card-Reader for a direct memory-data transmitting system and the device using the same
JP4485113B2 (ja) 小型カード用pcアダプタ
JP2006256153A (ja) 省エネモードを有する画像形成装置
JP6415633B2 (ja) 情報処理装置及びその制御方法
JP2003022212A (ja) 双方向ram
JP2008234073A (ja) 画像処理装置、画像処理方法、画像処理プログラム及びコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220207

R151 Written notification of patent or utility model registration

Ref document number: 7022605

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151