JP4327893B2 - シリアルataインタフェースを持つ電子機器 - Google Patents

シリアルataインタフェースを持つ電子機器 Download PDF

Info

Publication number
JP4327893B2
JP4327893B2 JP2008248669A JP2008248669A JP4327893B2 JP 4327893 B2 JP4327893 B2 JP 4327893B2 JP 2008248669 A JP2008248669 A JP 2008248669A JP 2008248669 A JP2008248669 A JP 2008248669A JP 4327893 B2 JP4327893 B2 JP 4327893B2
Authority
JP
Japan
Prior art keywords
command
mode
serial ata
host
ata interface
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.)
Expired - Lifetime
Application number
JP2008248669A
Other languages
English (en)
Other versions
JP2009015868A5 (ja
JP2009015868A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008248669A priority Critical patent/JP4327893B2/ja
Publication of JP2009015868A publication Critical patent/JP2009015868A/ja
Publication of JP2009015868A5 publication Critical patent/JP2009015868A5/ja
Application granted granted Critical
Publication of JP4327893B2 publication Critical patent/JP4327893B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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

  • Power Sources (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、シリアルATA(AT Attachment)インタフェースを持つ電子機器に係り、特にシリアルATAインタフェースの規格に準拠したシリアルATAバスのパワーセーブに好適な、ディスクドライブに代表される電子機器に関する。
現在、ディスクドライブの新インタフェースであるシリアルATAインタフェースの規格が策定中である。シリアルATAインタフェースは、従来のATAインタフェース(つまりパラレルATAインタフェース)と同様に、磁気ディスクドライブに代表される周辺機器とホストシステム(ホスト)との間のインタフェースとして用いられる。
シリアルATAインタフェースを持つ周辺機器、例えば磁気ディスクドライブ(以下、HDDと称する)は、ホストとシリアルATAバスにより接続される。このようなHDDでは、従来のATAインタフェースとの互換性を確保するために、従来のATAインタフェースをシリアルATAインタフェースに、そしてシリアルATAインタフェースを従来のATAインタフェースに、それぞれ変換する必要がある。このようなインタフェース変換は、例えばシリアルATAブリッジと呼ばれるLSI(ブリッジLSI)で行われる。
シリアルATA規格では、機能別に3つの層、つまりPHY(Physcal Layer)層(物理層)、LINK層(リンク層)及びトランスポート(Transport)層が定義されている。PHY層は高速の信号送受信を実行する機能を持つ部分であり、受信内容を解釈してLINK層に伝達し、またLINK層からの要求に応じて信号の出力を実施する。LINK層はTransport層(トランスポート層)からの要求内容に応じてPHY層に信号出力の要求を出し、またPHY層からの受信入力をTransport層へ伝達する。Transport層は従来のATA規格における動作への変換を行う。このTransport層の役割は、従来のATA接続の場合と比較すると、ブリッジLSIが磁気ディスクドライブに用いられたとき、ホスト側のATA信号出力を行う部分に相当する。このブリッジLSIとHDD内のディスクコントローラ(HDC)との間は、従来のATAインタフェース規格に準拠したATAバス(またはそれに準じたバス)で接続される。このためブリッジLSIとHDD内のHDCとの間の接続部分は、従来のATAインタフェース規格と同等の、またはそれに準じた動作となる。このように、シリアルATAインタフェースにおいては、論理的コマンド等のプロトコルについては従来のATA規格との互換性を有する一方、従来パラレルで接続されていた部分がシリアル信号に変換される。
シリアルATAインタフェースでは、従来のATAインタフェース(つまりパラレルATAインタフェース)の規格に準拠したパワーセーブの状態(モード)の他に、周辺機器とホストとを接続するシリアルATAバス自体を対象としてパワーセーブする状態が定義されている。このシリアルATAバス自体のパワーをセーブするという概念は従来のATA規格では存在しない。
シリアルATAインタフェースの規格では、シリアルATAインタフェースの電力管理モードとして、“PHY READY(IDLE)”,“PARTIAL(パーシャル)”及び“SLUMBER(スランバ)”の3種類が定義されている。“PHY READY”モードとは、PHY層の動作を実現する回路(PHY回路)と主PLL(Phase-Locked Loop)回路とが動作し、ホスト側及び周辺機器側の各々のインタフェース状態が同期している状態をいう。“PARTIAL”及び“SLUMBER”モードとは、PHY回路は動作しているが、インタフェース信号は中立になっている状態をいう。
“PARTIAL”及び“SLUMBER”モードの定義上の違いは、それらのモードから“PHY READY(IDLE)”モードへの復帰時間にある。即ち、“PARTIAL”モードでは、当該モードからの復帰時間は10μsを超えてはならないと定義されている。これに対し、“SLUMBER”モードでは、当該モードからの復帰時間は10msを超えてはならないと定義されている。“PARTIAL”または“SLUMBER”モードで、機器内のどの部分の省電力機能を動作させるか(つまり、どの回路の電源を遮断するか)は、復帰時間、インタフェースの電源状態を遵守している限り製造者側で任意に規定できる。
従来のATAインタフェース規格に準拠したパワーセーブ(つまりATAパワーセーブ)の状態への遷移は、基本的には、ホスト側の主導により実現される。このATAパワーセーブの状態として、“IDLE(アイドル)”,“STANDBY(スタンバイ)”及び“SLEEP(スリープ)”等が定義されている。これに対し、シリアルATAインタフェース規格に準拠したシリアルATAバス自体のパワーセーブ(つまりシリアルATAパワーセーブ)の状態(“PARTIAL”または“SLUMBER”)への遷移は、ホスト側または周辺機器側のどちらの主導によって実現されても構わない。しかし、シリアルATAパワーセーブの状態を制御する技術(特にATAパワーセーブの状態にシリアルATAパワーセーブの状態を連携させる技術)に関しては、シリアルATAインタフェースの規格が策定中であることから、従来は何も知られておらず、文献も存在しない。
上記したように、HDDのインタフェースにシリアルATAインタフェースを適用して当該HDDをシリアルATAバスによりホストと接続する場合、HDDには、従来のATAインタフェースをシリアルATAインタフェースに変換するシリアルATAインタフェース制御回路回路(シリアルATAブリッジ)を設ける必要がある。このようなHDDでは、シリアルATAインタフェース制御回路とHDDのディスクコントローラ(HDC)との接続部分の動作は、従来のATAインタフェース規格と同等、またはそれに準じた動作となる。このため、ディスクコントローラからは、シリアルATAブリッジが、命令を発行するホストであるかのように認識される。よって、HDDにおけるシリアルATAブリッジ周辺を除く部分の動作は従来のHDDと変わらない。このシリアルATAインタフェースを適用するHDDでは、シリアルATAインタフェース制御回路とディスクコントローラ(HDC)とを接続する従来のATAバスは、当該HDDにおける印刷配線基板(PCB)上に実現可能であることから、ATAバスの配線長が短縮される。このため、シリアルATAインタフェースを適用するHDDでは、従来のATAバスで実現が難しかったデータ転送速度の向上が期待される。
さて、シリアルATAインタフェースは、従来のATA規格との互換性を確保することを前提として検討されている規格である。このため、シリアルATAインタフェースで規定されている新たなパワーセーブの概念を実現するには、その旨の指示を行うための新たな手段をホスト側に設ける必要がある。しかし、新たな手段を適用することにより、従来のATA規格から逸脱する虞がある。特に、新たな手段をホスト側に設けることはシステム全体への影響が大きい。
本発明は上記事情を考慮してなされたものでその目的は、シリアルATA規格で定義されたシリアルATAバスのパワーセーブ機能を有効に活用して消費電力を低減できる、シリアルATAインタフェースを持つ電子機器を提供することにある。
本発明の1つの観点によれば、シリアルATAインタフェースを持つ電子機器が提供される。この電子機器は、予め定められたコマンドの発行または受信を検知する手段と、この検知手段によって検知されたコマンドに応じてシリアルATAインタフェースのパワーセーブモードに移行する制御を行う手段とを備えることを特徴とする。
このような構成の電子機器においては、予め定められたコマンドの発行または受信が検知された場合に、シリアルATAインタフェース(シリアルATAバス)のパワーセーブモードへの移行が制御される。これにより、上記予め定められたコマンドとして、例えばATAインタフェースのパワーセーブ系のコマンドであるスリープコマンドのように、リード/ライトモードへの復帰に時間がかかるコマンドが定義されるならば、当該コマンドの発行または受信が検知された場合に、シリアルATAバスもパワーセーブモードに移行される。この結果、消費電力を低減できる。つまり本発明によれば、シリアルATA規格で定義されたシリアルATAバスのパワーセーブ機能を、従来のATA規格との互換性を維持しながら有効に活用して消費電力を低減できる。
ここで、シリアルATAインタフェースのパワーセーブモードへの移行制御を、シリアルATAインタフェースとATAインタフェースとの間のインタフェース変換を行うシリアルATAインタフェース制御回路で自律的に行わせることも可能である。そのため、シリアルATAインタフェース制御回路に、次の各手段、即ちインタフェース変換の対象となるコマンドの受信に応じてシリアルATAインタフェースのアイドルモードに移行する毎に予め設定された一定時間を計測するための時間計測を開始する計測手段と、この計測手段により上記一定時間が計測されても新たなコマンドが受信されたなかった場合に、シリアルATAインタフェースの所定のパワーセーブモードに移行する手段とを持たせると良い。
また、上記電子機器がホストとシリアルATAバスを介して接続されるディスクドライブである場合には、当該ディスクドライブに、次の各手段、即ちホストからのコマンドの実行完了を当該コマンドの発行元に報告するための手段と、この報告手段による予め定められたコマンドの実行完了報告後にシリアルATAインタフェースのパワーセーブモードに移行する制御を行う手段とを持たせると良い。また、予め定められたコマンドとして、ATAインタフェースのパワーセーブ系のコマンドを定義するならば、シリアルATA規格で定義されたシリアルATAバスのパワーセーブ機能を、従来のATA規格との互換性を維持しながら有効に活用して、ディスクドライブでの消費電力を低減できる。このため、上記ディスクドライブを記憶装置として用いるホスト、例えば電池で駆動されるノートブック型のパーソナルコンピュータの稼働可能時間を延ばすことができる。
さて、上記予め定められたコマンドの実行完了報告後にシリアルATAインタフェースのパワーセーブモードに直ちに移行すると、その移行直後にホストからコマンドが発行された場合、リード/ライトコマンドが実行可能なリード/ライトモード(アクティブモード)に復帰(遷移)するのに時間を要する。例えば、スピンドルモータが完全に停止したかをディスクドライブに問い合わせるのに用いられるチェックパワーモードコマンドは、ATAインタフェースのパワーセーブ系のコマンドの実行完了報告直後に発行される可能性が高い。そこで、コマンドの実行完了報告後、ホストからのコマンドの受信頻度から決定される時間が経過するのを待ってシリアルATAインタフェースのパワーセーブモードに移行する構成とすると良い。この受信頻度は、ホストからのコマンドの受信時刻を表す受信時刻情報を記憶手段に記憶し、当該記憶手段に記憶されている受信時刻情報によって示されるコマンド受信時刻の系列から算出すれば良い。
また、シリアルATAインタフェースのパワーセーブモードに移行可能とするためには、ディスクドライブ側だけでなくホスト側でもシリアルATAインタフェースのパワーセーブ機能をサポートしている必要がある。そこで上記ディスクドライブに、上記制御手段によるシリアルATAインタフェースのパワーセーブモードへの移行制御の結果をもとに、ホスト側が当該シリアルATAインタフェースのパワーセーブ機能をサポートしているか否かを判定する手段と、この判定手段による判定結果を示すフラグ情報を記憶する手段とを追加し、上記フラグ情報によりホスト側がシリアルATAインタフェースのパワーセーブ機能をサポートしていないことが示されている場合、当該シリアルATAインタフェースのパワーセーブモードへの移行制御が抑止される構成とすると良い。このような構成においては、ホスト側がシリアルATAインタフェースのパワーセーブ機能をサポートしていないにも拘わらずに、ディスクドライブ側から無用なシリアルATAインタフェースのパワーセーブモードへの移行制御が行われるのを防止できる。これにより、シリアルATAバスでの無駄な状態遷移を発生させず当該シリアルATAバスを安定した状態に保つことができる。
本発明によれば、予め定められたコマンドの発行または受信が検知された場合に、シリアルATAインタフェース(シリアルATAバス)のパワーセーブモードへの移行が制御される構成とすることにより、シリアルATA規格で定義されたシリアルATAバスのパワーセーブ機能を有効に活用して消費電力を低減できる。
以下、本発明をシリアルATAインタフェース(以下、SATAインタフェースと称する)を持つ磁気ディスクドライブを備えたシステムに適用した一実施形態につき図面を参照して説明する。図1は本発明の一実施形態に係る磁気ディスクドライブ(以下、HDDと称する)10を備えたシステムの構成を示すブロック図である。HDD10は、従来から知られている、ATAインタフェースを用いてパラレルデータ転送を行うHDDの構成であるHDD本体11に加えて、SATAインタフェース制御回路12を備えている。SATAインタフェース制御回路12は、HDD本体11とATAバス(パラレルATAバス)13を介して接続されると共に、ホスト(ホストシステム)20とSATAバス(シリアルATAバス)30を介して接続される周辺機器用のSATAブリッジである。SATAインタフェース制御回路12は、ATAインタフェースとSATAインタフェースとの間のインタフェース変換を行う例えば1チップのLSI(Large Scale Integlated Circuit)である。SATAインタフェース制御回路12は特に、SATAバス30を介して与えられた指示をATAバス13(ATAインタフェース)の信号規則に変換し、当該ATAバス13を介してHDD本体11に送信する機能を有する。
ホスト20はHDD10を記憶装置として利用する電子機器であり、例えばパーソナルコンピュータである。ホスト20は、従来から知られている、ATAインタフェースを用いてパラレルデータ転送を行うホストの構成であるホスト本体21に加えて、SATAインタフェース制御回路22を備えている。SATAインタフェース制御回路22は、ホスト本体21とATAバス(パラレルATAバス)23を介して接続されると共に、HDD10とSATAバス(シリアルATAバス)30を介して接続される、ATAバス接続のホスト型ブリッジである。SATAインタフェース制御回路22は、HDD10内のSATAインタフェース制御回路12と同様に、ATAインタフェースとSATAインタフェースとの間のインタフェース変換を行う1チップのLSIである。SATAインタフェース制御回路22は特に、ホスト20側のATAバス23を介して与えられた指示をSATAバス30(SATAインタフェース)の信号規則に変換し、当該SATAバス30を介してHDD10に送信する機能を有する。
SATAインタフェース制御回路12,22は、それぞれ、物理層処理部121,221と、リンク/トランスポート層処理部122,222とを備えている。物理層処理部121,221は、SATAバス30を介して高速のシリアルデータ転送(送受信)を実行する機能を有する。ここでのデータ転送速度は、1.5Gbps(ギガビット/秒)である。物理層処理部121,221は、SATAバス30から受信した内容を解釈してリンク/トランスポート層処理部122,222(中のリンク層処理部)に伝達する。また物理層処理部121,221は、リンク/トランスポート層処理部122,222(中のリンク層処理部)からの要求に応じてシリアルデータ信号を出力(送信)する。リンク/トランスポート層処理部122,222は、リンク層処理部とトランスポート層処理部(図示せず)とを備えている。リンク層処理部は、トランスポート層処理部からの要求内容に応じて物理層処理部121,221に信号出力の要求を出し、また物理層処理部121,221からの受信入力をトランスポート層処理部へ伝達する。トランスポート層処理部はATAインタフェースとSATAインタフェースとの間のインタフェース変換を行う。
なお、ATAバス13,23に代えて、当該ATAバスに準じたバス、例えばPCIバス(Peripheral Component Interconnect Bus)を用いることも可能である。この場合、SATAインタフェース制御回路12,22(を構成するSATAブリッジ)をPCIブリッジ内に設けることが可能である。また、SATAインタフェース制御回路12,22(を構成するSATAブリッジ)には、SATAバス30との間でシリアルATAインタフェースの信号を送受信する機能を持たせれば良い。
図2は、図1中のHDD本体11の構成を示すブロック図である。HDD本体11は、記録媒体としてのディスク111を備えている。このディスク111の2つのディスク面の少なくとも一方のディスク面は、データが磁気記録される記録面をなしている。この記録面をなす、ディスク111の一方のディスク面に対応して、ヘッド(磁気ヘッド)112が配置されている。なお、図1では、作図の都合上、ヘッド112が1つであるHDD10の例が示されている。しかし、一般には、ディスク111の2つのディスク面が共に記録面をなしており、各々のディスク面に対応してヘッドが配置される。また図1の構成では、単一枚のディスク111を備えたHDD10を想定している。しかし、ディスク111が複数枚積層配置されたHDDであっても構わない。
ディスク111はスピンドルモータ(以下、SPMと称する)113により高速に回転させられる。ヘッド112は、ディスク111へのデータ書き込み(データ記録)及びディスク111からのデータ読み出し(データ再生)に用いられる。ヘッド112は、アクチュエータ114の先端に取り付けられている。アクチュエータ114は、当該アクチュエータ114の駆動源となるボイスコイルモータ(以下、VCMと称する)115を有している。アクチュエータ114は、このVCM115により駆動されて、ヘッド112をディスク111の半径方向に移動する。これにより、ヘッド112は、目標トラック上に位置付けられる。SPM113及びVCM115は、モータドライバIC116からそれぞれ供給される駆動電流(SPM電流及びVCM電流)により駆動される。モータドライバIC116は、CPU121から指定された量のSPM電流をSPM113に対して供給する。またモータドライバIC116は、CPU121から指定された量のVCM電流をVCM115に対して供給する。
ヘッド112はヘッドIC(ヘッドアンプ回路)117と接続されている。ヘッドIC117はヘッド112により読み出されたリード信号を増幅するリードアンプ、及びライトデータをライト電流に変換するライトアンプを含む。ヘッドIC117は、リード/ライトIC(リード/ライトチャネル)118と接続されている。リード/ライトIC118は、リード信号に対するA/D(アナログ/デジタル)変換処理、ライトデータの符号化処理及びリードデータの復号化処理等の各種の信号処理を実行する信号処理デバイスである。リード/ライトIC118はディスクコントローラ(以下、HDCと称する)119と接続されている。
HDC119は当該HDC119とディスク111との間のデータ転送を制御するディスク制御機能を有する。HDC119はまた、ATAインタフェースを持つ。即ちHDC119は、ホスト20との間で、ATAバス13を介してコマンド(リード/ライトコマンド等)、及びデータをATAインタフェースにより送受信するATAインタフェース制御機能を有する。但し、HDD10がSATAインタフェースを持つ本実施形態では、HDC119は、従来のHDDとは異なって、ATAバス13を介してSATAインタフェース制御回路12と接続され、当該SATAインタフェース制御回路12及びSATAバス30を介してホスト20と接続されている。HDC119はまた、バッアァRAM120を制御するバッファ制御機能を有する。HDC119は、HDD10の状態をホスト20に通知するためのステータスレジスタ119aを含む。
バッファRAM120の記憶領域の一部は、ホスト20とHDD10内のHDC119との間で転送されるデータを一時格納するデータバッファのための領域に用いられる。バッアァRAM120の記憶領域の別の一部は、後述するSATAパワーセーブ不可フラグFを記憶するフラグ記憶領域120aと、受信コマンドの受信時刻を表す時刻情報を記憶するコマンド受信時刻記憶領域120bとに用いられる。コマンド受信時刻記憶領域120bは最新の一定数の受信コマンドの受信時刻情報を記憶するリングバッファとして用いられる。
CPU130は、制御プログラムが予め格納された図示せぬ不揮発性メモリ(例えば書き換えが可能な不揮発性メモリであるフラッシュROM)を有している。CPU130は、この不揮発性メモリに格納されている制御プログラムに従ってHDD10内の各部を制御する。特にCPU130は、HDC119によって受信されたホスト20からのコマンドがATAインタフェースのパワーセーブモード(以下、ATAパワーセーブモードと称する)を指定する特定コマンド(ATAパワーセーブコマンド)の場合に、HDD10を当該コマンドで指定されたATAパワーセーブモードに設定する。またCPU130は、ATAパワーセーブモードの設定時に、そのモードに予め対応付けられたSATAパワーセーブモードをHDC119、ATAバス13を介してSATAインタフェース制御回路12によって設定させる。
図3は、本実施形態で適用されるATAパワーセーブモード(ATAインタフェース規格に準拠したパワーセーブの状態)の状態遷移を示す図である。本実施形態では、ATAパワーセーブモードとして、アクティブ・アイドルモードM1、パフォーマンス・アイドルモードM2、ローパワー・アイドルモードM3、スタンバイモードM4及びスリープモードM5の5種類が用意されている。また、ATAインタフェースのモードとして、これらのパワーセーブ系のモードM1〜M5の他に、リード/ライトコマンドが実行可能なリード/ライトモード(アクティブモード)M0が用意される。ここで、消費電力は、リード/ライトモードM0→アクティブ・アイドルモードM1→パフォーマンス・アイドルモードM2→ローパワー・アイドルモードM3→スタンバイモードM4→スリープモードM5の順に小さくなる。
HDD10(内のHDD本体11)では、リード/ライトモードM0におけるリード/ライトコマンドに従うリード/ライトの実行が終了すると、当該HDD10での消費電力の節約のために、CPU130の制御によってアクティブ・アイドルモードM1に遷移させられる。アクティブ・アイドルモードM1に遷移した後一定時間T1が経過してもホスト20から新たなコマンドが送られなかった場合には、当該HDD10での消費電力の一層の節約のために、CPU130の制御によってパフォーマンス・アイドルモードM2に自動的に遷移させられる。モードM1及びM2は、製造者側で任意に規定されたATAパワーセーブモードである。
パフォーマンス・アイドルモードM2に遷移した後一定時間T2が経過してもホスト20から新たなコマンドが送られなかった場合には、当該HDD10での消費電力の一層の節約のために、CPU130の制御によってローパワー・アイドルモードM3に遷移させられる。このモードM3は、ATAインタフェース規格の“IDLE(アイドル)”に相当する。このため、上記各モードM1,M2においてホスト20からアイドルコマンドが送られた場合、HDD10のATAパワーセーブモードは、当該コマンドに従ってローパワー・アイドルモードM3に遷移される。同様に、上記各モードM1,M2,M3においてホスト20からスタンバイコマンドが送られた場合、HDD10のATAパワーセーブモードは、当該コマンドに従ってスタンバイモードM4に遷移される。なお、スタンバイコマンドの一種に、スタンバイモードに遷移するまでの時間を指定可能なスタンバイ・イミーディエット(Standby Immediate)コマンドが知られている。スタンバイ・イミーディエットコマンドの場合には、当該コマンドで指定された時間後に、スタンバイモードM4に遷移される。また、上記各モードM1,M2,M3,M4においてホスト20からスリープコマンドが送られた場合、HDD10のATAパワーセーブモードは、当該コマンドに従ってスリープモードM5に遷移される。また、上記各モードM1,M2,M3,M4,M5においてホスト20からリード/ライトコマンドが送られた場合、HDD10のATAパワーセーブモードは、当該コマンドに従ってリード/ライトモードM0に遷移される。
図4は、上記各モードM0〜M5と当該モードM0〜M5におけるHDD本体11内の各回路の電源OFF状態との対応関係を示す。リード/ライトモードM0では、HDD本体11内の各回路に、当該HDD本体11にてリード/ライト動作を即時に実行できるように電源が供給される。アクティブ・アイドルモードM1、パフォーマンス・アイドルモードM2及びローパワー・アイドルモードM3の各アイドルモードでは、HDD本体11内の一部の回路への電源供給が遮断(OFF)される。アクティブ・アイドルモードM1では、ディスク111はSPM113により回転されており、ヘッド112は、サーボ制御によりディスク111上のあるトラックに位置決めされている。パフォーマンス・アイドルモードM2では、ディスク111はSPM113により回転されており、ヘッド112はサーボ制御されずにディスク111上の任意のトラック上に存在する。ローパワー・アイドルモードM3では、ディスク111はSPM113により回転されているが、ヘッド112はディスク111から外れた退避箇所に移動されている。このためアクティブ・アイドルモードM1ではリード/ライトIC118内の一部の回路(ライトチャネル)への電源供給だけが遮断される。これに対し、パフォーマンス・アイドルモードM2ではモータドライバIC116内の一部の回路(VCMドライバ)及びリード/ライトIC118内の一部の回路への電源供給が遮断される。また、ローパワー・アイドルモードM3では、モータドライバIC116内の一部の回路への電源供給が遮断されると共に、ヘッドIC117及びリード/ライトIC118への電源供給が遮断される。リード/ライトモードM0に復帰するまでの時間(つまり、リード/ライトを再び実行可能とするまでの復帰時間)は、上記各アイドルモードによって異なり、アクティブ・アイドルモードM1→パフォーマンス・アイドルモードM2→ローパワー・アイドルモードM3の順に長くなる。上記各アイドルモードで必要となる消費電力は、アクティブ・アイドルモードM1→パフォーマンス・アイドルモードM2→ローパワー・アイドルモードM3の順に小さくなり、復帰時間が長い方が小さい。
スタンバイモードM4では、SPM113の回転は停止される。ここでは、SPM113、モータドライバIC116、ヘッドIC117、リード/ライトIC118及びバッアァRAM120への電源供給が遮断される。このため、スタンバイモードM4での消費電力は、ローパワー・アイドルモードM3よりも更に小さくなり、逆に復帰時間は長くなる。
スリープモードM5では、HDC119内の一部の回路(リセット処理回路)だけに電源が供給されるだけで、殆どの回路への電源供給が遮断される。ここでは、リード/ライトモードM0への復帰はリセット動作によってのみ可能であり、復帰時間はスタンバイモードM4から復帰する場合と同程度である。スリープモードM5における消費電力は、上記各モードM0〜M5の中で最も小さい。
図5は、上記各モードM1〜M5からリード/ライトモードM0に復帰するのに要する時間の一例を示す。
図6は、上記モードM0〜M5と、HDD10が当該モードM0〜M5に設定された場合に、当該HDD10内のCPU130の制御によって設定されるSATAパワーセーブモードとの関係を示す。図6の例では、ATAパワーセーブモード(ATAインタフェースモード)がリード/ライトモードM0の場合、SATAパワーセーブモード(SATAインタフェースモード)はアイドル(Idle)モードM11に設定される。また、ATAパワーセーブモードがアクティブ・アイドルモードM1またはパフォーマンス・アイドルモードM2の場合、SATAパワーセーブモードはパーシャル(Partial)モードM12に設定される。但し、パフォーマンス・アイドルモードM2はアクティブ・アイドルモードM1からしか遷移しないため、パフォーマンス・アイドルモードM2への遷移時には、パーシャルモードM12が継続されることになる。また、ATAパワーセーブモードがローパワー・アイドルモードM3、スタンバイモードM4またはスリープモードM5の場合、SATAパワーセーブモードはスランバ(Slumber)モードM13に設定される。
次に、図1のシステムにおける動作を、HDD10内のHDD本体11においてホスト20からのコマンドを受信した場合に行われるパワー制御を例に、図7のフローチャートを参照して説明する。
今、ホスト20のホスト本体21からATAバス23にATAインタフェース規格に準拠したHDD10宛てのコマンドが送出されたものとする。このATAバス23上のコマンドはホスト20のSATAインタフェース制御回路22で受信される。SATAインタフェース制御回路22のリンク/トランスポート層処理部222は、受信コマンドをSATAインタフェース規格に準拠したコマンド(SATAバス30の信号規則)に変換してSATAバス30に送出する。このSATAバス30上のコマンドはHDD10のSATAインタフェース制御回路12で受信される。SATAインタフェース制御回路12のリンク/トランスポート層処理部122は、受信コマンドをATAインタフェース規格に準拠したコマンド(ATAバス13の信号規則)に変換してATAバス13に送出する。このATAバス13上のコマンドはHDD10のHDD本体11に設けられたHDC119で受信される。HDC119からは、SATAインタフェース制御回路12がホストとして認識される。HDC119によって受信されたコマンドはCPU130に渡される。
CPU130は、HDC119から渡されたコマンドを受け取ると、当該コマンドの受信時刻を表すコマンド受信時刻情報をバッアァRAM120内のコマンド受信時刻記憶領域120bに格納する(ステップS1)。次にCPU130は、受信コマンドが予め定められたコマンドの1つであるか否かを判定する(ステップS2)。ここで、予め定められたコマンドは、パワーセーブに関係するコマンドであり、アイドルコマンド、スタンバイコマンド、及びスリープコマンドである。
受信コマンドが予め定められたコマンドの1つである場合、CPU130は以下に述べる処理を実行する。まずCPU130は、受信コマンドを解釈して当該コマンドの指示する動作を実行する(ステップS3)。つまり、受信コマンドがアイドルコマンドである場合、CPU130はHDD10のATAパワーセーブモードをローパワー・アイドルモードM3に遷移させる。また、受信コマンドがスタンバイコマンドである場合、CPU130はHDD10のATAパワーセーブモードをスタンバイモードM4に遷移させる。また、受信コマンドがスリープコマンドである場合、CPU130はHDD10のATAパワーセーブモードをスリープモードM5に遷移させる。
CPU130は、受信コマンドを実行し終えて、当該コマンドの実行完了を確認すると、当該コマンドの実行完了をホスト20に報告するための処理を行う(ステップS4)。即ちCPU130は、コマンド実行完了を示す応答ステータスをステータスレジスタ119aに設定して、ATAバス13に割り込み信号を送出する。SATAインタフェース制御回路12は、この割り込み信号に応じて、HDC119内のステータスレジスタ119aの内容をリードする。SATAインタフェース制御回路12は、リードしたステータスレジスタ119aの内容をもとに、SATAインタフェース規格に準拠したコマンド実行完了報告をSATAバス30を介してホスト20に送出する。ホスト20内のSATAインタフェース制御回路22は、SATAバス30上のコマンド実行完了報告を受信すると、ホスト本体21に対してATAバス23を介して割り込み信号を送出する。ホスト本体21は、この割り込み信号に応じてSATAインタフェース制御回路22からコマンド実行完了報告(コマンド完了応答)を受け取る。
さて本実施形態では、ホスト20からHDD10に送られたコマンドが、予め定められたコマンド、即ちパワーセーブに関係するコマンドの1つである場合、CPU130はSATAインタフェース制御回路12に対し、SATAパワーセーブモードの制御(つまりATAバス13のパワー制御)を実行する。ここでは、アイドルコマンド、スタンバイコマンド、またはスリープコマンドの場合、いずれもスランバモードM13に遷移するように制御される。
CPU130によるSATAパワーセーブモードの制御は、SATAインタフェース規格に準拠したSATAパワーセーブモードを指定する信号パターンが設定されたプリミティブをATAバス13を介してSATAインタフェース制御回路12のリンク/トランスポート層処理部122(に含まれているリンク処理部)に送信することにより実現される。なお、SATAインタフェース制御回路12内にSATAパワーセーブモードの制御のための制御レジスタを設け、当該レジスタをCPU130から制御することにより、SATAバス30を目的のSATAパワーセーブモードに遷移させても良い。
本実施形態では以下に示す理由により、ATAパワーセーブに関係するコマンドの実行完了の報告(コマンド完了応答)後、対応するSATAパワーセーブモードに直ちに遷移させる構成を適用していない。まず、コマンド実行完了報告後に、SATAバス30を即時にスランバモードM13に遷移させると、当該スランバモードM13の定義から、コマンドの応答に対して最大10msの復帰時間を要する。ここで、ホスト20がスタンバイコマンド、例えばスタンバイ・イミーディエットコマンドをHDD10に対して発行し、しかる後にチェックパワーモードコマンドを用いてHDD10内のSPM113の停止を確実に監視しようという場合を想定する。この場合、スタンバイ・イミーディエットコマンドの実行完了報告(コマンド完了応答)後、SATAパワーセーブモードを即時にスランバモードM13に移行してしまうと、引き続くチェックパワーモードコマンドに対する完了応答の速度が低下してしまう。このため本実施形態では、コマンド完了応答後にSATAバス30を無条件で即時にスランバモードM13に遷移させることはしない。
このことについて、更に詳細に説明する。まず、スタンバイ・イミーディエットコマンドの終了時点で即時にスランバモードM13に遷移した場合に、その直後にホスト20がHDD10に対してチェックパワーモードコマンドを発行したものとする。この場合、チェックパワーモードコマンドの発行時点には、SATAバス30は既にスランバモードM13移行している。この状態でSATAバス30を通してホスト20からHDD10のHDC119にコマンドが伝達されるためには、当該SATAバス30が通信可能な状態、つまりアイドルモードM11に復帰されなければならない。このとき、ホスト20内のSATAインタフェース制御回路22では、チェックパワーモードコマンドに応じて、SATAインタフェースの状態遷移規則に従って復帰手順が実施される。この場合、ホスト20では、チェックパワーモードコマンドの完了応答が、SATAバス30の復帰時間だけ遅くなったように認識される。
さて、ホスト20から発行されたコマンド(チェックパワーモードコマンド)は、当該コマンドの発行に応じて、SATAバス30の状態がスランバモードM13(パワーセーブ状態)からアイドルモードM11に復帰し、ホスト20とHDD10との間の交信が可能となった後にHDD10に到達する。そして、SATAインタフェース制御回路12のリンク/トランスポート層処理部122(に含まれているトランスポート層処理部)が作動して、HDD10内のHDC119に対してコマンドを発行する。このため、ホスト20から発行されたコマンドは、SATAバス30の復帰時間だけ遅れてHDD10内のHDC119に到達する。しかし、HDC119は、その遅れを認識できない。
そこで本実施形態では、HDD10内のCPU130は、SATAパワーセーブモードを制御しようとする場合、まずバッアァRAM120のコマンド受信時刻記憶領域120bに記憶されているコマンド受信時刻情報の示す例えば一定個数のコマンド受信時刻の系列から、コマンドの受信頻度を算出する(ステップS7)。ここで、コマンド受信頻度には、例えばコマンド受信時刻系列で示されるコマンド受信時間間隔の平均値、或いは最も確率の高いコマンド受信時間間隔を用いることができる。なお、一定個数のコマンド受信時刻の系列に代えて、現在時刻を基準とする一定時間内に受信されたコマンド受信時刻の系列を用いても構わない。
CPU130は、算出されたコマンド受信頻度(コマンド受信時間間隔)から、今回受信したコマンドで決まるSATAパワーセーブモードに遷移するタイミングを決定し、そのタイミングが到来するのを待って、当該SATAパワーセーブモードへの遷移を制御する(ステップS8)。ここでは、算出されたコマンド受信頻度、つまりコマンド受信時間間隔をTcとすると、CPU130は時間Tcを待っても次のコマンドがHDC119で受信されなかった場合に、SATAバス30を、今回受信したコマンドで決まるSATAパワーセーブモードにSATAインタフェース制御回路12によって遷移させる(ステップS9)。これにより、ATAパワーセーブ系のコマンドの実行時に、当該コマンドで決まるSATAパワーセーブモードへの遷移を制御しても、ホスト20から次のコマンドが送られた場合に、当該次のコマンドに対する完了応答が遅れることを防止できる。
なお、ATAパワーセーブ系のコマンドの後にホスト20からHDD10にチェックパワーモードコマンドが発行される可能性が高いことを考慮して、ATAパワーセーブ系のコマンドの完了応答後に、CPU130がSPM113の停止状態を確認し、その確認時点から予め定められた一定時間後にスランバモードM13への遷移を制御するようにしても、次のコマンドに対する完了応答が遅れることを防止できる。また、SPM113の再起動を必要としないコマンドを最も最近に受信した時点から一定時間後にスランバモードM13への遷移を制御するようにしても良い。また本実施形態では、ホスト20からのATAパワーセーブ系のコマンドが、アイドルコマンド、スタンバイコマンドコマンドまたはスリープコマンドのいずれの場合にも、SATAパワーセーブモードをスランバモードM13としている。しかし、コマンドの種類、或いはSATAインタフェース制御回路12の構成(アイドルモードM11に復帰する能力)によっては、より短時間で復帰できるパーシャルモードM12に遷移するようにしても良い。
さて本実施形態では、HDD10における消費電力を低減するために、図3に示すように、ホスト20からのATAパワーセーブ系のコマンドとは別に、HDD10内部で自律的にATAパワーセーブモードの遷移が行われる構成が適用されている。つまり、HDD10内のCPU130は、リード/ライトモードM0でのリード/ライト実行が終了すると、直ちにリード/ライトモードM0からアクティブ・アイドルモードM1に遷移させる。またアクティブ・アイドルモードM1への遷移後、一定時間T1を経過してもホスト20から新たなコマンドが送られなかった場合には、HDD10内のCPU130はアクティブ・アイドルモードM1からパフォーマンス・アイドルモードM2に遷移させる。またパフォーマンス・アイドルモードM2への遷移後、一定時間T2を経過してもホスト20から新たなコマンドが送られなかった場合には、CPU130はパフォーマンス・アイドルモードM2からローパワー・アイドルモードM3に遷移させる。ここで、上記時間T1,T2を、先に述べたコマンド受信頻度(コマンド受信時間間隔)から、例えば一定周期で動的に変更すると良い。
本実施形態では、このHDD10内部でのCPU130の制御による自律的なATAパワーセーブモードの遷移時に、図3に示すように、その遷移に連動してSATAパワーセーブモードも遷移させている。具体的には、リード/ライトモードM0からアクティブ・アイドルモードM1への遷移時に、アイドルモードM11からパーシャルモードM12に遷移される。また、アクティブ・アイドルモードM1からパフォーマンス・アイドルモードM2に遷移した場合には、パーシャルモードM12が継続される。また、パフォーマンス・アイドルモードM2からローパワー・アイドルモードM3の遷移時には、パーシャルモードM12からスランバモードM13に遷移される。ローパワー・アイドルモードM3では、ヘッド112はディスク111から外れた退避箇所に移動される。HDD10が、この状態になると、その後ホスト20からリード/ライトコマンドが与えられた場合に、リード/ライトモードM0に復帰するにのに要する時間は30ms以上(図6参照)と比較的長い。そこで、このような場合に、本実施形態のようにSATAバス30をスランバモードM13に設定してSATAバス30(SATAインタフェース)での消費電力を抑えることは有効である。
ホスト20からHDD10へのアクセスは時系列的に集中、或いは分散の傾向がある。例えばコマンド受信時間間隔が非常に短い状態が続いた後に、一定時間を超えてコマンドが受信されないことがある。このような場合、CPU130が、ホスト20におけるアプリケーションの実行が終了したものと推定して、比較的短時間で消費電力を下げるATAパワーセーブモードに設定すると良い。また、コマンド受信時間間隔は比較的長いものの、その状態が長時間続く場合、つまり継続してHDD10がアクセスされる場合には、CPU130が消費電力を下げる状態にするまでの時間が比較的長いATAパワーセーブモードに設定すると良い。ここでも、これらのSATAパワーセーブモードと連動してSATAパワーセーブモードを制御すると良い。
また、本実施形態では、SATAパワーセーブモード(SATAバス30のパワーセーブ)がHDD10内のCPU130によって制御される。しかし、この制御が、SATAインタフェース制御回路12によって行われる構成とすることも可能である。図8は、SATAインタフェース制御回路12によってSATAパワーセーブモードが制御される場合の状態遷移を示す。今、ホスト20からのコマンドがSATAインタフェース制御回路12で受信された結果、SATAバス30がアイドルモードM11に遷移(復帰)したものとする。このアイドルモードM11への遷移時点から一定時間Tを経過しても新たなコマンドがホスト20から送られなかった場合、SATAインタフェース制御回路12は、SATAバス30をアイドルモードM11からパーシャルモードM12に遷移させる制御を行う。このパーシャルモードM12への遷移時点から一定時間Tを経過しても新たなコマンドがホスト20から送られなかった場合、SATAインタフェース制御回路12は、SATAバス30をパーシャルモードM12からスランバモードM13に遷移させる制御を行う。このスランバモードM13は、新たなコマンドがホスト20から送られるまで継続される。ここで、一定時間Tは、タイマ(時間計測手段)を用いて計測すれば良い。なお、アイドルモードM11からパーシャルモードM12に遷移した場合、新たなコマンドがホスト20から送られるまで当該パーシャルモードM12が継続される構成としても良い。またアイドルモードM11から直接スランバモードM13に遷移させる構成とすることも可能である。また、このSATAインタフェース制御回路12によるSATAパワーセーブモード制御機能を、HDD10内のHDC119に持たせることも可能である。
本実施形態では、SATAパワーセーブモードの制御(SATAバス30のパワーセーブ)がHDD10側から(つまりHDD10の主導により)行われる。このSATAパワーセーブモードの制御のためには、HDD10側のSATAインタフェース制御回路12だけでなく、ホスト20側のSATAインタフェース制御回路22も共にSATAパワーセーブモードに対応していること(つまりSATAパワーセーブ機能をサポートしていること)が必要となる。もし、SATAインタフェース制御回路22がSATAパワーセーブモード(パーシャルモードM12及びスランバモードM13の各モード)に対応していない場合、指示されたSATAパワーセーブモードへの遷移は不可能となる。この状態については、SATAバスにより相互接続されたSATAインタフェース制御回路(本実施形態では、SATAインタフェース制御回路12及び22)相互の動作で知ることができる方法が、SATAインタフェース規格で定義されている。今、HDD10がSATAバス30を介して接続されているホスト20が、スランバモードM13に対応していない(SATAインタフェース制御回路22を含む)ものとする。この場合、HDD10側からスランバモードM13への移行指示(を表すパターンを含むプリミティブ)がホスト20に発行される都度、当該ホスト20(内のSATAインタフェース制御回路22)からはスランバモードM13への移行不能の応答が返される。このように、HDD10がSATAバス30を介して接続されているホスト20がSATAパワーセーブモードに対応していない場合、HDD10側からホスト20に対してSATAパワーセーブモードへの移行指示を発行しても、ホスト20からは常に移行不能の応答が返されるだけであり、SATAパワーセーブモードの制御は失敗する。つまり、HDD10がSATAパワーセーブモードに対応していないホスト20とSATAバス30を介して接続されている場合、HDD10がSATAパワーセーブモードの制御を実行することは無駄である。
そこで本実施形態では、ホスト20から指示されたSATAパワーセーブモードへの移行不能の応答が返された場合、つまりSATAパワーセーブモードの制御に失敗した場合、HDD10内のCPU130は、バッアァRAM120内のフラグ記憶領域120aに記憶されているSATAパワーセーブ不可フラグFをON状態にする(ステップS9,S10)。これにより、次にSATAパワーセーブモードの制御が必要となった場合、CPU130はSATAパワーセーブ不可フラグFの状態を参照することで、SATAパワーセーブが不可であるか否かを判定することができる(ステップS5,S6)。SATAパワーセーブ不可フラグFがON状態にある場合、CPU130はSATAパワーセーブが不可であると判定する。この場合、CPU130はSATAパワーセーブモードの制御の実行(ステップS7,S8)を控える。これにより、ホスト20のSATAインタフェース制御回路22がSATAパワーセーブモードに対応していないにも拘わらずに、不要なSATAパワーセーブモードの状態遷移のための制御が行われることを防止でき、シリアルATAバス30の動作を安定させることができる。
HDD10及びホスト20の双方がSATAパワーセーブモードに対応している場合、ホスト20側から(つまりホスト20の主導により)SATAパワーセーブモードを制御することも可能である。しかし、HDD10内では、ホスト20からのATAパワーセーブ系のコマンドとは別に自律的にATAパワーセーブモードへの状態遷移が行われている。したがって、このHDD10内のATAパワーセーブモードに無関係にホスト20側からSATAバス30のSATAパワーセーブモードを制御するよりも、上記実施形態のようにHDD10内のATAパワーセーブモードに連動させてHDD10側からSATAバス30のSATAパワーセーブモードを制御する方が、HDD10内のATAパワーセーブモードに適したSATAパワーセーブモードを設定することができる。
上記実施形態では、本発明をHDD(磁気ディスクドライブ)を備えたシステムに適用した場合について説明した。しかし本発明は、光ディスクドライブ、光磁気ディスクドライブなどHDD以外のディスクドライブを備えたシステム、更にはディスクドライブ以外の電子機器を備えたシステムでも、SATAインタフェースを持つ電子機器を備えたシステムであれば、適用可能である。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
本発明の一実施形態に係る磁気ディスクドライブ(HDD)10を備えたシステムの構成を示すブロック図。 図1中のHDD10に含まれているHDD本体11の構成を示すブロック図。 同実施形態で適用されるATAパワーセーブモードの状態遷移を示す図。 図3中の各ATAパワーセーブモードと当該各ATAパワーセーブモードにおけるHDD本体11内の各回路の電源OFF状態との対応関係を示す図。 図3中の各ATAパワーセーブモード(M1〜M5)からリード/ライトモードM0に復帰するのに要する時間の一例を示す図。 図3中の各ATAパワーセーブモードと、HDD10が当該モードに設定された場合に設定されるSATAパワーセーブモードとの関係を示す図。 HDD10内のHDD本体11においてホスト20からのコマンドを受信した場合に行われるパワー制御の手順を示すフローチャート。 同実施形態の変形例で適用されるSATAパワーセーブモードの状態遷移を示す図。
符号の説明
10…HDD(磁気ディスクドライブ、電子機器)、11…HDD本体、12,22…SATAインタフェース制御回路(シリアルATAインタフェース制御回路)、13,23…ATAバス、20…ホスト、21…ホスト本体、30…SATAバス(シリアルATAバス)、111…ディスク、112…ヘッド、113…SPM(スピンドルモータ)、116…モータドライバ、117…ヘッドIC、118…リード/ライトIC、119…HDC(ディスクコントローラ)、119a…ステータスレジスタ、120…バッアァRAM、120a…フラグ記憶領域、120b…コマンド受信時刻記憶領域、130…CPU。

Claims (21)

  1. ホストとシリアルATAバスを介して接続される、シリアルATAインタフェースを持つ電子機器において、
    前記ホストから前記電子機器に送られる、電子機器を特定のパワーセーブモードに設定することを指定するスリープコマンド、スタンバイコマンド及びアイドルコマンドの1つであるコマンドの受信を検出する検出手段と、
    前記コマンドを実行する実行手段と、
    前記コマンドの実行完了を確認する確認手段と、
    前記コマンドの実行完了を前記ホストに報告する報告手段と、
    前記実行完了報告後、前記特定のパワーセーブモードに対応付けられたシリアルATAインタフェースのスランバモード及びパーシャルモードのうちの1つのモードへの遷移を制御する制御手段と
    を具備することを特徴とするシリアルATAインタフェースを持つ電子機器。
  2. 前記制御手段は、前記実行完了報告後、前記シリアルATAインタフェースを前記1つのモードに移行するまでの移行時間を決定する決定手段を含み、前記実行完了報告後、前記決定された時間を待って前記シリアルATAインタフェースを前記1つのモードに遷移させることを特徴とする請求項1記載のシリアルATAインタフェースを持つ電子機器。
  3. 前記決定手段は、前記ホストからのコマンドの受信頻度から前記移行時間を決定することを特徴とする請求項2記載のシリアルATAインタフェースを持つ電子機器。
  4. 前記ホストからのコマンドの受信時刻を表す受信時刻情報を記憶する記憶手段と、
    前記記憶手段に記憶されている受信時刻情報によって示されるコマンド受信時刻の系列から前記コマンドの受信頻度を算出する算出手段と
    を更に具備することを特徴とする請求項3記載のシリアルATAインタフェースを持つ電子機器。
  5. 前記コマンドは前記スリープコマンドであり、
    前記制御手段は、前記スリープコマンドの実行完了の報告の後、前記特定のパワーセーブモードに対応付けられたシリアルATAインタフェースのスランバモードへの遷移を制御する
    ことを特徴とする請求項1乃至4のいずれかに記載のシリアルATAインタフェースを持つ電子機器。
  6. 前記制御手段は、リード/ライトモードにおいてリード/ライトコマンドによって指定されるリード/ライト動作が実行された後、電子機器のアイドルモードへの遷移と、前記アイドルモードに対応付けられたシリアルATAインタフェースのパーシャルモードへの遷移とを制御することを特徴とする請求項1乃至5のいずれかに記載のシリアルATAインタフェースを持つ電子機器。
  7. 前記制御手段による前記制御に対して、シリアルATAインタフェースのパワーセーブモードへの遷移が不可能であることを示す応答が前記ホストから返された場合に、前記ホストが前記シリアルATAインタフェースのパワーセーブ機能をサポートしていないことを検出する検出手段と、
    前記検出結果を示すフラグ情報を記憶する記憶手段とを更に具備し、
    前記制御手段は、前記制御の前に前記フラグ情報を参照し、当該フラグ情報により前記ホストが前記シリアルATAインタフェースのパワーセーブ機能をサポートしていないことが示されている場合、前記制御を控えることを特徴とする請求項1乃至6のいずれかに記載のシリアルATAインタフェースを持つ電子機器。
  8. 前記電子機器はディスクドライブを備える
    ことを特徴とする請求項1乃至7のいずれかに記載のシリアルATAインタフェースを持つ電子機器。
  9. ホストとシリアルATAバスを介して接続される、シリアルATAインタフェースを持つ電子機器に設けられるコントローラにおいて、
    前記ホストから前記電子機器に送られる、電子機器を特定のパワーセーブモードに設定することを指定するスリープコマンド、スタンバイコマンド及びアイドルコマンドの1つであるコマンドの受信を検出する検出手段と、
    前記コマンドの実行完了を確認する確認手段と、
    前記コマンドの実行完了を前記ホストに報告する報告手段と、
    前記実行完了報告後、前記特定のパワーセーブモードに対応付けられたシリアルATAインタフェースのスランバモード及びパーシャルモードのうちの1つのモードへの遷移を制御する制御手段と
    を具備することを特徴とするコントローラ。
  10. 前記制御手段は、前記実行完了報告後、前記シリアルATAインタフェースを前記1つのモードに移行するまでの移行時間を決定する決定手段を含み、前記実行完了報告後、前記決定された時間を待って前記シリアルATAインタフェースを前記1つのモードに遷移させることを特徴とする請求項9記載のコントローラ。
  11. 前記決定手段は、前記ホストからのコマンドの受信頻度から前記移行時間を決定することを特徴とする請求項10記載のコントローラ。
  12. 前記ホストからのコマンドの受信時刻を表す受信時刻情報を記憶する記憶手段と、
    前記記憶手段に記憶されている受信時刻情報によって示されるコマンド受信時刻の系列から前記コマンドの受信頻度を算出する算出手段と
    を更に具備することを特徴とする請求項11記載のコントローラ。
  13. 前記コマンドは前記スリープコマンドであり、
    前記制御手段は、前記スリープコマンドの実行完了の報告の後、前記特定のパワーセーブモードに対応付けられたシリアルATAインタフェースのスランバモードへの遷移を制御する
    ことを特徴とする請求項9乃至12のいずれかに記載のコントローラ。
  14. 前記制御手段は、リード/ライトモードにおいてリード/ライトコマンドによって指定されるリード/ライト動作が実行された後、電子機器のアイドルモードへの遷移と、前記アイドルモードに対応付けられたシリアルATAインタフェースのパーシャルモードへの遷移とを制御することを特徴とする請求項9乃至13のいずれかに記載のコントローラ。
  15. 前記制御手段による前記制御に対して、シリアルATAインタフェースのパワーセーブモードへの遷移が不可能であることを示す応答が前記ホストから返された場合に、前記ホストが前記シリアルATAインタフェースのパワーセーブ機能をサポートしていないことを検出する検出手段と、
    前記検出結果を示すフラグ情報を記憶する記憶手段とを更に具備し、
    前記制御手段は、前記制御の前に前記フラグ情報を参照し、当該フラグ情報により前記ホストが前記シリアルATAインタフェースのパワーセーブ機能をサポートしていないことが示されている場合、前記制御を控えることを特徴とする請求項9乃至14のいずれかに記載のコントローラ。
  16. 前記請求項1乃至7に記載の電子機器の少なくともいずれか1つと、
    前記電子機器を利用するホストと、
    前記電子機器と前記ホストが接続されるシリアルATAバスと
    を具備することを特徴とする情報機器。
  17. ホストとシリアルATAバスを介して接続される、シリアルATAインタフェースを持つ電子機器におけるシリアルATAバスのパワーセーブ方法であって、
    前記ホストから前記電子機器に送られる、電子機器を特定のパワーセーブモードに設定することを指定するスリープコマンド、スタンバイコマンド及びアイドルコマンドの1つであるコマンドの受信を検出するステップと、
    前記コマンドを実行するステップと、
    前記コマンドの実行完了を確認するステップと、
    前記コマンドの実行完了を前記ホストに報告するステップと、
    前記実行完了報告後、前記特定のパワーセーブモードに対応付けられたシリアルATAインタフェースのスランバモード及びパーシャルモードのうちの1つのモードへの遷移を制御するステップと
    を具備することを特徴とするシリアルATAバスのパワーセーブ方法。
  18. 前記実行完了報告後、前記シリアルATAインタフェースを前記1つのモードに移行するまでの移行時間を、前記制御するステップの前に決定するステップを更に具備し、
    前記制御するステップが、前記決定された時間を待って実行される
    ことを特徴とする請求項17記載のシリアルATAバスのパワーセーブ方法。
  19. 前記コマンドは前記スリープコマンドであり、
    前記制御するステップでは、前記スリープコマンドの実行完了の報告の後、前記特定のパワーセーブモードに対応付けられたシリアルATAインタフェースのスランバモードに遷移される
    ことを特徴とする請求項17または18に記載のシリアルATAバスのパワーセーブ方法。
  20. リード/ライトモードにおいてリード/ライトコマンドによって指定されるリード/ライト動作が実行された後、電子機器のアイドルモードへの遷移と、前記アイドルモードに対応付けられたシリアルATAインタフェースのパーシャルモードへの遷移とを制御するステップを更に具備することを特徴とする請求項17乃至19のいずれかに記載のシリアルATAバスのパワーセーブ方法。
  21. 前記制御に対して、シリアルATAインタフェースのパワーセーブモードへの遷移が不可能であることを示す応答が前記ホストから返されたことをもって、前記ホストが前記シリアルATAインタフェースのパワーセーブ機能をサポートしていないことを検出するステップと、
    前記検出結果を示すフラグ情報を記憶手段に記憶するステップと、
    前記制御するステップの前に前記フラグ情報を参照するステップと、
    前記フラグ情報により前記ホストが前記シリアルATAインタフェースのパワーセーブ機能をサポートしてしていないことが示されている場合、前記制御するステップの実行を抑止するステップと
    を更に具備することを特徴とする請求項17乃至20のいずれかに記載のシリアルATAバスのパワーセーブ方法。
JP2008248669A 2008-09-26 2008-09-26 シリアルataインタフェースを持つ電子機器 Expired - Lifetime JP4327893B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008248669A JP4327893B2 (ja) 2008-09-26 2008-09-26 シリアルataインタフェースを持つ電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008248669A JP4327893B2 (ja) 2008-09-26 2008-09-26 シリアルataインタフェースを持つ電子機器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003310361A Division JP4371739B2 (ja) 2003-09-02 2003-09-02 シリアルataインタフェースを持つ電子機器及びシリアルataバスのパワーセーブ方法

Publications (3)

Publication Number Publication Date
JP2009015868A JP2009015868A (ja) 2009-01-22
JP2009015868A5 JP2009015868A5 (ja) 2009-04-02
JP4327893B2 true JP4327893B2 (ja) 2009-09-09

Family

ID=40356618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008248669A Expired - Lifetime JP4327893B2 (ja) 2008-09-26 2008-09-26 シリアルataインタフェースを持つ電子機器

Country Status (1)

Country Link
JP (1) JP4327893B2 (ja)

Also Published As

Publication number Publication date
JP2009015868A (ja) 2009-01-22

Similar Documents

Publication Publication Date Title
JP4371739B2 (ja) シリアルataインタフェースを持つ電子機器及びシリアルataバスのパワーセーブ方法
US20050144490A1 (en) Electronic device with serial ATA interface and power saving method for serial ATA buses
JP2006099665A (ja) データ記憶装置及びそのシリアル・インターフェース部のパワー・セーブ・モードの制御方法
US7949795B2 (en) Power conservation in data storage device by only starting the active state when the measured time indicates data is present on the interface
US20140025979A1 (en) Interface device and interface method
JP4374070B2 (ja) シリアルataインタフェースを持つ電子機器
JP4405577B2 (ja) シリアルataインタフェースを持つ電子機器
JP4327893B2 (ja) シリアルataインタフェースを持つ電子機器
JP4352099B2 (ja) シリアルataインタフェースを持つ電子機器
JP4352100B2 (ja) シリアルataインタフェースを持つ電子機器
JP4410298B2 (ja) シリアルataインタフェースを持つ電子機器
JP4435260B2 (ja) シリアルataインタフェースを持つ電子機器
JP4405578B2 (ja) シリアルataインタフェースを持つ電子機器
JP4405576B2 (ja) シリアルataインタフェースを持つ電子機器
JP2009080856A (ja) シリアルataインタフェースを持つ電子機器

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090210

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20090210

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090227

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: 20090519

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090611

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4327893

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

EXPY Cancellation because of completion of term