JP2007233998A - データ転送制御装置及び電子機器 - Google Patents

データ転送制御装置及び電子機器 Download PDF

Info

Publication number
JP2007233998A
JP2007233998A JP2007015895A JP2007015895A JP2007233998A JP 2007233998 A JP2007233998 A JP 2007233998A JP 2007015895 A JP2007015895 A JP 2007015895A JP 2007015895 A JP2007015895 A JP 2007015895A JP 2007233998 A JP2007233998 A JP 2007233998A
Authority
JP
Japan
Prior art keywords
power
control circuit
data transfer
down mode
power management
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.)
Pending
Application number
JP2007015895A
Other languages
English (en)
Inventor
Nobuyuki Saito
伸之 齋藤
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007015895A priority Critical patent/JP2007233998A/ja
Publication of JP2007233998A publication Critical patent/JP2007233998A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Power Sources (AREA)

Abstract

【課題】低消費電力化を図りながら適正なパワーマネージメント制御を実現できるデータ転送制御装置及び電子機器を提供すること。
【解決手段】シリアルATAバスを介してデータ転送を行うデータ転送制御装置は、基準クロックであるCLK1に基づき物理層回路100により生成されたクロックCLK2が供給され、クロックCLK2に基づき動作するトランスポートコントローラ10と、クロックCLK1、CLK2が供給され、CLK1、CLK2に基づき動作するリンクコントローラ50を含む。リンクコントローラ50は、クロックCLK2に基づき動作し、リンクコントローラ50のステート制御を行うリンクステート制御回路60と、クロックCLK1に基づき動作し、パワーマネージメントのステート制御を行うパワーマネージメント制御回路70を含む。
【選択図】図4

Description

本発明は、データ転送制御装置及び電子機器に関する。
近年、ストレージデバイス等のシリアルインターフェースとして、シリアルATA(Serial AT Attachment)と呼ばれる規格が脚光を浴びている。このシリアルATAは、パラレルインターフェースであるATA(IDE)との間のソフトウェアレベルでの互換性を備えた規格である。そして最初の規格であるシリアルATA Iのデータ転送速度は1.5Gbpsであったが、次の規格であるシリアルATA IIではデータ転送速度が3.0Gbpsに高速化している。またシリアルATA IIでは外部接続についても定義されている。
このシリアルATAでは、パーシャル(PARTIAL)やスランバ(SLUMBER)というパワーダウン(パワーセーブ)モードが規格化されている。パーシャルモードでは当該モードからの復帰時間が10μsを越えてはならないと定義されており、スランバモードでは当該モードからの復帰時間が10msを越えてはならないと定義されている。
シリアルATAのデータ転送制御装置は、トランスポートコントローラ、リンクコントローラ、物理層回路により構成できる。ところが、シリアルATA規格に忠実にデータ転送制御装置を設計すると、トランスポートコントローラはシステム側のクロックで動作するようになる。従って上記のようなパーシャル、スランバなどのパワーダウンモードにおいて、トランスポートコントローラがパワーダウンモード(スリープモード)に移行できず、低消費電力化の達成が不十分であるという課題があった。
特開2005−78514号公報
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、低消費電力化を図りながら適正なパワーマネージメント制御を実現できるデータ転送制御装置及びこれを含む電子機器を提供することにある。
本発明は、シリアルATA(Serial AT Attachment)バスを介してデータ転送を行うデータ転送制御装置であって、基準クロックである第1のクロックに基づき物理層回路により生成された第2のクロックが供給され、前記第2のクロックに基づき動作するトランスポートコントローラと、前記第1、第2のクロックが供給され、前記第1、第2のクロックに基づき動作するリンクコントローラとを含み、前記リンクコントローラは、前記第2のクロックに基づき動作し、前記リンクコントローラのステート制御を行うリンクステート制御回路と、前記第1のクロックに基づき動作し、パワーマネージメントのステート制御を行うパワーマネージメント制御回路を含むデータ転送制御装置に関係する。
本発明では、基準クロックである第1のクロックに基づき、物理層回路(クロック生成回路)により第2のクロックが生成される。そしてトランスポートコントローラは第2のクロックに基づき動作し、リンクコントローラは第1、第2のクロックに基づき動作する。なおトランスポートコントローラの一部の回路を第1のクロックに基づき動作させてもよい。
そして本発明では、リンクコントローラのメインのステート制御については、第2のクロックに基づき動作するリンクステート制御回路により行われる。一方、パワーダウンモードへの移行等のためのパワーマネージメント制御については、第1のクロックに基づき動作するパワーマネージメント制御回路により行われる。
従って、パワーダウンモードに移行して第2のクロックが停止することで、トランスポートコントローラやリンクコントローラの動作を停止させることが可能になり、低消費電力化を図れる。一方、パワーダウンモードに移行して第2のクロックが停止しても、基準クロックである第1のクロックは停止しない。従って、第1のクロックに基づき動作するパワーマネージメント制御回路により、適正なパワーマネージメント制御を実現できるようになる。従って、低消費電力化を図りながら適正なパワーマネージメント制御を実現できるデータ転送制御装置を提供できる。
また本発明では、前記リンクステート制御回路は、パワーダウンリクエストを受けた場合に、パワーダウン条件が満たされたか否かを判断し、パワーダウン条件が満たされた場合に、前記パワーマネージメント制御回路に対してパワーマネージメントのステート制御のイネーブル信号を出力し、前記パワーマネージメント制御回路は、前記イネーブル信号を受けた場合に、パワーマネージメントのステート制御を開始するようにしてもよい。
このようにすれば、リンクステート制御回路からパワーマネージメント制御回路へのステート制御の引き継ぎを、適正に行うことが可能になる。
また本発明では、前記パワーマネージメント制御回路は、パワーマネージメントのステート制御を開始した場合に、インターフェースの初期化のための処理を行うインターフェース初期化制御回路に対してパワーダウンモードへの移行を指示し、その後に、前記物理層回路に対してパワーダウンモードへの移行を指示するようにしてもよい。
このようにすれば、インターフェース初期化制御回路による処理が適正に完了した後に、物理層回路をパワーダウンモードに移行させることが可能になり、適正なパワーマネージメント制御を実現できる。
また本発明では、前記パワーマネージメント制御回路は、パワーダウンモードへの移行指示に対するレディ信号を前記インターフェース初期化制御回路から受けた場合に、前記物理層回路に対してパワーダウンモードへの移行を指示するようにしてもよい。
このようにすれば、インターフェース初期化制御回路からのレディ信号の出力を待って、物理層回路がパワーダウンモードに移行するようになる。従って、インターフェース初期化制御回路の処理が完了していないのに、物理層回路がパワーダウンモードに移行してしまう事態を防止できる。
また本発明では、前記リンクステート制御回路は、シリアルATAバスを介して接続されるデバイスからパワーダウンリクエストを受け、パワーダウンリクエストに対する承諾を前記デバイスに送信した場合に、パワーダウンモードへの移行の承認を、データ転送制御装置を制御する処理部に対してリクエストするようにしてもよい。
このようにすれば、パワーダウンモードへの移行の事後的な承認を、処理部に対して要求できる。
また本発明では、前記パワーマネージメント制御回路は、パワーダウンモードからのウェイアップリクエストを受けた場合に、前記物理層回路のパワーダウンモードを解除し、その後に、インターフェースの初期化のための処理を行うインターフェース初期化制御回路のパワーダウンモードを解除するようにしてもよい。
このようにすれば、物理層回路のパワーダウンモードが解除された後に、インターフェース初期化制御回路のパワーダウンモードが解除されて、インターフェース初期化制御回路によるインターフェースの初期化処理が行われるようになり、適正なパワーマネージメント制御を実現できる。
また本発明では、前記パワーマネージメント制御回路は、パワーダウンモードの解除に対して、前記物理層回路の動作レディ信号を前記物理層回路から受けた場合に、前記インターフェース初期化制御回路のパワーダウンモードを解除するようにしてもよい。
このようにすれば、物理層回路からの動作レディ信号の出力を待って、インターフェース初期化制御回路のパワーダウンモードが解除されるようになる。従って、物理層回路のパワーダウンモードの解除が完了していないのに、インターフェース初期化制御回路の初期化処理が開始してしまう事態を防止できる。
また本発明では、前記パワーマネージメント制御回路は、前記インターフェース初期化制御回路のパワーダウンモードを解除した後に、前記リンクステート制御回路に対してパワーダウンモードの解除を通知するようにしてもよい。
このようにすれば、物理層回路、インターフェース初期化制御回路のパワーダウンモードが解除された後に、パワーマネージメント制御回路からリンクステート制御回路に対してステート制御を引き継ぐことが可能になる。
また本発明では、前記トランスポートコントローラは、処理部とのインターフェース処理を行うインターフェース回路と、前記第2のクロックに同期して前記処理部によりアクセス可能な同期タイプの第1の制御レジスタと、前記第2のクロックに同期せずに前記処理部によりアクセス可能な非同期タイプの第2の制御レジスタを含むようにしてもよい。
このようにすれば、パワーダウンモード時等においても、処理部からのリクエストを、第2の制御レジスタを介してパワーマネージメント制御回路等に伝えることが可能になる。
また本発明では、前記パワーマネージメント制御回路は、パワーダウンモードからのウェイアップリクエストを、前記第2の制御レジスタを介して前記処理部から受けるようにしてもよい。
このようにすれば、トランスポートコントローラがパワーダウンモードに設定されている場合にも、処理部からのウェイクアップリクエストを、第2の制御レジスタを介してパワーマネージメント制御回路に伝えることが可能になる。
また本発明では、前記パワーマネージメント制御回路は、パワーダウンモードからのウェイアップリクエストを、前記トランスポートコントローラをバイパスして前記処理部から受けるようにしてもよい。
このようにすれば、トランスポートコントローラがパワーダウンモードに設定されている場合にも、処理部からのウェイクアップリクエストを、トランスポートコントローラをバイパスしてパワーマネージメント制御回路に伝えることが可能になる。
また本発明では、インターフェースの初期化のための処理を行うインターフェース初期化制御回路を含むようにしてもよい。
また本発明では、シリアルATAバスを介してデータを送受信する物理層回路を含むようにしてもよい。
また本発明は、上記のいずれかに記載のデータ転送制御装置と、前記データ転送制御装置を制御する処理部とを含む電子機器に関係する。
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.シリアルATA
まずシリアルATA(Serial AT Attachment)規格について説明する。図1にシリアルATA(以下、SATA)の層構造を示す。
物理層では、ホストとデバイスとの間のシリアル通信や、シリアルデータからパラレルデータへの変換やパラレルデータからシリアルデータへの変換などが行われる。具体的にはビット列がシリアル・ビット化され、小振幅の差動信号として転送される。
リンク層では、物理層とのデータの送受信や、シリアルインターフェースプロトコルの制御や、トランスポート層との間でのアプリケーションデータ(ユーザデータ)の送受信が行われる。具体的にはフレーム転送のための伝送路のアービトレーションやフロー制御が行われ、FIS(Frame Information Structure)や制御コードをシリアル伝送に適したビット列に変換する8b/10b変換などが行われる。
アプリケーション層は、パラレルATA(IDE)規格のホストバスアダプタ(HBA)と同じインターフェースを通してトランスポート層にアクセスする。レジスタアクセスなどはパラレルATA規格のコマンドプロトコルとソフトウェアレベルで互換性を有している。トランスポート層は、リンク層と送受信するデータをパラレルATA規格のコマンドプロトコル動作に変換する。
これらの物理層、リンク層、トランスポート層は、ホスト側、デバイス側に設けられた物理層回路(PHYコントローラ)、リンクコントローラ、トランスポートコントローラにより実現される。またアプリケーション層は、ホスト側、デバイス側のソフトウェア、バッファメモリ、DMAエンジンなどにより実現される。
パラレルATA(IDE)では、制御レジスタである全てのタスクファイル・レジスタ(TFR)はCPU(広義には処理部)のアドレス空間にマッピングされる。CPU上のソフトウェアは、このレジスタをリード/ライトしてデバイスを制御する。このTFRはデバイス側のファームウェアからも同時に参照される。
SATAでは、従来のパラレルATA(IDE)との間でソフトウェアレベルでの互換性が維持されている。そしてSATAでは、上述のTFRが2つ存在することが特徴になっている。即ちホスト(HBA)側に存在するシャドウ・タスクファイル・レジスタ(シャドウTFR)とデバイス側の本来のタスクファイル・レジスタ(デバイスTFR)である。CPU上のソフトウェアからはシャドウTFRのみが直接アクセス可能となっており、デバイス側のファームウェアからはデバイスTFRのみが直接アクセス可能となっている。この2つのTFRは、コマンド発行時と完了時にHost to Device Register FIS、Device to Host Register FISおよびPIO Setup FISによりお互いにコピーされる。なおSATAでは従来のIDEをエミュレートするために8個のフレーム(FIS)が定義されている。
図2、図3に、トランスポート層、リンク層、物理層でのデータ処理の流れを示す。図2は送信側のデータ処理の流れを示し、図3は受信側のデータ処理の流れを示している。
図2に示すように送信側のトランスポートコントローラ(トランスポート層)では、シャドウレジスタに書き込まれたコマンドやデータポートに入力されたデータによりFISが生成される。ここでFISは、フレームのペイロード部であり、Dword(32ビット)単位で構成される。またフレームは、ホストとデバイスの間で交換される情報ユニットであり、SOF(Start Of Frame)プリミティブと、FISと、FISに対して計算されたCRC(Cyclic Redundancy Check)と、EOF(End Of Frame)プリミティブにより構成される。
リンクコントローラでは、FISに対するCRCが演算されてFISの最後尾に付加される。そしてFIS及びCRCとスクランブルデータとの排他的論理和(XOR)をとるスクランブル処理が行われる。そしてこのようにスクランブルされたFIS及びCRCに対して、8b/10bのエンコードが行われる。ここで8b/10bエンコードは、8ビットのデータを10ビットの伝送キャラクタに変換するデータ伝送符号化のアルゴリズムであり、符号列内の1と0の数を揃え、連続的な伝送を保証する。そして8b/10bエンコード後のFIS及びCRCに対してSOF、EOFなどのプリミティブが付加される。
物理層回路では、リンク層からのパラレルデータがシリアルデータに変換され、小振幅の差動信号としてシリアルATAのバスに送信される。
図3に示すように受信側の物理層回路では、シリアルATAのバスを介して受信したシリアルデータがパラレルデータに変換される。
リンクコントローラでは、FIS及びCRCに付加されたプリミティブに対するデコードが行われる。またFIS及びCRCに対する8b/10bのデコードが行われる。即ち10ビットの伝送キャラクタが8ビットのデータに変換される。次に、スクランブルされたFIS及びCRCとスクランブルデータとの排他的論理和をとるデスクランブル処理が行われる。そしてFISの最後尾に付加されたCRCがチェックされる。
トランスポートコントローラでは、FISのコマンドがシャドウレジスタに書き込まれ、ステータスや割り込みが出力されると共に、データがデータポートを介して出力される。
2.構成
図4に本実施形態のデータ転送制御装置の構成例を示す。このデータ転送制御装置は、トランスポートコントローラ10、リンクコントローラ50、物理層回路100を含む。なお本実施形態のデータ転送制御装置は図4の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加する構成としてもよい。例えば物理層回路100を含まない構成としてもよい。或いはトランスポートコントローラ10やリンクコントローラ50の構成要素の一部を省略したり、他の構成要素を追加してもよい。
SATAでは、データは32ビット単位で処理される。この32ビットのデータが、リンクコントローラ50により8b/10bでエンコードされて40ビットのデータになり、物理層回路100に送られる。物理層回路100は、この40ビットのデータをシリアル化してSATAのケーブルに送信する。受信も逆の手順で、シリアルデータが物理層回路100で40ビットのデータに変換され、リンクコントローラ50で32ビットのデータに変換され、トランスポートコントローラ10に送られる。
トランスポートコントローラ10はトランスポート層の制御を行うものである。具体的にはトランスポートコントローラ10は、上位層(アプリケーション層)からFISの送信要求が来た時に、以下の処理を行う。
まずトランスポートコントローラ10は、FISタイプの要件に基づいてFISの内容を収集する。また送信する情報をFISのタイプ毎に定義フォーマットに配置する。次にリンクコントローラ50に対して送信要求を通知する。これによりリンクコントローラ50はX_RDYの送信処理を行う。そして相手ノードからのR_RDYを受信し、リンクコントローラ50から受信のアクノリッジが来ると、トランスポートコントローラ10はFISをリンクコントローラ50に転送する。そして送信FIFO20のフロー管理を行い、必要なフロー制御をリンクコントローラ50に通知する。その後、リンクコントローラ50から送信結果を受信すると、必要に応じて上位層に送信結果を通知する。
トランスポートコントローラ10は、リンクコントローラ50からFISを受信した時には、以下の処理を行う。
トランスポートコントローラ10は、リンクコントローラ50からFISを受信すると、受信したFISのタイプを判別する。そしてFISのタイプに応じた適切なレジスタやFIFOにデータを転送する。そして受信FIFO22のフロー管理を行い、必要なフロー制御をリンクコントローラ50に通知する。その後、リンクコントローラ50及び上位層(アプリケーション層)に受信結果を通知する。
リンクコントローラ50はリンク層の制御を行うものである。具体的にはリンクコントローラ50は、送信時には以下の処理を行う。
まずリンクコントローラ50はトランスポートコントローラ10からのデータ(FIS)を受け取る。そしてFISのCRCを生成し、FISの最後尾に付加する。次にデータのスクランブルを行い、その後、8b/10bのエンコードを行う。そしてSATA通信のプロトコルにしたがったプリミティブ、FISの送信を行う。そして送信結果をトランスポートコントローラ10に通知する。
リンクコントローラ50は受信時には以下の処理を行う。即ちリンクコントローラ50は物理層回路100から、8b/10bエンコードキャラクタを受信する。そして8b/10bエンコードキャラクタをデコードし、デコードしたプリミティブを処理部等に通知する。次にデコードしたFISのデスクランブル処理を行い、CRCをチェックする。そしてトランスポートコントローラ10にデータを渡す。またデコード結果やCRCのチェック結果をトランスポートコントローラ10に通知する。
物理層回路100は物理層を実現するアナログフロントエンド回路である。この物理層回路100は、シリアルデータ(シリアルストリーム)の送受信や、シリアルデータからパラレルデータへの変換や、パラレルデータからシリアルデータへの変換を行う。また8b/10bのK28.5キャラクタの検出や、OOB(Out Of Band)信号の検出と送信を行う。またデバイスステータス(デバイスの有無、転送状態、パワー状態)の提供や、通信制御用のインターフェース(転送レート制御、ループバック)の提供を行う。またオプションでパワーマネージメントも行う。
物理層回路(PHY)100はトランスミッタ(ドライバ)110、レシーバ120を含む。またOOB検出回路130、PLL(広義にはクロック生成回路)140を含む。
トランスミッタ110は、差動信号線(差動信号線ペア)TX+/−を介してシリアルデータ(パケット)の送信を行い、レシーバ120は、差動信号線(差動信号線ペア)RX+/−を介してシリアルデータ(パケット)の受信を行う。TX+/−、RX+/−のSATAバス(広義にはシリアルバス)では、振幅電圧+/−250mVのNRZ差動信号によるシリアルストリーム転送が行われる。転送レートとしては1.5Gbps(SATA II Gen2では3.0Gbps)が用意され、シリアルストリームからデータが抽出される。またSSC(Spread Spectrum Clocking)やトランスミッタ・レシーバのインピーダンス測定も行われる。
SATAのケーブルは7芯であり、差動信号線TX+/−、RX+/−の各ペアは、トランスミッタ110、レシーバ120に割り当てられる。上がり信号はデバイス側のTX+/−とホスト(HBA)側のRX+/−を接続し、下り信号はホスト側のTX+/−とデバイス側のRX+/−を接続する。SATAは全二重のみの仕様になっており、データは一方向のみしか通信できない。従ってTX+/−で通信を行っている最中に、バックチャネルとしてRX+/−で相手ノードからのプロトコル通信を行うことができ、フロー制御に有効利用できる。
OOB検出回路130はOOB信号の検出処理を行う。このOOB信号は、SATAインターフェースのリセット/初期化、通信の確立や、スピード・ネゴシエーションをつかさどる信号である。図5(A)に示すようにOOB信号には、COMRESET/COMINITとCOMWAKEがある。COMRESETとCOMINITとしては同じ信号が使用されるが、ホストが出力する信号がCOMRESETであり、デバイスが出力する信号がCOMINITである。COMRESET/COMINITとCOMWAKEとの違いは、図5(A)に示すようにバースト信号間のアイドル間隔である。なお各バースト信号は4つのALIGNプリミティブにより構成される。
図5(B)にSATAインターフェースの初期化の時の信号波形を示す。まずホストがCOMRESETを発行する(A1)。デバイスはCOMRESETを検出するとCOMINITを発行する(A2)。するとホストは伝送路を最適化してCOMWAKEを発行する(A3)。デバイスはホストからのCOMWAKEを検出すると伝送路を最適化してCOMWAKEを発行する(A4)。
その後、デバイスはALIGNを連続送信する(A5)。この際にホストとのスピード・ネゴシエーションを行う。即ち所定回数のALIGN送信までにホストからのALIGNが検出されない場合には、転送レートを1段階落とす。
ホストはデバイスからのCOMWAKEを検出すると、D10.2のキャラクタを送信する(A6)。そしてデバイスからのALIGNによって受信用PLL(Phase-Locked Loop)をロックする。ロックが完了すると、同じ転送レートでALIGNをデバイスに送信する(A7)。
デバイスは、ホストからのALIGNにより受信用PLLをロックし、SYNCプリミティブを送信する。ホストはデバイスからのSYNCプリミティブを検出すると、SYNCを送信する。これによりログインが完了し、通信が確立する。
PLL140(送信用PLL)はクロックを生成する回路である。具体的にはPLL140は基準クロック(システムクロック)であるCLK1(第1のクロック)を受ける。このCLK1は、例えば外部の発振器等から供給され、その周波数は例えば25MHzとなっている。
そしてPLL140は、原振であるクロックCLK1に基づいて、CLK1に同期したクロックCLK2(第2のクロック)を生成する。このCLK2の周波数は例えば37.5MHzとなっている。具体的にはPLL140は、CLK1に基づき100MHzのクロックを生成して、OOB検出回路130に供給すると共に、1.5GHzのクロックを生成してトランスミッタ110に供給する。トランスミッタ(ドライバ)110は、この1.5GHzのクロック(TXクロック)に基づいて高速シリアルストリームの送信を行う。またこの1.5GHzのクロックが分周されて37.5MHzのクロックCLK2が生成されて、トランスポートコントローラ10、リンクコントローラ50に供給される。トランスポートコントローラ10は、このCLK2(第2のクロック)に基づき動作する。またリンクコントローラ50は、CLK1、CLK2(第1、第2のクロック)に基づき動作する。なおトランスポートコントローラ10の一部の回路をCLK1に基づき動作させてもよい。
また物理層回路100は受信用PLLも含んでおり、この受信用PLLは、受信データから抽出されたクロックに同期したサンプリングクロックを生成する。そして物理層回路100からの受信データのサンプリングクロックと、クロックCLK2には位相差が生じるため、その位相差を吸収するためのバッファ回路がリンクコントローラ50に設けられる。
図4ではブロック間で転送される送信データ、受信データのビット数が40ビットになっている。従って、1.5GHz/40=37.5HzのクロックCLK2がトランスポートコントローラ10、リンクコントローラ50に供給される。但しブロック間で転送される送信データ、受信データのビット数が例えば10ビットである場合には、1.5GHz/10=150MHzのクロックCLK2をトランスポートコントローラ10、リンクコントローラ50に供給すればよい。
リンクコントローラ50は、リンクステート制御回路60、パワーマネージメント制御回路70、インターフェース初期化制御回路80、フレーム生成回路90、フレームデコード回路92を含む。なおリンクコントローラ50は図4の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加する構成としてもよい。例えばインターフェース初期化制御回路80の一部又は全部を物理層回路100に含ませてもよい。
リンクステート制御回路(メインステート制御回路)60は、物理層回路100で生成されたクロックCLK2に基づき動作し、リンクコントローラ50のメインのステート制御を行う。即ちリンクコントローラ50が行う各処理のステート制御を行うメインのステートマシーンとして動作する。例えばリセットステート、アイドルステート、送信ステート、受信ステート等のステート間の遷移処理等を行う。
パワーマネージメント制御回路(パワーステート制御回路)70は、パワーダウンモード時にも停止しないクロックCLK1に基づき動作し、パワーマネージメント(パワーダウンモード)のステート制御を行う。即ちパワーダウンモード時にリンクコントローラ50が行う各パワーマネージメント処理のステート制御を行うステートマシーンとして動作する。例えばノーマルステート、パワーダウンステート、ウェイクアップステートなどのステート間の遷移処理等を行う。
インターフェース初期化制御回路80(物理層初期化制御回路)は、インターフェース(物理層)の初期化のための各処理を行う。即ちフレーム生成回路90に対して初期化制御信号を出力し、COMRESET(COMINIT)やCOMWAKEの発行や、キャリブレーションや、スピード・ネゴシエーションのための処理などを行う。
フレーム生成回路90は、トランスポートコントローラ10からの送信データ(FIS)や、リンクステート制御回路60からの送信制御信号などに基づいてフレームの生成処理を行う。具体的には図2で説明したように、トランスポートコントローラ10からのFISのCRCを演算したり、スクランブル処理を行ったり、8b/10bエンコード処理を行ったり、プリミティブを生成して付加する処理などを行う。
フレームデコード回路92は、受信したフレームの解析(分解)処理を行い、受信解析信号(パワーダウンリクエスト信号等)をリンクステート制御回路60に出力する。具体的には図3で説明したように、FISに付加されたプリミティブを解析したり、8b/10bのデコード処理を行ったり、デスクランブル処理を行ったり、CRCを演算してチェックする処理などを行う。
そして本実施形態ではリンクステート制御回路60は、CPU(処理部、アプリケーション層)やデバイスからパワーダウンリクエストを受ける。具体的にはCPUインターフェース回路12及び同期タイプの制御レジスタ14を介して、CPUからPartial_Req、Slumber_Reqによるパワーダウンリクエストを受けたり、SATAバスを介して、デバイスからPMREQ_P、PMREQ_Sのプリミティブによるパワーダウンリクエストを受ける。そしてパワーダウンリクエストを受けると、パワーダウン条件が満たされたか否かを判断する。そしてパワーダウン条件が満たされた場合には、パワーマネージメント制御回路70に対してパワーマネージメント(パーシャル、スランバ)のステート制御のイネーブル信号PMStateEnbを出力する。
パワーマネージメント制御回路70は、イネーブル信号PMStateEnbを受けた場合(PMStateEnbがアサートされた場合)に、パワーマネージメントのステート制御を行う。具体的にはパワーマネージメント制御回路70は、パワーマネージメントのステート制御において、信号HR_DOWNをアサートして、インターフェース初期化制御回路80に対してパワーダウンモードへの移行を指示する。その後に、信号PARTIAL(SLUMBER)をアサートして、物理層回路100に対してパワーダウンモードへの移行を指示する。即ちパワーダウンモード(パーシャルモード、スランバモード)への移行指示に対するレディ信号SyncReadyをインターフェース初期化制御回路80から受けた場合に、物理層回路100に対してパワーダウンモードへの移行を指示する。
なお、リンクステート制御回路60は、シリアルATAバスを介して接続されるデバイスからパワーダウンリクエスト(PMREQ_P、PMREQ_S)を受け、パワーダウンリクエストに対する承諾(アクノリッジ)をデバイスに送信した場合に、パワーダウンモードへの移行の承認を、データ転送制御装置を制御するCPU(処理部)に対してリクエストする。具体的には信号pmode_requestを割りこみコントローラ18に対して出力し、これにより割りこみコントローラ18がCPUに対して割り込みを発生する。
またパワーマネージメント制御回路70は、CPUやデバイスからウェイアップリクエストを受ける。具体的にはCPUインターフェース回路12及び非同期タイプの制御レジスタ16を介して、WakeUp_ReqによるウェイクアップリクエストをCPUから受けたり、SATAバスを介して、COMWAKEによるウェイクアップリクエストをデバイスから受ける。そしてウェイクアップリクエストを受けると、パワーマネージメント制御回路70は、信号PARTIAL(SLUMBER)をネゲートして、物理層回路100のパワーダウンモードを解除する。その後に、信号HR_DOWNをネゲートして、インターフェース初期化制御回路80のパワーダウンモードを解除する。具体的には、パワーダウンモードの解除に対するレディ信号PhyReadyを物理層回路100から受けた場合に、インターフェース初期化制御回路80のパワーダウンモードを解除する。
そしてパワーマネージメント制御回路70は、インターフェース初期化制御回路80のパワーダウンモードを解除した後に、リンクステート制御回路60に対して信号LinkAgainを用いてパワーダウンモードの解除を通知する。これによりリンクコントローラ50のウェイクアップ動作が完了する。
トランスポートコントローラ10は、CPUインターフェース回路12、制御レジスタ14、16、割りこみコントローラ18、DMA制御回路19、送信FIFO20、受信FIFO22、FIS生成回路30、FISデコード回路32、トランスポートステート制御回路40を含む。なおトランスポートコントローラ10は図4の構成に限定されず、その構成要素の一部を省略したり、他の構成要素を追加する構成としてもよい。例えばDMA制御回路40等を省略する構成としてもよい。
CPUインターフェース回路12は、CPU(処理部)とのインターフェース処理を行う回路である。具体的にはデータ信号、リード信号、ライト信号、アドレス信号などを用いてCPUとトランスポートコントローラ10(データ転送制御装置)との間のインターフェース処理を行う。このCPUインターフェース回路12を用いることで、データ転送制御装置へのコマンドの書き込みや、ステータスの読み出しを実現できる。なおCPUとCPUインターフェース回路12との間に、データ転送制御装置の外部バスとのインターフェース処理を行う外部バスインターフェース回路を更に設けてもよい。
制御レジスタ14は、CLK2に同期してCPUによりアクセス可能な同期タイプのレジスタである。具体的にはCLK2の立ち上がり又は立ち下がりエッジに同期してデータを書き込んだり、読み込んだりすることができるレジスタである。制御レジスタ16は、CLK2に同期せずにCPUによりアクセス可能な非同期タイプのレジスタである。具体的には、例えばCLK2に非同期のライトパルス信号やリードパルス信号などを用いてデータを書き込んだり、読み込んだりすることができるレジスタである。これらの制御レジスタ14、16は、シャドウレジスタやステータス&コントロールレジスタ(SCR)などとして機能する。
そして図4ではリンクコントローラ50は、パワーダウンモードからのウェイアップリクエスト(WakeUp_Req)を、非同期タイプの制御レジスタ16を介してCPUから受ける。このようにすることで、リンクコントローラ50は、パワーダウンモードになりCLK2が停止している場合にも、CPUからのウェイクアップリクエストを受けることが可能になる。
なおリンクコントローラ50は、ウェイアップリクエストを、トランスポートコントローラ10をバイパスしてCPUから受けるようにしてもよい。即ち信号WakeUp_Reqを、トランスポートコントローラ10を介さずに直接にリンクコントローラ50に入力してもよい。このようにしても、リンクコントローラ50は、CLK2の停止時にCPUからのウェイクアップリクエストを受けることが可能になる。
割り込みコントローラ18は、CPUに対する割り込みを発生する回路である。具体的にはリンクコントローラ50からの信号pmode_requestやWakeUp_cmpに基づいて、パワーダウンモード移行の承認リクエストのための割り込みや、ウェイクアップ完了のための割り込みを発生する。
DMA制御回路19は、FISに含まれる送信データや受信データ(コンテンツ・データ)のDMA転送を制御する回路である。送信FIFO20は、DMA制御回路19からの送信データのバッファとなるFIFO(First-In First-Out)である。受信FIFO22は、リンクコントローラ50からの受信データのバッファとなるFIFOである。FIS生成回路30はFISの生成を行う回路であり、FISデコード回路32はFISの解析を行う回路である。トランスポートステート制御回路40は、トランスポートコントローラ10のステート制御を行う回路である。
3.パワーマネージメント
SATAでは、スランバ(SLUMBER)やパーシャル(PARTIAL)というパワーダウンモードが用意されている。スランバモードでは、復帰時間が10msを越えてはならないと定義され、パーシャルモードに比べて復帰時間が長い。このためPLLの動作についても停止させることができ、消費電力をより低減できる。
一方、SATA規格に忠実にデータ転送制御装置を設計すると、トランスポートコントローラはシステム(CPU)側のクロックで動作するようになる。従って上記のようなパーシャルやスランバなどのパワーダウンモードにおいても、トランスポートコントローラは、システム側のクロックが供給されて動作する。従って物理層回路やリンクコントローラがパワーダウンモードに移行したとしても、トランスポートコントローラについてはパワーダウンモードに移行できない。即ちSATAバスがパワーダウンしているのにもかかわらず、トランスポートコントローラにおいて無駄に電力が消費されてしまう。そしてトランスポートコントローラは、その論理ゲート数が多いため、消費される電力は非常に大きい。
この場合、PC(パーソナルコンピュータ)用途のSATAのデータ転送制御装置では、消費電力が大きくてもそれほど問題にはならない。ところが、携帯型音楽プレーヤ、携帯型映像プレーヤ、ハードディスレコーダなどの家電の電子機器にデータ転送制御装置を組み込んだ場合には、データ転送制御装置の低消費電力化は重要な技術的課題となる。
そこで本実施形態では図4に示すように、トランスポートコントローラ10を、システム(CPU)側のクロックではなくて、リンクコントローラ50用のクロックCLK2(37.5MHz)で動作させる構成としている。このようにすれば、パーシャルやスランバなどのパワーダウンモードに移行し、クロックCLK2が停止した場合に、物理層回路100やリンクコントローラ50のみならず、CLK2に基づき動作するトランスポートコントローラ10についてもその動作が停止し、パワーダウンモードに移行する。この結果、従来のSATAのデータ転送制御装置に比べて、消費電力を大幅に低減できる。
更に本実施形態では、リンクコントローラ50の中に、CLK2で動作する回路のみならずCLK1で動作する回路も設けている。具体的にはリンクコントローラ50のメインのステート制御を行うリンクステート制御回路60については、クロックCLK2で動作させる一方で、パワーマネージメントのステート制御を行うパワーマネージメント制御回路70については、クロックCLK1で動作させている。このようにすれば、物理層回路100がパワーダウンモードに移行して、CLK2が停止した場合にも、パワーマネージメント制御回路70については、原振クロックであるCLK1に基づき、停止せずにその動作を維持する。従って、パワーマネージメント制御回路70の制御の下で、インターフェース初期化制御回路80や物理層回路100を段階的にパワーダウンモードに移行させる制御が可能になる。またパワーマネージメント制御回路70以外の回路がパワーダウンモードに移行した状態にあっても、CPUやデバイスからのウェイクアップリクエスト(WakeUp_Req、COMWAKE)を受けたパワーマネージメント制御回路70が、インターフェース初期化制御回路80や物理層回路100のパワーダウンモードを段階的に解除する制御が可能になる。
このように本実施形態によれば、トランスポートコントローラ10をシステム側ではなくリンク用のクロックCLK2で動作させることで低消費電力化を実現しながら、CLK1で動作するパワーマネージメント制御回路70を設けることで、パワーダウンモードへの適正な移行やパワーダウンモードからの適正な復帰の実現に成功している。
4.動作
次に本実施形態の詳細な動作について図6、図7を用いて説明する。なお以下では、適宜、トランスポートコントローラ10、リンクコントローラ50、リンクステート制御回路60、パワーマネージメント制御回路70、インターフェース初期化制御回路80、物理層回路100を、各々、TRANS、LINK、LS、PS、HRS、PHYと略して記載する。
図6は、ホスト側のアプリケーション層が主体となるパワーダウン/ウェイクアップのシーケンスを示している。
まずアプリケーション層(CPU、ファームウェア)が、SATAポートをスリープする要求を発生する(T1)。これにより、LS(リンクステート制御回路)に入力される信号Partial_Req(Slumber_Req)が論理レベル「1」になる(T2)。するとLSは、パーシャル(スランバ)モード移行のためのPMREQ_P(PMREQ_S)の生成をフレーム生成回路38に指示する(T3)。この時、デバイス側においてパワーモード有効の設定がなされている場合には、デバイス側は、PMACK_P(PMACK_S)を返信して、パーシャル(スランバ)モードに移行する(T4、T5、T6)。
LINK(リンクコントローラ)がデバイス側からPMACKを受領すると、LINKステートがL_ChkPhyRdyに遷移し、TRANS(トランスポートコントローラ)のSStatusレジスタに反映される(T7、T8、T9)。そして信号PMStateEnbが「1」になりPS(パワーマネージメント制御回路)のステート制御が開始すると、PSが信号PARTIAL(SLUMBER)を「1」にする(T10)。するとPHYがパーシャル(スランバ)モードに移行し、クロックCLK2が停止し、LINKもパワーダウンモードに移行する(T11、T12、T13)。
次に、CPUがウェイクアップリクエストを発行し、信号WakeUp_Reqが「1」になると、LINKステートがWakeUpになり、PSが信号PARTIAL(SLUMBER)を論理レベル「0」にする(T21、T22、T23)。これによりPHYのパワーダウンモードが解除され、クロックCLK2の動作が開始し、PHYからの信号PhyReadyが立ち上がる(T24、T25)。そしてHRS(インターフェース初期化制御回路)によるインターフェースの初期化シーケンスが開始し、デバイス側にCOMWAKEが発行される(T26、T27)。そして初期化やネゴシエーションが行われ、デバイス側、ホスト側のウェイクアップが完了する(T28、T29)。するとTRANSによりPortWakeUpの割り込みがアサートされ、SATAのポートがウェイクアップしたことをアプリケーション層が認識する(T30、T31)。
図7は、デバイス(相手)側が主体となるパワーダウン/ウェイクアップのシーケンスを示している。
まずデバイス側が、SATAポートをスリープする要求を発生し、パーシャル(スランバ)モード移行のためのPMREQ_P(PMREQ_S)を生成してホスト側に送信する(T41、T42)。
ホスト側は、PMREQ_P(PMREQ_S)を受領し、且つ、SCRレジスタ/IPMフィールドのパワーマネージメント遷移が有効に設定されている場合には、PMACKをデバイス側に発行する(T43、T44)。デバイス側は、PMACKを受領すると、パーシャル(スランバ)のパワーダウンモードに移行する(T45、T46)。またTRANSは、パーシャル(スランバ)要求の割り込みをアサートし、アプリケーション層はそれを認識して、承認する(T47、T48、T49)。すると、LINKステートがL_ChkPhyRdyに遷移し、SStatusレジスタに反映されると共に、信号PARTIAL(SLUMBER)が「1」になる(T50、T51、T52、T53)。そしてPHYがパーシャル(スランバ)モードに移行し、クロックCLK2が停止し、リンクもパワーダウンモードに移行する(T54、T55、T56)。
次に、デバイス側がSATAポートのウェイクアップ要求を発生し、COMWAKEを発行する(T61、T62)。するとPHY(OOB検出回路)がCOMWAKEを認識し、LINKステートがWakeUpになり、PSが信号PARTIAL(SLUMBER)を「0」にする(T63、T64、T65)。これによりPHYのパワーダウンモードが解除され、クロックCLK2の動作が開始し、PHYからの信号PhyReadyが立ち上がる(T66、T67)。そしてHRSによるインターフェースの初期化シーケンスが開始し、デバイス側にCOMWAKEが発行される(T68、T69)。その後は、図6のT28〜T31と同様のシーケンスになる(T70〜T73)。
図8に本実施形態の動作を説明する信号波形例を示す。LSは、パワーダウンリクエストを受けると、パワーマネージメントのステート制御のイネーブル信号PMSateEnbを「1」にしてPSに出力する(B1)。これによりPSは、そのステートがPM_ChkPhyRdyに遷移し(B2)、パワーダウンモードへの移行を指示する信号HR_DOWNを「1」にしてHRSに出力する(B3)。そしてHRSから受けたレディ信号SyncReadyが「0」になると(B4)、PSは、そのステートがPM_NoCommPowerに遷移する(B5)。そしてPSは信号SLUMBERを「1」にしてPHYに出力し(B6)、PHYに対してパワーダウンモードへの移行を指示し、PHYがレディ信号PhyReadyを「0」にする(B7)。これによりPHYがパワーダウンモードに移行し、CLK2が停止し(B8)、TRANS、LINKもパワーダウンモードに移行する。
次にPSは、信号WakeUp_Req又はCOMWAKEによりウェイクアップリクエストを受けると(B9)、そのステートがPM_WakeUp1−1に遷移する(B10)。そしてPSは信号SLUMBERを「0」にしてPHYに出力し(B11)、PHYのパワーダウンモードを解除する。これにより、PHYのPLLの動作が開始してPLLの動作が復帰し(B12)、CLK2の動作が開始する(B13)。これによりLINK、TRANSは動作可能になる。そしてPLLの動作が復帰すると、PHYはレディ信号PhyReadyを「1」にしてHRS、PSに出力する(B14)。するとPSは、そのステートがPM_WakeUp1−2に遷移し(B15)、信号HR_DOWNを「0」にしてHRSに出力し、HRSのパワーダウンモードを解除する(B16)。
そしてHRSによるインターフェースの再初期化が行われ(B17)、再初期化が終了するとHRSはレディ信号SyncReadyを「1」にしてPSに出力する(B18)。これにより、PSは、そのステートがPM_WakeUp2に遷移する(B19)。そしてPSは、パワーダウンモードの解除を通知する信号LinkAgainを「1」にしてLSに出力し(B20)、そのステートがノーマルモードであるPM_NormalModeに遷移する(B21)。
以上のように本実施形態では、CPU又はデバイス側からのパワーダウンリクエストを受けると、LSは、PMStateEnbを「1」にしてパワーマネージメント制御をLSからPSに引き継ぐ(B1)。するとPSは、HR_DOWNを「1」にしてパワーダウンモードへの移行をHRSに対して指示する(B3)。そしてHRSからのSyncReadyが「0」になると(B4)、SLUMBERを「1」にしてパワーダウンモードへの移行をPHYに対して指示する(B6)。これによりPHYがパワーダウンモードに移行し、クロックCLK2が停止する(B8)。この結果、LINKのみならず、CLK2で動作するTRANSもパワーダウンモードに移行するため、従来に比べて消費電力を大幅に削減できる。またPSの制御の下で、HRS、PHY等を段階的にパワーダウンモードに移行させているため、SATA規格に準じた適正なパワーマネージメント制御が可能になる。
そして本実施形態では、このようにCLK2が停止した時にCLK1については停止しておらず、PSはCLK1に基づき動作している。従ってPSは、CPU又はデバイス側からのウェイクアップリクエストを受けることができる。そしてPSは、ウェイクアップリクエストを受けると(B9)、SLUMBERを「0」にしてPHYのパワーダウンモードを解除する(B11)。そしてPLLが復帰すると(B12)、CLK2の動作が開始し、LINK、TRANSは動作可能になる(B13)。そしてPHYの準備が整いPhyReadyが「1」になると(B14)、PSはHR_DOWNを「0」にしてHRSのパワーダウンモードを解除する(B16)。そしてインターフェースの再初期化が終了しSyncReadyが「1」になると(B18)、PSはLinkAgainを「1」にして(B20)、パワーダウンモードの解除をLSに通知する。これによりLSは、パワーダウンモードの解除(ウェイクアップの完了)をCPU等に通知できるようになる。このように本実施形態では、PSの制御の下で、HRS、PHY等のパワーダウンモードを段階的に解除しているため、SATA規格に準じた適正なパワーマネージメント制御が可能になる。
5.ステート遷移
次に、リンクステート制御回路60(LS)、パワーマネージメント制御回路70(PS)、インターフェース初期化制御回路80(HRS)のステート遷移について図9〜図12を用いて説明する。
図9、図10はLS(リンクステート制御回路)のステート遷移図である。LSは、リセットによりS1のステートに遷移し、リセットが解除されるとS2のステートに遷移する。そしてHRSがSyncReadyを「1」にすると、S3のアイドルステート(送信・受信の待機状態)に遷移する。
S3のアイドルステートにおいて、LSは、デバイスからの送信要求を受領するとS4の受信ステートに遷移し、SyncReadyが「1」で、且つ、TRANSがフレームの送信を要求するとS5の送信ステートに遷移する。
またS3のアイドルステートにおいて、LSは、TRANSがPartial_Req、Slumber_Reqを発行すると、各々、S6、S7のステートに遷移する。またデバイスからPMREQ_P又はPMREQ_Sを受領し、且つ、PowerModeが有効に設定されている場合にはS8に遷移し、PMREQ_P又はPMREQ_Sを受領し、且つ、PowerModeが無効に設定されている場合にはS9に遷移する。
図10はパワーダウン時のLSの詳細なステート遷移図である。S6(S7)のステートに遷移すると、LSは、パワーダウンモード要求プリミティブ(PMREQ_P又はPMREQ_S)をデバイスに送信する。そしてデバイスからのパワーダウンモード承諾プリミティブ(PMACK)を受領するとS11のステートに遷移する。
S8のステートに遷移すると、LSは、パワーダウンモード承諾プリミティブ(PMACK)をデバイスに送信する。そしてPMACKの送信が完了するとS10のステートに遷移し、pmode_requestの割り込みを用いて、パワーダウンモードへ移行するための承認をCPUへリクエストする。そしてCPUからの承認(conf_pmode)を受領すると、S11のステートに遷移する。
このように本実施形態では、デバイスからパワーダウンリクエストを受け、パワーダウンリクエストに対する承諾(アクノリッジ)をデバイスに送信した場合に(S8)、パワーダウンモードへの移行の承認を、データ転送制御装置を制御するCPU(処理部)に対してリクエストするようにしている(S10)。こうすることで、パワーダウンモードへの移行の事後的な承認を、CPUに対して要求できるようになる。
S9のステートに遷移すると、LSは、PowerModeが無効に設定されているため、パワーダウンモード拒否プリミティブ(PMNAK)をデバイスに送信する。これによりパワーダウンモードへの移行が拒否される。
このように本実施形態では、S6、S7、S8、S9、S10のステートで、パワーダウン条件が満たされたか否かが判断される。そしてパワーダウン条件が満たされたと判断されると、S11のステートに遷移し、LSはPMStateEnbをアサートする。そしてパワーマネージメント制御がLSからPSに引き継がれ、その後、クロックCLK2が停止する。そして、CPU又はデバイスからウェイクアップリクエストが来て、パワーダウン状態が解除されると、クロックCLK2の動作が開始する。そしてPSからのLinkAgainが検出されると、LSはS12のステートに遷移する。そしてALIGNの送信を行い、SyncReadyが「1」になると、S3のアイドルステートに戻る。
図11はPS(パワーマネージメント制御回路)のステート遷移図である。通常動作時には、PSはS21のノーマルステートに待機する。そしてLSからのPMStateEnbが「1」になると、S22のステートに遷移し、HRSへのHR_DOWNをアサートし、HRSからのSyncReadyがネゲートされるのを待つ。
SyncReadyが「0」になると、PSは、S23のステートに遷移し、PHYに対するPARTIAL又はSLUMBERをアサートする。これによりPHYがパワーダウンモードに移行し、クロックCLK2が停止し、TRANSや、PSを除くLINKもパワーダウンモードに移行する。
次に、TRANSからのWAKE_Up_Req又はPHYからのCOMWAKEを受領すると、PSはS24のステートに遷移する。
即ち本実施形態では、制御レジスタ16は、CLK2に同期しない非同期タイプのレジスタになっている。従って、CLK2が停止し、TRANSがパワーダウンモードに移行していても、CLK1に基づき動作しているPSは、CPUからのウェイクアップリクエスト(WAKE_Up_Req)を、非同期タイプの制御レジスタ16を介して受けることができる。
またPHYがパワーダウンモードに移行しても、OOB検出回路130は動作を継続しており、デバイスからのCOMWAKEを検出できる。従って、PHYがパワーダウンモードに移行していても、CLK1に基づき動作しているPSは、デバイスからのCOMWAKEをOOB検出回路130を介して受けることができる。
S24のステートに遷移すると、PSは、PHYに対するPARTIAL又はSLUMBERをネゲートする。その後、PHYからのPhyReadyがアサートされるのを待つ。そしてPhyReadyが「1」になるとS25のステートに遷移する。
S25のステートに遷移すると、PSは、HRSに対するHR_DOWNをネゲートする。その後、HRSからのSyncReadyがアサートされるのを待つ。そしてSyncReadyが「1」になると、S26のステートに遷移する。
S26のステートに遷移すると、PSは、LSに対するLinkAgainをアサートする。その後、LSからのPMStateEnbがネゲートされるのを待つ。そしてPMStateEnbが「0」になると、S21のノーマルステートに戻る。これによりLINKのステート制御がPSからLSに戻される。
図12はHRS(インターフェース初期化制御回路)のステート遷移図である。HRSは、リセット後、S31のステートに遷移して、COMRESETを送信する。そしてリセットが解除されると、S32のステートに遷移にして、デバイスからのCOMINITを待つ。そしてデバイスからのCOMINITが検出されると、S33のキャリブレーション等が行われ、S34のステートに遷移する。
S34のステートに遷移すると、HRSは、COMWAKEを送信し、S35のステートに遷移し、デバイスからのCOMWAKEを待つ。そしてデバイスからのCOMWAKEが検出されると、S36のステートに遷移し、デバイスからのCOMWAKEが終了するのを待つ。
デバイスからのCOMWAKEが検出されなくなると、S37の一連のインターフェース同期処理が行われる。そしてS38のステートに遷移し、インターフェースの同期が確立すると、HRSはSyncReadyをアサートする。そしてPSからのHR_DOWNが「1」になると、S39のステートに遷移する。
S39のステートに遷移すると、HRSは、SyncReadyをネゲートする。そしてこの状態に遷移した後に、クロックCLK2が停止する。
次に、HR_DOWN=「0」になり、且つ、COMWAKEが受信された場合には、S36のステートに戻り、デバイスからのCOMWAKEが終了するのを待つ。一方、HR_DOWN=「0」になり、且つ、COMWAKEが受信されていない場合には、S34のステートに戻り、COMWAKEを送信する。
図13は比較例のデータ転送制御装置におけるLS(リンクステート制御回路)のステート遷移図である。この比較例のデータ転送制御装置では、LSだけが設けられ、PS(パワーマネージメント制御回路)については設けられていない。
図13と図10を比較すれば明らかなように、比較例では図10のS10のステートが存在しない。またPSが設けられていないため、図13のS62、S63のパワーマネージメント制御は、LSが行うことになる。従ってパワーダウンモード時にも、LINK(LS)やTRANSは動作する必要があり、低消費電力化の達成が不十分となる。
これに対して本実施形態では、PSが設けられているため、CLK1に基づき動作するPSが、図11のパワーマネージメント制御を行うようになる。従って、パワーダウンモード時には、PSを除くLINKや、TRANSの動作を停止することができ、比較例に比べて大幅に消費電力を低減できる。
6.電子機器
図14に本実施形態の電子機器の構成例を示す。この電子機器は、本実施形態で説明したデータ転送制御装置310と、処理部330(CPU)と、ROM340と、RAM350と、表示部360と、操作部370を含む。また、データ転送制御装置310とSATAを介して接続されるデバイス320を含むことができる。なお本実施形態の電子機器の構成は図14に限定されず、図14の構成要素の一部を省略したり、他の構成要素を付加する変形実施が可能である。
図14においてデバイス320は、HDD(ハードディスクドライブ)等のストレージデバイスである。但しデバイス320はHDD等のストレージデバイスに限定されない。
処理部330(CPU)はデータ転送制御装置310や電子機器の全体制御を行う。なおデータ転送制御装置310を制御する処理部と、電子機器を制御する処理部とを別々に設けてもよい。ROM340は制御プログラムや各種データを記憶する。RAM350は処理部330やデータ転送制御装置310のワーク領域やデータ格納領域として機能する。表示部360は種々の情報をユーザに表示する。操作部370はユーザが電子機器を操作するためのものである。
なお、本実施形態を適用できる電子機器としては、HDDレコーダ、ビデオカメラ、オーディオ機器、携帯型音楽プレーヤ、携帯型映像プレーヤ、ゲーム装置、又は携帯型ゲーム装置等の種々のものが考えられる。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(シリアルバス、処理部等)と共に記載された用語(SATA、CPU等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またデータ転送制御装置、電子機器の構成、動作も本実施形態で説明したものに限定に限定されず、種々の変形実施が可能である。また、本実施形態では、SATAへの本発明の適用例について説明したが、本発明は、SATAと同様の思想に基づく規格や、SATA(SATA I、SATA II、SAS)を発展させた規格等にも適用できる。
SATAのプロトコルの層構造の説明図。 SATAの送信側のデータ処理の説明図。 SATAの受信側のデータ処理の説明図。 本実施形態のデータ転送制御装置の構成例。 図5(A)(B)はSATAの初期化シーケンスの説明図。 本実施形態の詳細な動作の説明図。 本実施形態の詳細な動作の説明図。 本実施形態の詳細な動作を説明する信号波形例。 リンクステート制御回路のステート遷移図。 リンクステート制御回路の詳細なステート遷移図。 パワーマネージメント制御回路のステート遷移図。 インターフェース初期化制御回路のステート遷移図。 比較例のリンクステート制御回路のステート遷移図。 電子機器の構成例。
符号の説明
10 トランスポートコントローラ、12 CPUインターフェース回路、
14、16 制御レジスタ、18 割り込みコントローラ、19 DMA制御回路、
20 送信FIFO、22 受信FIFO、30 FIS生成回路、
32 FISデコード回路、40 トランスポートステート制御回路、
50 リンクコントローラ、60 リンクステート制御回路、
70 パワーマネージメント制御回路、80 インターフェース初期化制御回路、
90 フレーム生成回路、92 フレームデコード回路、100 物理層回路、
110 トランスミッタ、120 レシーバ、130 OOB検出回路、
140 PLL

Claims (14)

  1. シリアルATA(Serial AT Attachment)バスを介してデータ転送を行うデータ転送制御装置であって、
    基準クロックである第1のクロックに基づき物理層回路により生成された第2のクロックが供給され、前記第2のクロックに基づき動作するトランスポートコントローラと、
    前記第1、第2のクロックが供給され、前記第1、第2のクロックに基づき動作するリンクコントローラとを含み、
    前記リンクコントローラは、
    前記第2のクロックに基づき動作し、前記リンクコントローラのステート制御を行うリンクステート制御回路と、
    前記第1のクロックに基づき動作し、パワーマネージメントのステート制御を行うパワーマネージメント制御回路を含むことを特徴とするデータ転送制御装置。
  2. 請求項1において、
    前記リンクステート制御回路は、
    パワーダウンリクエストを受けた場合に、パワーダウン条件が満たされたか否かを判断し、パワーダウン条件が満たされた場合に、前記パワーマネージメント制御回路に対してパワーマネージメントのステート制御のイネーブル信号を出力し、
    前記パワーマネージメント制御回路は、
    前記イネーブル信号を受けた場合に、パワーマネージメントのステート制御を開始することを特徴とするデータ転送制御装置。
  3. 請求項2において、
    前記パワーマネージメント制御回路は、
    パワーマネージメントのステート制御を開始した場合に、インターフェースの初期化のための処理を行うインターフェース初期化制御回路に対してパワーダウンモードへの移行を指示し、その後に、前記物理層回路に対してパワーダウンモードへの移行を指示することを特徴とするデータ転送制御装置。
  4. 請求項3において、
    前記パワーマネージメント制御回路は、
    パワーダウンモードへの移行指示に対するレディ信号を前記インターフェース初期化制御回路から受けた場合に、前記物理層回路に対してパワーダウンモードへの移行を指示することを特徴とするデータ転送制御装置。
  5. 請求項1乃至4のいずれかにおいて、
    前記リンクステート制御回路は、
    シリアルATAバスを介して接続されるデバイスからパワーダウンリクエストを受け、パワーダウンリクエストに対する承諾を前記デバイスに送信した場合に、パワーダウンモードへの移行の承認を、データ転送制御装置を制御する処理部に対してリクエストすることを特徴とするデータ転送制御装置。
  6. 請求項1乃至5のいずれかにおいて、
    前記パワーマネージメント制御回路は、
    パワーダウンモードからのウェイアップリクエストを受けた場合に、前記物理層回路のパワーダウンモードを解除し、その後に、インターフェースの初期化のための処理を行うインターフェース初期化制御回路のパワーダウンモードを解除することを特徴とするデータ転送制御装置。
  7. 請求項6において、
    前記パワーマネージメント制御回路は、
    パワーダウンモードの解除に対して、前記物理層回路の動作レディ信号を前記物理層回路から受けた場合に、前記インターフェース初期化制御回路のパワーダウンモードを解除することを特徴とするデータ転送制御装置。
  8. 請求項6又は7において、
    前記パワーマネージメント制御回路は、
    前記インターフェース初期化制御回路のパワーダウンモードを解除した後に、前記リンクステート制御回路に対してパワーダウンモードの解除を通知することを特徴とするデータ転送制御装置。
  9. 請求項1乃至8のいずれかにおいて、
    前記トランスポートコントローラは、
    処理部とのインターフェース処理を行うインターフェース回路と、
    前記第2のクロックに同期して前記処理部によりアクセス可能な同期タイプの第1の制御レジスタと、
    前記第2のクロックに同期せずに前記処理部によりアクセス可能な非同期タイプの第2の制御レジスタを含むことを特徴とするデータ転送制御装置。
  10. 請求項9において、
    前記パワーマネージメント制御回路は、
    パワーダウンモードからのウェイアップリクエストを、前記第2の制御レジスタを介して前記処理部から受けることを特徴とするデータ転送制御装置。
  11. 請求項1乃至8のいずれかにおいて、
    前記パワーマネージメント制御回路は、
    パワーダウンモードからのウェイアップリクエストを、前記トランスポートコントローラをバイパスして前記処理部から受けることを特徴とするデータ転送制御装置。
  12. 請求項1乃至11のいずれかにおいて、
    インターフェースの初期化のための処理を行うインターフェース初期化制御回路を含むことを特徴とするデータ転送制御装置。
  13. 請求項1乃至12のいずれかにおいて、
    シリアルATAバスを介してデータを送受信する物理層回路を含むことを特徴とするデータ転送制御装置。
  14. 請求項1乃至13のいずれかに記載のデータ転送制御装置と、
    前記データ転送制御装置を制御する処理部と、
    を含むことを特徴とする電子機器。
JP2007015895A 2006-02-06 2007-01-26 データ転送制御装置及び電子機器 Pending JP2007233998A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007015895A JP2007233998A (ja) 2006-02-06 2007-01-26 データ転送制御装置及び電子機器

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006028913 2006-02-06
JP2007015895A JP2007233998A (ja) 2006-02-06 2007-01-26 データ転送制御装置及び電子機器

Publications (1)

Publication Number Publication Date
JP2007233998A true JP2007233998A (ja) 2007-09-13

Family

ID=38554483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007015895A Pending JP2007233998A (ja) 2006-02-06 2007-01-26 データ転送制御装置及び電子機器

Country Status (1)

Country Link
JP (1) JP2007233998A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262393A (ja) * 2007-04-12 2008-10-30 Matsushita Electric Ind Co Ltd 情報処理システムおよびその制御方法
JP2010109961A (ja) * 2008-10-03 2010-05-13 Nec Electronics Corp シリアルデータ転送装置
JP2011191955A (ja) * 2010-03-12 2011-09-29 Toshiba Corp 通信装置及び通信方法
JP2011216128A (ja) * 2011-08-01 2011-10-27 Fujitsu Ltd ストレージシステムおよび起動方法
US8949634B2 (en) 2008-04-25 2015-02-03 Fujitsu Limited Storage device connected to a superior device and method of supplying power to the storage device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008262393A (ja) * 2007-04-12 2008-10-30 Matsushita Electric Ind Co Ltd 情報処理システムおよびその制御方法
US8949634B2 (en) 2008-04-25 2015-02-03 Fujitsu Limited Storage device connected to a superior device and method of supplying power to the storage device
JP2010109961A (ja) * 2008-10-03 2010-05-13 Nec Electronics Corp シリアルデータ転送装置
JP2011191955A (ja) * 2010-03-12 2011-09-29 Toshiba Corp 通信装置及び通信方法
US8443113B2 (en) 2010-03-12 2013-05-14 Kabushiki Kaisha Toshiba Communication apparatus
JP2011216128A (ja) * 2011-08-01 2011-10-27 Fujitsu Ltd ストレージシステムおよび起動方法

Similar Documents

Publication Publication Date Title
US9753529B2 (en) Systems, apparatuses, and methods for synchronizing port entry into a low power status
JP6243469B2 (ja) 低電力物理ユニットのロード/ストア通信プロトコルへの提供
CN106970886B (zh) 使用第二协议的扩展功能结构来控制第一协议的物理链路
US9086966B2 (en) Systems, apparatuses, and methods for handling timeouts
US9262360B2 (en) Architected protocol for changing link operating mode
US11239843B2 (en) Width and frequency conversion with PHY layer devices in PCI-express
US8638783B2 (en) Optimized link training and management mechanism
JP3636157B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP3632695B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP3992100B2 (ja) 伝送リンク層コア速度を高くするためのネットワーク
US7337382B2 (en) Data transfer control device, electronic instrument, and data transfer control method
JP2007233998A (ja) データ転送制御装置及び電子機器
CN107092335B (zh) 优化的链路训练及管理机制
JP2008242701A (ja) データ転送制御装置及び電子機器
JP3614161B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US20060004936A1 (en) Bridge for enabling communication between a FIFO interface and a PL3 bus for a network processor and an I/O card
JP2009037474A (ja) データ転送制御装置及び電子機器
JP2005122303A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US20240111700A1 (en) Latency reduction for link speed switching in multiple lane data links
JP4127071B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP2009032011A (ja) データ転送制御装置及び電子機器
Jin et al. A 720Mbps fast auxiliary channel design for DisplayPort 1.2