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

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

Info

Publication number
JP2008242701A
JP2008242701A JP2007080737A JP2007080737A JP2008242701A JP 2008242701 A JP2008242701 A JP 2008242701A JP 2007080737 A JP2007080737 A JP 2007080737A JP 2007080737 A JP2007080737 A JP 2007080737A JP 2008242701 A JP2008242701 A JP 2008242701A
Authority
JP
Japan
Prior art keywords
controller
soft reset
data transfer
power
down mode
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
JP2007080737A
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 JP2007080737A priority Critical patent/JP2008242701A/ja
Publication of JP2008242701A publication Critical patent/JP2008242701A/ja
Pending 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

Abstract

【課題】パワーダウンモードによる低消費電力化とパワーダウンモード中における適正な処理を両立できるデータ転送制御装置及び電子機器を提供すること。
【解決手段】データ転送制御装置は、PATAバスに接続されるPATAI/F10と、SATAバスに接続されるSATAI/F50と、転送シーケンス制御を行うシーケンスコントローラ30と、パワーマネージメント制御を行うパワーマネージメントコントローラ30を含む。パワーマネージメントコントローラ30は、パワーダウンモード中にホストによるソフトリセットビットへの書き込みが検出された場合に、ソフトリセットビットへの書き込みが検出されたことをSRST1キュー24に保持して、SATAI/F50に対してパワーダウンモードからのウェイクアップを要求し、ウェイクアップが完了した後に、ソフトリセットビットへの書き込みが検出されたことをシーケンスコントローラ30に通知する。
【選択図】図4

Description

本発明は、データ転送制御装置及び電子機器に関する。
近年、ストレージデバイス等のシリアルインターフェースとして、シリアルATA(Serial AT Attachment)と呼ばれる規格が脚光を浴びている。このシリアルATAは、パラレルATA(IDE)との間のソフトウェアレベルでの互換性を備えた規格である。そして最初の規格であるシリアルATA Iのデータ転送速度は1.5Gbpsであったが、次の規格であるシリアルATA II Gen2ではデータ転送速度が3.0Gbpsに高速化している。このシリアルATAを用いれば、電子機器が内蔵する回路基板間の配線本数を減らすことができ、電子機器のコンパクト化を図れる。
ところが、電子機器のホスト(ホストデバイス、ホスト基板)は、パラレルATA(以下、適宜、PATAと呼ぶ)のインターフェース(以下、適宜、I/Fと呼ぶ)は備えているが、シリアルATA(以下、適宜、SATAと呼ぶ)のI/Fについては備えていないものが多い。このため、PATAI/Fのみを備えた既存のホストに対しては、SATAのデバイスを接続できないという問題がある。従って、PATAとSATAのブリッジ機能を有するデータ転送制御装置の提供が望まれる。
またSATAでは、パーシャル(PARTIAL)やスランバ(SLUMBER)というパワーダウン(パワーセーブ)モードが規格化されている。パーシャルモードでは当該モードからの復帰時間が10μsを越えてはならないと定義されており、スランバモードでは当該モードからの復帰時間が10msを越えてはならないと定義されている。
しかしながら、データ転送制御装置にPATAとSATAのバスブリッジ機能を持たせた場合におけるパワーダウンモードからのウェイクアップ・シーケンスについては、SATA規格には規定されていない。
なお特許文献1、2には、SATAとPATAのブリッジICが開示されている。しかしながらこの特許文献1、2は、ブリッジICを使用した回路基板などに関する発明であり、ブリッジICの具体的な構成に関する発明ではない。
また特許文献3には、SATAブリッジを内蔵するHDDが開示されている。しかしながら、この特許文献3のSATAブリッジは、SATA側にホストが接続されPATA側にデバイスが接続されるブリッジであり、PATA側にホストが接続されSATA側にデバイスが接続されるブリッジに関する発明ではない。また特許文献3は、ファームウェアによるプロトコル制御に特徴がある発明であり、回路構成に特徴がある発明ではない。
特開2005−346123号公報 特開2006−121621号公報 特開2006−18428号公報
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、パワーダウンモードによる低消費電力化とパワーダウンモード中における適正な処理を両立できるデータ転送制御装置及びこれを含む電子機器を提供することにある。
本発明は、パラレルATAとシリアルATAのバスブリッジ機能を有するデータ転送制御装置であって、パラレルATAバスに接続され、ホストとの間のインターフェースを行うパラレルATAインターフェースと、シリアルATAバスに接続され、シリアルATAのデバイスとの間のインターフェースを行うシリアルATAインターフェースと、転送シーケンス制御を行うシーケンスコントローラと、パワーマネージメント制御を行うパワーマネージメントコントローラとを含み、前記パワーマネージメントコントローラは、パワーダウンモード中に前記ホストによるソフトリセットビットへの書き込みが検出された場合に、ソフトリセットビットへの書き込みが検出されたことをソフトリセットキューに保持して、前記シリアルATAインターフェースに対してパワーダウンモードからのウェイクアップを要求し、ウェイクアップが完了した後に、ソフトリセットビットへの書き込みが検出されたことを前記シーケンスコントローラに通知するデータ転送制御装置に関係する。
本発明によれば、パワーダウンモード中にソフトリセットビットへの書き込みが行われると、書き込みが検出されたことが、直ぐにはシーケンスコントローラに通知されずに、ソフトリセットキューに一旦保持される。そしてシリアルATAインターフェースに対してウェイクアップが要求され、ウェイクアップの完了後に、ソフトリセットビットの書き込みが検出されたことがシーケンスコントローラに通知される。このようにすれば、ウェイクアップによりシーケンスコントローラが動作を開始した後の適正なタイミングで、ソフトリセットビットの書き込み検出がシーケンスコントローラに通知されるようになる。従って、パワーダウンモードによる低消費電力化とパワーダウンモード中における適正なソフトリセット処理を両立できる。
また本発明では、前記シリアルATAインターフェースは、前記ソフトリセットキューがクリアされた後に、ソフトリセットビットの状態を伝えるレジスタFISを前記デバイスに送信してもよい。
このようにすれば、ソフトリセットキューがクリアされ、シーケンスコントローラが適正に動作を開始した後に、シリアルATAインターフェースによりレジスタFISの生成及び送信が行われるようになり、適正なソフトリセット処理を実現できる。
また本発明では、前記パワーマネージメントコントローラは、パワーダウンモード中に前記ホストによるソフトリセットビットへの1の書き込みが検出された場合に、ソフトリセットビットへの1の書き込みが検出されたことを第1のソフトリセットキューに保持して、前記シリアルATAインターフェースに対してパワーダウンモードからのウェイクアップを要求し、ウェイクアップが完了した後に、ソフトリセットビットへの書き込みが検出されたことを前記シーケンスコントローラに通知し、前記ホストによるソフトリセットビットへの0の書き込みが検出された場合に、ソフトリセットビットへの0の書き込みが検出されたことを第2のソフトリセットキューに保持して、ソフトリセットビットへの書き込みが検出されたことを前記シーケンスコントローラに通知してもよい。
このようにすれば、ソフトリセットビットへの1の書き込み検出と0の書き込み検出とを、各々、第1,第2のソフトリセットキューに別々に保持できる。従って、ソフトリセットビットへの1の書き込みと0の書き込みが様々なタイミングでなされた場合にも、これに柔軟に対応できる。
また本発明では、前記シリアルATAインターフェースは、前記第1のソフトリセットキューがクリアされた後に、ソフトリセットビットが1に設定されたレジスタFISを前記デバイスに送信し、前記第2のソフトリセットキューがクリアされた後に、ソフトリセットビットが0に設定されたレジスタFISを前記デバイスに送信してもよい。
このようにすれば、ソフトリセットビットが1に設定されたレジスタFISとソフトリセットビットが0に設定されたレジスタFISがデバイスに送信され、デバイスの適正なソフトリセット処理を実現できる。
また本発明では、前記パワーマネージメントコントローラは、前記第1のソフトリセットキューがクリアされる前に、前記ホストによるソフトリセットビットへの0の書き込みが検出された場合に、ソフトリセットビットへの0の書き込みが検出されたことを前記第2のソフトリセットキューに保持し、ウェイクアップが完了し、前記第1のソフトリセットキューがクリアされた後に、前記第2のソフトリセットキューをクリアしてもよい。
このようにすれば、ウェイクアップの完了前にソフトリセットビットへの0の書き込みが行われた場合にも、適正なソフトリセットシーケンスを実行できる。
また本発明では、前記パワーマネージメントコントローラは、ソフトリセットビットの論理レベルを知らせるためのビットレベル通知信号を前記シーケンスコントローラに出力してもよい。
このようにすれば、ソフトリセットビットへの書き込み検出のみならず、ソフトリセットビットの論理レベルについてもシーケンスコントローラに伝えることができる。これによりシーケンスコントローラは、ソフトリセットビットの論理レベルに応じた適切な処理を実行できる。
また本発明では、前記パワーマネージメントコントローラは、前記第1のソフトリセットキューがクリアされた場合に、前記ビットレベル通知信号の論理レベルを1に設定し、前記第2のソフトリセットキューがクリアされた場合に、前記ビットレベル通知信号の論理レベルを0にしてもよい。
このようにすれば、第1、第2のソフトリセットキューがクリアされたことを条件に、ソフトリセットビットの論理レベルをシーケンスコントローラに伝えることができる。
また本発明は、パラレルATAとシリアルATAのバスブリッジ機能を有するデータ転送制御装置であって、パラレルATAバスに接続され、ホストとの間のインターフェースを行うパラレルATAインターフェースと、シリアルATAバスに接続され、シリアルATAのデバイスとの間のインターフェースを行うシリアルATAインターフェースと、転送シーケンス制御を行うシーケンスコントローラと、パワーマネージメント制御を行うパワーマネージメントコントローラとを含み、前記パワーマネージメントコントローラは、パワーダウンモード中に前記ホストによるコマンドの発行が検出された場合に、コマンド発行が検出されたことをコマンドキューに保持して、前記シリアルATAインターフェースに対してパワーダウンモードからのウェイクアップを要求し、ウェイクアップが完了した後に、コマンド発行が検出されたことを前記シーケンスコントローラに通知するデータ転送制御装置に関係する。
本発明によれば、パワーダウンモード中にコマンドが発行されると、コマンド発行が検出されたことが、直ぐにはシーケンスコントローラに通知されずに、コマンドキューに一旦保持される。そしてシリアルATAインターフェースに対してウェイクアップが要求され、ウェイクアップの完了後に、コマンド発行が検出されたことがシーケンスコントローラに通知される。このようにすれば、ウェイクアップによりシーケンスコントローラが動作を開始した後の適正なタイミングで、コマンド発行の検出がシーケンスコントローラに通知されるようになる。従って、パワーダウンモードによる低消費電力化とパワーダウンモード中における適正なコマンド処理を両立できる。
また本発明では、前記シリアルATAインターフェースは、前記コマンドキューがクリアされた後に、発行されたコマンドを含むレジスタFISを送信してもよい。
このようにすれば、コマンドキューがクリアされ、シーケンスコントローラが適正に動作を開始した後に、シリアルATAインターフェースによりレジスタFISの生成及び送信が行われるようになり、適正なコマンド処理を実現できる。
また本発明では、前記パラレルATAインターフェースは、パラレルATAとシリアルATAとのバスブリッジ用に擬似的に設けられたタスクファイル・レジスタを含み、前記シリアルATAインターフェースは、前記タスクファイル・レジスタとの間でレジスタ値が転送されるシャドウ・タスクファイル・レジスタを含んでもよい。
このような擬似的なタスクファイル・レジスタを設ければ、ホストは、シリアルATAのデバイスを、あたかもパラレルATAのデバイスのように扱ってデータのリードやライトをできるようになる。従って、例えばパラレルATAインターフェースを有するホストを、データ転送制御装置を介してシリアルATAのデバイスに接続することが可能になる。
また本発明では、前記ホスト、前記デバイスの間で転送されるデータのバッファリングを行うデータバッファを含み、前記ホスト、前記デバイスの間で転送されるデータについては、前記データバッファを介して転送され、前記タスクファイル・レジスタ、前記シャドウ・タスクファイル・レジスタの間で転送されるレジスタ値については、前記シーケンスコントローラを介して転送されてもよい。
このようにすれば、シーケンスコントローラは、タスクファイル・レジスタとシャドウ・タスクファイル・レジスタの間で転送されるレジスタ値のモニタ等を行いながら、レジスタ値の転送シーケンス制御や、データバッファを介したデータの転送シーケンス制御を行うことが可能になる。
また本発明では、前記シリアルATAインターフェースは、パワーダウンモード時に動作を停止しない第1のクロックと、パワーダウンモード時に動作を停止する第2のクロックを出力し、前記パラレルATAインターフェース及び前記パワーマネージメントコントローラは前記第1のクロックに基づいて動作し、前記シーケンスコントローラは前記第2のクロックに基づいて動作してもよい。
このようにすれば、パワーダウンモード時にシーケンスコントローラ等の動作を停止させることが可能になり、省電力化を図れる。またパワーダウンモード時にパラレルATAインターフェースやパワーマネージメントコントローラは動作するようになるため、ホストによるソフトリセットビットやコマンドの書き込みに対して適正に対処できると共に、パワーダウンモードからの適正なウェイクアップシーケンスを実現できる。
また本発明では、前記シリアルATAインターフェースは、基準クロックである前記第1のクロックに基づき物理層回路により生成された前記第2のクロックが供給され、前記第2のクロックに基づき動作するトランスポートコントローラと、前記第1、第2のクロックが供給され、前記第1、第2のクロックに基づき動作するリンクコントローラとを含み、前記リンクコントローラは、前記第2のクロックに基づき動作し、前記リンクコントローラのステート制御を行うリンクステート制御回路と、前記第1のクロックに基づき動作し、パワーマネージメントのステート制御を行うパワーマネージメント制御回路を含んでもよい。
本発明によれば、基準クロックである第1のクロックに基づき、物理層回路(クロック生成回路)により第2のクロックが生成される。そしてトランスポートコントローラは第2のクロックに基づき動作し、リンクコントローラは第1、第2のクロックに基づき動作する。そして、リンクコントローラのメインのステート制御については、第2のクロックに基づき動作するリンクステート制御回路により行われる。一方、パワーダウンモードへの移行等のためのパワーマネージメント制御については、第1のクロックに基づき動作するパワーマネージメント制御回路により行われる。従って、パワーダウンモードに移行して第2のクロックが停止することで、トランスポートコントローラやリンクコントローラの動作を停止させることが可能になり、低消費電力化を図れる。一方、パワーダウンモードに移行して第2のクロックが停止しても、基準クロックである第1のクロックは停止しない。従って、第1のクロックに基づき動作するパワーマネージメント制御回路により、適正なパワーマネージメント制御を実現できる。
また本発明では、前記パワーマネージメント制御回路は、パワーダウンモードからのウェイアップリクエストを受けた場合に、前記物理層回路のパワーダウンモードを解除し、その後に、インターフェースの初期化のための処理を行うインターフェース初期化制御回路のパワーダウンモードを解除してもよい。
このようにすれば、物理層回路のパワーダウンモードが解除された後に、インターフェース初期化制御回路のパワーダウンモードが解除されて、インターフェース初期化制御回路によるインターフェースの初期化処理が行われるようになり、適正なパワーマネージメント制御を実現できる。
また本発明では、前記パワーマネージメント制御回路は、前記インターフェース初期化制御回路のパワーダウンモードを解除した後に、前記リンクステート制御回路に対してパワーダウンモードの解除を通知してもよい。
このようにすれば、物理層回路、インターフェース初期化制御回路のパワーダウンモードが解除された後に、パワーマネージメント制御回路からリンクステート制御回路に対してステート制御を引き継ぐことが可能になる。
また本発明は、上記のいずれかに記載のデータ転送制御装置と、前記データ転送制御装置に接続される前記ホストと、前記データ転送制御装置に接続される前記デバイスとを含む電子機器に関係する。
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.データ転送制御装置の構成
図1に本実施形態のデータ転送制御装置の構成例を示す。このデータ転送制御装置はPATA(Parallel AT Attachment)とSATA(Serial AT Attachment)のバスブリッジ機能を有する。なお本実施形態のデータ転送制御装置は図1の構成に限定されず、その構成要素の一部(例えばデータバッファ)を省略したり、他の構成要素(例えば外部I/F回路、CPU)を追加するなどの種々の変形実施が可能である。
PATAI/F10(パラレルATAインターフェース)は、PATAバス(ATAバス、IDEバス)に接続され、ホスト2(ホストデバイス)との間のインターフェースを行う。具体的にはPATAI/F10は、ホスト2が有するホスト側のPATAI/FにPATAバスを介して接続される。そしてATAで規格化された後述する各種信号によりやり取りを行い、PATA(IDE)のデータ転送を実現する。またPATAI/F10は、データバッファ70を介したSATAI/F50との間のデータ転送制御も行う。
なおホスト2としては、例えばCPU、MPU、DSPなどのプロセッサや、専用制御ICや、これらのプロセッサ又は専用制御ICが実装されたホスト回路基板などが考えられる。またデバイス4としては、ハードディスクドライブ(HDD)、光ディスクドライブ(CD、DVD)、磁気ディスクドライブなどのSATAI/Fを備える各種デバイスが考えられる。
SATAI/F50(シリアルATAインターフェース)は、SATAバス(高速シリアルバス)に接続され、SATAのデバイス4との間のインターフェースを行う。具体的にはSATAI/F50は、デバイス4が有するデバイス側のSATAI/Fに接続され、小振幅の差動信号によりやり取りを行い、SATAのデータ転送を実現する。またSATAI/F50は、データバッファ70を介したPATAI/F10との間のデータ転送制御も行う。
シーケンスコントローラ30は転送のシーケンス制御を行う。具体的には、PATAとSATAのブリッジ機能を実現するために、PATAI/F10、SATAI/F50、データバッファ70の間のデータ転送のシーケンス制御を行ったり、レジスタ値の転送シーケンス制御を行う。
データバッファ70は、ホスト2(PATAI/F)、デバイス4(SATAI/F)の間で転送されるデータのバッファリングを行う。そしてPATA側とSATA側のクロック周波数の差を吸収するための緩衝用のバッファ(FIFO)として機能する。即ちPATA側のクロック周波数が例えば50MHz(或いは60MHz)で、SATA側のクロック周波数が例えば37.5MHzである場合に、データバッファ70を設けることでこのクロック周波数の差を吸収できる。このデータバッファ70は、例えば50MHz(第1の周波数)でデータが入出力されるPATAI/F10側の第1のポートと、例えば37.5MHz(第2の周波数)でデータが入出力されるSATAI/F50側の第2のポートとを有するデュアルポートのメモリ(RAM)などにより実現できる。
パワーマネージメントコントローラ20は、パワーマネージメント制御を行う。具体的には、パワーダウンモード中にタスクファイルレジスタ12のソフトリセットビット(以下、ソフトリセットを、適宜、SRSTと呼ぶ)への書き込みが検出された場合に、SRSTビットへの書き込みが検出されたことを(書き込み検出フラグを)、SRSTキューに保持する。またSATAI/F50に対してパワーダウンモードからのウェイクアップを要求する。そしてウェイクアップが完了すると、SRSTビットへの書き込みが検出されたことをシーケンスコントローラ30に通知する。具体的には書き込み検出の通知信号をアクティブにする。例えばパワーマネージメントコントローラ20は、SRSTビットへの1の書き込みが検出された場合には、1の書き込みが検出されたことをSRST1キュー(第1のソフトリセットキュー)に保持し、SATAI/F50に対してウェイクアップを要求する。そしてウェイクアップが完了すると、SRSTビットへの1の書き込みが検出されたことをシーケンスコントローラ30に通知する。またSRSTビットへの0の書き込みが検出された場合には、0の書き込みが検出されたことをSRST0キュー(第2のソフトリセットキュー)に保持する。そしてSRSTビットへの0の書き込みが検出されたことをシーケンスコントローラ30に通知する。
またパワーマネージメントコントローラ20は、ソフトリセットビットの論理レベルを知らせるためのビットレベル通知信号をシーケンスコントローラ30に出力する。具体的には例えばSRST1キューがクリアされた場合には、ビットレベル通知信号の論理レベルを1に設定し、SRST0キューがクリアされた場合には、ビットレベル通知信号の論理レベルを0にする。
またパワーマネージメントコントローラ20は、パワーダウンモード中にホスト2によるコマンドの発行が検出された場合に、コマンド発行が検出されたことを(コマンド発行検出フラグを)、コマンドキューに保持する。またSATAI/F50に対してパワーダウンモードからのウェイクアップを要求する。そしてウェイクアップが完了すると、コマンド発行が検出されたことをシーケンスコントローラ30に通知する。具体的にはコマンド検出の通知信号をアクティブにする。
SATAI/F50は、SRSTキューがクリアされた後に、ソフトリセットビットの状態(情報)を伝えるためのレジスタFISをデバイス4に送信する。具体的にはSRST1キューがクリアされた後に、SRSTビットが1に設定されたレジスタFISをデバイス4に送信する。またSRST0キューがクリアされた後に、SRSTビットが0に設定されたレジスタFISをデバイス4に送信する。またSATAI/F50は、コマンドキューがクリアされた場合に、発行されたコマンドを含むレジスタFISを送信する。
PATAI/F10は、タスクファイル・レジスタ(以下、適宜、TFRと呼ぶ)12を含む。ここでTFR12は、PATAとSATAのバスブリッジ用に擬似的(仮想的)に設けられたレジスタである。このTFR12を設けることで、ホスト2は、SATAのデバイス4を、あたかもPATAのデバイスのように扱ってデータのリードやライトを行うことが可能になる。即ちホスト2は、既存のPATA用のファームウェアやソフトウェアを使用して、SATAのデバイス4を制御できるようになる。
SATAI/F50は、シャドウ・タスクファイル・レジスタ(以下、適宜、SFRと呼ぶ)52を含む。このSFR52は、TFR12との間でレジスタ値が転送されるレジスタであり、SATAで規格化されているレジスタである。
そしてシーケンスコントローラ30は、コマンド発行検出等の通知をパワーマネージメントコントローラ20から受けると、TFR12からSFR52へのレジスタ値の転送を行う。
例えば図2(A)に従来のPATA(IDE)のシステム構成例を示す。図2(A)では、ホスト400のCPU410は、PATAバスを介してデバイス側のタスクファイル・レジスタ432にアクセスする。即ちタスクファイル・レジスタ432は、CPU410のアドレス空間にマッピングされる。そしてCPU410で動作するソフトウェアが、デバイス側のタスクファイル・レジスタ432に直接にリード・ライトを行い、HDD(ハードディスクドライブ)450等を有するデバイス430を制御する。このタスクファイル・レジスタ432はデバイス側のファームウェアによってもアクセスされる。
図2(B)に従来のSATAのシステム構成例を示す。図2(B)では、ホスト400はCPU410とSATAホストコントローラ420を含み、SATAホストコントローラ420は、シャドウ・タスクファイル・レジスタ422や物理層回路(PHY)424等を含む。またデバイス430は、SATAデバイスコントローラ440とHDD450を含み、SATAデバイスコントローラ440はタスクファイル・レジスタ442や物理層回路(PHY)444等を含む。そしてSATAホストコントローラ420の物理層回路424とSATAデバイスコントローラ440の物理層回路444との間で、SATAバスを介した小振幅の差動信号によるデータ転送が行われる。
図2(B)において、ホスト側のシャドウ・タスクファイル・レジスタ422は、CPU410上で動作するソフトウェアによりアクセスされ、デバイス側のタスクファイル・レジスタ442は、デバイス側のファームウェア(HDD)によりアクセスされる。
このSATAでは、従来のPATA(IDE)との間でソフトウェアレベルでの互換性が維持されており、タスクファイル・レジスタが2つ存在することが特徴になっている。即ちホスト(HBA)側のシャドウ・タスクファイル・レジスタ422とデバイス側の本来のタスクファイル・レジスタ442である。SATAでは、これらのレジスタ422と442の間で、SATAバスを介してレジスタ値を転送する通信制御を行うことで、図2(A)の従来のPATA(IDE)とのソフトウェアレベルでの互換性を維持している。
そして本実施形態のデータ転送制御装置では、図1のシャドウ・タスクファイル・レジスタ52が、図2(B)のホスト側のシャドウ・タスクファイル・レジスタ422に相当し、図1のデバイス4が有するタスクファイル・レジスタ5が、図2(B)のデバイス側のタスクファイル・レジスタ442に相当する。
一方、図1においてPATAI/F10に設けられたタスクファイル・レジスタ(TFR)12はSATAで規格化されるレジスタではなく、PATAとSATAのブリッジ用に設けられた擬似的(仮想的)なレジスタである。ホスト2(CPU上で動作するソフトウェア)は、レジスタ12をPATAのタスクファイル・レジスタとして認識してアクセスし、レジスタ値を書き込んだり、レジスタ値を読み出す。即ち図2(A)のPATA(IDE)のタスクファイル・レジスタ432のように認識して、レジスタ値の書き込み、読み出しを行う。するとシーケンスコントローラ30が、タスクファイル・レジスタ12のレジスタ値をシャドウ・タスクファイル・レジスタ52に転送したり、シャドウ・タスクファイル・レジスタ52のレジスタ値をタスクファイル・レジスタ12に転送するなどの処理を行う。
このようにすれば、ホスト2が、PATAのタスクファイル・レジスタ12にレジスタ値を書き込むと、そのレジスタ値がSATAのシャドウ・タスクファイル・レジスタ52に転送されて書き込まれ、SATAバスを介してFISによりデバイス4に転送されるようになる。またデバイス4からのFISによりシャドウ・タスクファイル・レジスタ52に書き込まれたレジスタ値が、タスクファイル・レジスタ12に転送されてホスト2に読み出されるようになる。従ってホスト2は、SATAのデバイス4を、あたかもPATAのデバイスのように扱ってデータのリードやライトを行うことが可能になり、PATAとSATAのブリッジ機能を効率良く実現できる。
このように図1の構成によれば、ホスト2がPATAI/Fしか備えていない場合にも、SATAI/Fを有するデバイス4をデータ転送制御装置を介してホスト2に接続できる。従って、ホスト2のファームウェア、ソフトウェアとして、既存のPATA(IDE)用のファームウェア、ソフトウェアを使用できる。即ちホスト2側は、そのハードウェアやソフトウェアの構成を変更しなくても、SATAに準拠したデバイス4を接続することが可能になる。従って、新たな開発期間や開発コストの発生を最小限に抑えることが可能になり、ホスト2及びデバイス4を備えた電子機器の開発期間の短縮化や低コスト化を図れる。またデバイス4として、市場供給量が多い大容量のHDDをホスト2に接続できるようになり、電子機器の内蔵HDDの大容量化を図れる。
またホスト2が搭載される回路基板とデバイス4が搭載される回路基板の間を、シリアルバスであるSATAバスで接続できるため、回路基板間の配線本数を減らすことができ、電子機器のコンパクト化を図れる。
2.自動ウェイクアップ
図3にSRST(ソフトリセット、ソフトウェアリセット)処理のシーケンス図を示す。ホスト2は、SRSTをかけてデバイス4の初期化を行う場合には、図3のH1に示すように、TFR12のSRSTビットに1をセットする。具体的にはTFR12のデバイスコントロールレジスタ(Device Control)のSRSTビットを1にセットする。
このようにSRSTビットが1にセットされると、図3のH2に示すようにシーケンスコントローラ30は、SRSTビットが1にセットされたレジスタ値をTFR12からSFR52に転送する。
するとH3に示すようにSATAI/F50は、SRSTビットが1にセットされたレジスタFIS(Host to Device)をデバイス4に送信する。即ちレジスタFISのコマンドレジスタのSRSTビットを1にセットして、デバイス4に送信する。デバイス4は、SRSTビットが1にセットされたレジスタFISを受信すると、SRSTによる初期化シーケンス処理の準備に入る。
次にホスト2は、H4に示すようにTFR12のSRSTビットをクリアして、SRSTビットを1から0にトグルする。このようにSRSTビットが0にトグルされてクリアされると、H5に示すようにシーケンスコントローラ30は、SRSTビットが0にクリアされたレジスタ値をTFR12からSFR52に転送する。
TFR12からSFR52へのレジスタ値の転送が行われると、H6に示すようにSATAI/F50は、SRSTビットが0にクリアされたレジスタFIS(Host to Device)をデバイス4に送信する。そしてデバイス4は、SRSTビットが0にクリアされたレジスタFISを受信すると、SRSTによる初期化シーケンス処理を開始する。
データ転送制御装置は、このようなホスト2からのSRSTの要求を、自身がどのステートにいる場合でも受け付ける必要がある。またホスト2がコマンドを発行した場合にも、そのコマンドを受け付ける必要がある。一方、SATAでは、パーシャルやスランバというパワーダウンモードが用意されており、このようなパワーダウンモード中に、ホスト2がSRSTを要求したり、コマンドを発行する場合がある。
そこで本実施形態では、パワーダウンモード中にホスト2からSRSTの要求があった場合やホスト2がコマンドが発行した場合に、自動的にSATAのウェイクアップシーケンスを実行する。そしてウェイクアップの完了後にSRSTの状態を知らせるレジスタFISや、発行されたコマンドを知らせるレジスタFISをデバイス4に転送する。
図4にデータ転送制御装置の各ブロックの詳細な構成及びその接続関係を示す。IDEのホスト2により、PATAI/F10のTFR12に対して書き込みが行われることで、データ転送制御装置のバスブリッジ動作が開始する。そしてパワーダウンモード中においても、PATAI/F10に供給されるクロックCLK1(第1のクロック、非スリープクロック)は停止しない。こうすることで、パワーダウンモード中においても、ホスト2によるTFR12へのSRSTビットやコマンドの書き込みが可能になる。
TFR(タスクファイル・レジスタ)12はコマンドレジスタ16とコントロールレジスタ18を含む。このコマンドレジスタ16にホスト2からコマンドが書き込まれることで、IDEのデバイス4の動作が制御される。またコントロールレジスタ18には、SRSTと呼ばれるビットがあり、このSRSTビットに1を書き込んだ後に0を書き込むことで、デバイス4がリセットされる。
パワーマネージメントコントローラ20は、通常動作時にはPATAI/F10のTFR12へのコマンドやSRSTビットへの書き込みを、シーケンスコントローラ30(ブリッジコントローラ)にそのまま渡す。一方、パワーダウンモード中には、コマンドやSRSTビットの書き込みを、一旦、パワーマネージメントコントローラ20中に保持(キュー)する。具体的には、パワーダウンモード中にコマンドが書き込まれた場合には、その書き込みをコマンドキュー22に保持する。またパワーダウンモード中にSRST=1が書き込まれた場合には、その書き込みをSRST1キュー24(第1のソフトリセットキュー)に保持し、SRST=0が書き込まれた場合には、その書き込みをSRST0キュー26(第2のソフトリセットキュー)に保持する。そしてSATAI/F50に対してウェイクアップを指示する。パワーマネージメントコントローラ20は、ウェイクアップが完了して、クロックCLK1のみならずクロックCLK2(第2のクロック。スリープクロック)も有効になると、キューされていたコマンドやSRSTビットの状態をシーケンスコントローラ30に渡す。なおパワーダウンモード中においても、パワーマネージメントコントローラ20に供給されるクロックCLK1は停止しない。こうすることで、パワーダウンモード中においても適正なパワーマネージメントシーケンスを実行できる。
コマンドキュー22は、パワーダウンモード中にホスト2によりTFR12のコマンドレジスタ16にコマンドが書き込まれると、1にセットされる。そしてコマンド発行が完了すると0にクリアされる。コマンドキュー22がクリアされた場合に、SATAI/F50は、そのコマンドを伝えるレジスタFISをデバイス4に送信する。
SRST1キュー24は、パワーダウンモード中にホスト2によりTFR12のコントロールレジスタ18のSRSTビットに1が書き込まれると、1にセットされる。SRST1キュー24がクリアされた場合に、SATAI/F50は、SRST=1を知らせるレジスタFISをデバイス4に送信する。同様にSRST0キュー26は、パワーダウンモード中にコントロールレジスタ18のSRSTビットに0が書き込まれると、1にセットされる。SRST0キュー26がクリアされた場合に、SATAI/F50は、SRST=0を知らせるレジスタFISをデバイス4に送信する。
なおコマンドキュー22,SRTS1キュー24,SRST0キュー26は、SRST書き込み検出フラグやコマンド発行検出フラグを記憶するレジスタやメモリなどにより実現できる。
シーケンスコントローラ30は、通常動作時は、TFR12に書き込まれたコマンド等のレジスタ値を、SATAI/F50のSFR52に転送(コピー)したり、デバイス4から返信されてきたコマンドの実行結果(ステータス)をSATAI/F50から受け取って、TFR12に反映させる動作を行う。なおパワーダウンモード中は、シーケンスコントローラ30に供給されるクロックCLK2は停止しており、これにより低消費電力化を図れる。
SATAI/F50はSATAのホスト動作を行う。このSATAI/F50はSFR52というTFR12に対応するレジスタを持つ。このSFR52にコマンド等のレジスタ値が書き込まれると、SATAI/F50は、レジスタFISと呼ばれるSATAパケットを生成し、SATAのデバイス4に送信する。デバイス4は、コマンドを含むレジスタFISを受信すると、指定されたコマンドに従った動作を行い、その結果(ステータス)をレジスタFISとしてSATAI/F50に送信する。SATAI/F50は、受信したレジスタFISに含まれるステータス値をSFR52に反映させることで、コマンドの完了となる。
SATAI/F50は、SATA規格で定義されるパワーマネージメントの制御も行う。具体的には外部モジュールからSATAのパワーダウンモード移行を指示されると、SATAI/F50はSATA規格にしたがいパーシャルやスランバなどのパワーダウンモードに移行する。
SATAI/F50が含むクロック生成回路240(PLL等)は、PATA−SATAブリッジで使用されるクロックを生成する。パーシャルやスランバのパワーダウンモードでは、非スリープクロックCLK1を除く全てのクロックが停止する。そして非スリープクロックCLK1は、電源がオンしている間は常に動作する。この非スリープクロックCLK1は、PATAI/F10やパワーマネージメントコントローラ20に供給されるため、これらのブロックはパワーダウンモード中においても動作することになる。
なお図4において、信号GetCommandは、ホスト2によるコマンド発行(書き込み)が検出されたことを、PATAI/F10がパワーマネージメントコントローラ20に通知するための信号である。信号GetCommandSCは、コマンド発行が検出されたことを、パワーマネージメントコントローラ20がシーケンスコントローラ30に通知するための信号である。
信号DetSRSTは、ホスト2によるSRSTビットへの1や0の書き込みが検出されたことを、PATAI/F10がパワーマネージメントコントローラ20に通知するための信号である。信号DetSRSTSCは、SRSTビットへの1や0の書き込みが検出されたことを、パワーマネージメントコントローラ20がシーケンスコントローラ30に通知するための信号である。
信号SRSTPAは、SRSTビットの論理レベル(1、0)を、PATAI/F10がパワーマネージメントコントローラ20に知らせるためのビットレベル通信信号である。信号SRSTSCは、SRSTビットの論理レベルを、パワーマネージメントコントローラ20がシーケンスコントローラ30に知らせるためのビットレベル通知信号である。例えばSRST1キュー24がクリアされると、信号SRSTSCの論理レベルが1に設定され、SRST0キュー26がクリアされると、信号SRSTSCの論理レベルが0に設定される。これによりシーケンスコントローラ30は、信号DetSRSTSCがアクティブになったときに、SRSTビットの論理レベルを知ることができる。
信号InPARTIAL、InSLUMBERは、各々、SATAI/F50の物理層回路がパーシャル状態、スランバ状態であることを、SATAI/F50がパワーマネージメントコントローラ20に知らせるための信号である。信号WakeUpReqは、パワーダウンモードからのウェイクアップを、パワーマネージメントコントローラ20がSATAI/F50に指示するための信号である。信号SCRDETOKは、SATAインターフェースの接続が確立したことを、SATAI/F50がパワーマネージメントコントローラ20に知らせるための信号である。
3.SRST書き込み
次にSRST書き込み時の本実施形態の動作の詳細について説明する。図5(A)〜図6(C)はパワーダウンモード中のSRST処理の説明図であり、図7、図8はその時の信号波形例である。
図5(A)に示すようにパワーダウンモード中にホスト2がTFR12のSRSTビットに1を書き込むと、図7のA1に示すようにPATAI/F10からの検出信号DetSRSTがHレベル(アクティブ)になり、SRSTビットの書き込みが検出されたことがパワーマネージメントコントローラ20に通知される。またA2に示すようにPATAI/F10からのビットレベル通知信号SRSTPAがHレベルになり、SRSTビットが1になったことが通知される。
するとパワーマネージメントコントローラ20は、図7のA3に示すようにSRST1キュー24に1の書き込みフラグを立てて、保持する。また信号WakeUpReqをHレベルにして、SATAI/F50に対してウェイクアップを要求し、図7のA4に示すようにウェイクアップが完了するのを待つ。
図5(B)に示すように、SATA側のウェイクアップが完了し、図7のA5に示すように信号SCRDETOKがHレベルになり、SATAインターフェースの接続が確立すると、パワーマネージメントコントローラ20はA6に示すようにSRST1キュー24をクリアする。そしてウェイクアップ完了によりクロックCLK2が供給されて動作を再開したシーケンスコントローラ30に対して、図7のA7に示すようにHレベルの検出信号DetSRSTSCを出力して、SRSTビットの書き込みが検出されたことを通知する。またA8に示すように、ビットレベル通知信号SRSTSCをHレベルにして、SRSTビットが1になったことをシーケンスコントローラ30に通知する。
するとSFR52のSRSTビットに1が書き込まれ、図5(C)に示すように、SATAI/F50はSRSTビットが1に設定されたレジスタFISをデバイス4に送信する。
次に図6(A)に示すようにホスト2がTFR12のSRSTビットに0を書き込むと、図7のA9に示すように検出信号DetSRSTがHレベルになり、SRSTビットの書き込みが検出されたことがパワーマネージメントコントローラ20に通知される。またA10に示すように通知信号SRSTPAがLレベルになり、SRSTビットが0になったことが通知される。するとパワーマネージメントコントローラ20は、A11に示すようにSRST0キュー26に1の書き込みフラグを立てて、保持する。
次に図6(B)、図7のA12に示すようにパワーマネージメントコントローラ20は、SRST1キュー24をクリアする。そしてA13に示すようにHレベルの検出信号DetSRSTSCを出力して、SRSTビットの書き込みが検出されたことをシーケンスコントローラ30に通知する。またA14に示すように、通知信号SRSTSCをLレベルにして、SRSTビットが0になったことをシーケンスコントローラ30に通知する。
するとSFR52のSRSTビットに0が書き込まれ、図6(C)に示すように、SATAI/F50はSRSTビットが0に設定されたレジスタFISをデバイス4に送信する。これによりデバイス4の初期化シーケンスが行われ、ソフトリセットが実現される。
以上のように本実施形態によれば、パワーダウンモード中にホスト2によりSRSTビットの書き込みが行われた場合に、自動ウェイクアップシーケンスが実行される。そしてウェイクアップによりシーケンスコントローラ30が動作を開始した後の適正なタイミングで、ホスト2によるSRSTビットへの1や0の書き込みがシーケンスコントローラ30に対して伝えられる。そしてSRSTビットの状態を知らせるレジスタFISがデバイス4に送信される。従って本実施形態によれば、パワーダウンモードによる低消費電力化と、パワーダウンモード中におけるSRSTの適正な書き込み処理とを両立できる。
ところで図7は、SRST=1の書き込みが行われ、ウェイクアップが完了した後に、SRST=0の書き込みが行われた場合の信号波形例である。これに対して図8は、ウェイクアップの完了前にSRST=0の書き込みが行われた場合の信号波形例である。即ちホスト2によるSRSTビットの書き込みタイミングはホスト2側の事情に依存し、任意である。またウェイクアップの完了に要する期間も変動する。従って、図7のようなケースのみならず図8のようなケースが起こる。
図8のようなケースでも、本実施形態ではSRST1キュー24のみならずSRST0キュー26を用意しているため、これに対処できる。即ち図8では、SRST1キュー24がクリアされる前に、B1に示すようにホスト2によるSRSTビットへの0の書き込みが検出されている。この場合に本実施形態ではB2に示すようにSRSTビットへの0の書き込みが検出されたことをSRST0キュー26に保持する。即ちSRST=0の書き込み検出フラグを立てる。そしてB3に示すようにウェイクアップが完了して信号SCRDETOKがHレベルになり、B4に示すようにSRST1キュー24がクリアされた後に、B5に示すようにSRST0キュー26をクリアする。具体的にはSRST1キュー24がクリアされ、SRST=1のレジスタFISが送信された後に、SRST0キュー26をクリアする。
このようにすれば、図8のようにウェイクアップの完了前にSRST=0の書き込みが行われた場合にも、適正なSRSTシーケンスを実行できる。即ち、ホスト2側の事情によるSRSTビットの書き込みタイミングの変動にも対応でき、より柔軟なシステムを提供できる。
4.コマンド発行
次にコマンド発行時の本実施形態の動作の詳細について図9(A)〜図9(C)を用いて説明する。
図9(A)に示すように、パワーダウンモード中にホスト2がコマンドを発行してTFR12にコマンドを書き込むと、PATAI/F10からの検出信号GetCommandがHレベル(アクティブ)になり、コマンドの書き込みが検出されたことがパワーマネージメントコントローラ20に通知される。
するとパワーマネージメントコントローラ20は、コマンドキュー22に1の書き込みフラグを立てて、保持する。また信号WakeUpReqをHレベルにして、SATAI/F50に対してウェイクアップを要求し、ウェイクアップが完了するのを待つ。
図9(B)に示すように、SATA側のウェイクアップが完了し、信号SCRDETOKがHレベルになり、SATAインターフェースの接続が確立すると、パワーマネージメントコントローラ20はコマンドキュー22をクリアする。そしてウェイクアップ完了によりクロックCLK2が供給されて動作を再開したシーケンスコントローラ30に対して、Hレベルの検出信号GetCommandSCを出力して、コマンドの書き込みが検出されたことを通知する。
すると図9(C)に示すようにシーケンスコントローラ30は、TFR12のレジスタ値をSFR52に転送(コピー)する処理を行う。これによりホスト2により発行されたコマンドがSFR52に書き込まれる。そしてSATAI/F50は、発行されたコマンドを含むレジスタFISをデバイス4に送信する。
以上のように本実施形態によれば、パワーダウンモード中にホスト2によりコマンドが発行された場合に、自動ウェイクアップシーケンスが実行される。そしてウェイクアップによりシーケンスコントローラ30が動作を開始した後の適正なタイミングで、コマンド発行が検出されたことがシーケンスコントローラ30に対して伝えられ、そのコマンドを含むレジスタFISがデバイス4に送信される。従って本実施形態によれば、パワーダウンモードによる低消費電力化と、パワーダウンモード中における適正なコマンド処理とを両立できる。
なお図10に本実施形態の自動ウェイクアップのシーケンスフローのステート遷移図を示す。パワーダウンモードステート(S1)においてコマンドキューが1になると、ウェイクアップステート(S2)に移行し、SATAI/F50へウェイクアップ要求信号が出力される。するとウェイクアップ完了待ちステート(S3)に移行し、SATAI/F50がSATAのウェイクアップシーケンスを実行する。そしてSATAバスの初期化の完了を待ち、クロックの動作が再開する。
SATAI/F50から信号SCRDETOKが出力されると、コマンド送信ステート(S4)に移行し、コマンドキューが0にクリアされる。そしてシーケンスコントローラ30に対して、コマンドが発行されたことを通知する(GetCommandSCをアサートする)。
またパワーダウンモードステート(S1)において、SRST1キューが1になると、ウェイクアップステート(S5)に移行し、SATAI/F50へウェイクアップ要求信号が出力される。するとウェイクアップ完了待ちステート(S6)に移行し、SATAI/F50がSATAのウェイクアップシーケンスを実行する。そしてSATAバスの初期化の完了を待ち、クロックの動作が再開する。
SATAI/F50から信号SCRDETOKが出力されると、SRST1送信ステート(S7)に移行し、SRST1キューが0にクリアされる。するとシーケンスコントローラ30に対して、SRST1が発行されたことを通知し、SRST0キュー待ちのステート(S8)に移行する。そしてSRST0キューが1になるのを待ち、SRST0キューが1になると、SRST0送信ステート(S9)に移行する。するとSRST0キューをクリアし、シーケンスコントローラ30に対して、SRST0が発行されたことを通知する。
5.詳細な構成例
図11にデータ転送制御装置の詳細な構成例を示す。PATAI/F10はTFR12、転送コントローラ14を含む。
転送コントローラ14は、PATA用の信号XCS〜XPDIAGを用いてPATA(IDE)のインターフェースを実現したり、データ転送用の制御信号を用いて、データバッファ70との間のデータ転送を制御する。
データバッファ70は、メモリコントローラ72、FIFOメモリ(FIFORAM)74を含む。メモリコントローラ72は、FIFOメモリ74のデータの書き込み制御や読み出し制御を行う。またPATAI/F10やSATAI/F50との間で、例えばREQ信号やACK信号などの制御信号を用いたデータ転送制御を行う。
SATAI/F50は、SFR52、トランスポートコントローラ110、リンクコントローラ150、物理層回路200を含む。
トランスポートコントローラ110、リンクコントローラ150、物理層回路200は、各々、SATA規格のトランスポート層、リンク層、物理層の処理を行う回路である。
6.PATAI/F
次に、PATAI/F10のデータ転送処理について、図11の構成及び図12(A)〜図13(B)の信号波形を用いて説明する。
XCS[1:0]は、PATAの各レジスタにアクセスするために使用するチップセレクト信号である。DA[2:0]は、データ又はデータポートにアクセスするためのアドレス信号である。DMARQ、DMACKは、DMA転送に使用される信号である。データ転送の準備が整った時にデバイス側がDMARQをアクティブ(アサート)にし、これに応答して、ホスト側がDMACKをアクティブにする。
XDIOWは、レジスタ又はデータポートの書き込み時に使用するライト信号である。XDIORは、レジスタ又はデータポートの読み出し時に使用するリード信号である。IORDYは、デバイス側のデータ転送の準備が整っていない時のウェイト信号等に使用される。
INTRQは、デバイス側が、ホスト側に対して割り込みを要求するために使用される信号である。このINTRQがアクティブになった後、ホスト側がデバイス側のTFR12のステータスレジスタの内容を読むと、所定時間後にデバイス側はINTRQを非アクティブ(ネゲート)にする。このINTRQを用いることで、デバイス側は、コマンド処理の終了をホスト側に通知できる。
図12(A)、図12(B)は、PIO(Programmed I/O)リード、PIOライトの信号波形例である。PATAのTFR12のステータスレジスタのリードは図6(A)のPIOリードにより行い、コマンドレジスタへのライトは図6(B)のPIOライトにより行う。例えばホスト2によるATAコマンドの発行は、PIOライトにより実現できる。
図13(A)、図13(B)は、DMAリード、DMAライトの信号波形例である。データ転送の準備ができると、デバイス側(データ転送制御装置)が、DMARQをアクティブにする。そして、それを受けて、ホスト側が、DMACKをアクティブにして、DMA転送を開始する。その後、XDIOR(リード時)又はXDIOW(ライト時)を使用して、データDD[15:0]のDMA転送を行う。
7.SATAI/F
次にSATAI/F50のデータ転送処理について説明する。図14はSATAの送信側のデータ転送処理の流れを示し、図15は受信側のデータ転送処理の流れを示している。
図14に示すように送信側のトランスポートコントローラ(トランスポート層)では、シャドウ・タスクファイル・レジスタに書き込まれたコマンドやデータポートに入力されたデータにより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などのプリミティブが付加される。
送信側の物理層回路では、リンクコントローラからのパラレルデータがシリアルデータに変換され、小振幅の差動信号としてSATAバスに送信される。
図15に示すように受信側の物理層回路では、SATAバスを介して受信したシリアルデータがパラレルデータに変換される。
受信側のリンクコントローラでは、FIS及びCRCに付加されたプリミティブに対するデコードが行われる。またFIS及びCRCに対する8b/10bのデコードが行われる。即ち10ビットの伝送キャラクタが8ビットのデータに変換される。次に、スクランブルされたFIS及びCRCとスクランブルデータとの排他的論理和をとるデスクランブル処理が行われる。そしてFISの最後尾に付加されたCRCがチェックされる。
受信側のトランスポートコントローラでは、FISのコマンドがシャドウ・タスクファイル・レジスタに書き込まれ、ステータスや割り込みが出力されると共に、データがデータポートを介して出力される。
図16にSATAI/F50の構成例を示す。なおSATAI/F50の構成は図16に限定されず、その構成要素の一部を削除したり、他の構成要素を追加するなどの種々の変形実施が可能である。例えば物理層回路200を設けない構成としてもよい。
SATAでは、データは32ビット単位で処理される。この32ビットのデータが、リンクコントローラ150により8b/10bでエンコードされて40ビットのデータになり、物理層回路200に送られる。物理層回路200は、この40ビットのデータをシリアル化してSATAのケーブルに送信する。受信も逆の手順で、シリアルデータが物理層回路200で40ビットのデータに変換され、リンクコントローラ150で32ビットのデータに変換され、トランスポートコントローラ110に送られる。
トランスポートコントローラ110はトランスポート層の制御を行うものである。具体的にはトランスポートコントローラ110は、上位層(アプリケーション層)からFISの送信要求が来た時に、以下の処理を行う。
まずトランスポートコントローラ110は、FISタイプの要件に基づいてFISの内容を収集する。また送信する情報をFISのタイプ毎に定義フォーマットに配置する。次にリンクコントローラ150に対して送信要求を通知する。これによりリンクコントローラ150はX_RDYの送信処理を行う。そして相手ノードからのR_RDYを受信し、リンクコントローラ150から受信のアクノリッジが来ると、トランスポートコントローラ110はFISをリンクコントローラ150に転送する。そして送信FIFO120のフロー管理を行い、必要なフロー制御をリンクコントローラ150に通知する。その後、リンクコントローラ150から送信結果を受信すると、必要に応じて上位層に送信結果を通知する。
トランスポートコントローラ110は、リンクコントローラ150からFISを受信した時には、以下の処理を行う。
トランスポートコントローラ110は、リンクコントローラ150からFISを受信すると、受信したFISのタイプを判別する。そしてFISのタイプに応じた適切なレジスタやFIFOにデータを転送する。そして受信FIFO122のフロー管理を行い、必要なフロー制御をリンクコントローラ150に通知する。その後、リンクコントローラ150及び上位層(アプリケーション層)に受信結果を通知する。
リンクコントローラ150はリンク層の制御を行うものである。具体的にはリンクコントローラ150は、送信時には以下の処理を行う。
まずリンクコントローラ150はトランスポートコントローラ110からのデータ(FIS)を受け取る。そしてFISのCRCを生成し、FISの最後尾に付加する。次にデータのスクランブルを行い、その後、8b/10bのエンコードを行う。そしてSATA通信のプロトコルにしたがったプリミティブ、FISの送信を行う。そして送信結果をトランスポートコントローラ110に通知する。
リンクコントローラ150は受信時には以下の処理を行う。即ちリンクコントローラ150は物理層回路200から、8b/10bエンコードキャラクタを受信する。そして8b/10bエンコードキャラクタをデコードし、デコードしたプリミティブを処理部等に通知する。次にデコードしたFISのデスクランブル処理を行い、CRCをチェックする。そしてトランスポートコントローラ110にデータを渡す。またデコード結果やCRCのチェック結果をトランスポートコントローラ110に通知する。
物理層回路200は物理層を実現するアナログフロントエンド回路である。この物理層回路200は、シリアルデータ(シリアルストリーム)の送受信や、シリアルデータからパラレルデータへの変換や、パラレルデータからシリアルデータへの変換を行う。また8b/10bのK28.5キャラクタの検出や、OOB(Out Of Band)信号の検出と送信を行う。またデバイスステータス(デバイスの有無、転送状態、パワー状態)の提供や、通信制御用のインターフェース(転送レート制御、ループバック)の提供を行う。またオプションでパワーマネージメントも行う。
物理層回路(PHY)200はトランスミッタ(ドライバ)210、レシーバ220、OOB検出回路230、クロック生成回路240を含む。
トランスミッタ210は、差動信号線(差動信号線ペア)TX+/−を介してシリアルデータ(パケット)の送信を行い、レシーバ220は、差動信号線(差動信号線ペア)RX+/−を介してシリアルデータ(パケット)の受信を行う。TX+/−、RX+/−のSATAバス(広義にはシリアルバス)では、振幅電圧+/−250mVのNRZ差動信号によるシリアルストリーム転送が行われる。
OOB検出回路230はOOB信号の検出処理を行う。このOOB信号は、SATAインターフェースのリセット/初期化、通信の確立や、スピード・ネゴシエーションをつかさどる信号である。
クロック生成回路240はPLLなどにより実現される。具体的にはクロック生成回路240は基準クロック(システムクロック)であるCLK1(第1のクロック)を受ける。このCLK1は、例えば外部の発振器等から供給され、その周波数は例えば25MHzとなっている。
そしてクロック生成回路240は、原振であるクロックCLK1に基づいて、CLK1に同期したクロックCLK2(第2のクロック)を生成する。このCLK2の周波数は例えば37.5MHzとなっている。具体的にはクロック生成回路240は、CLK1に基づき100MHzのクロックを生成して、OOB検出回路230に供給すると共に、1.5GHzのクロックを生成してトランスミッタ210に供給する。トランスミッタ(ドライバ)210は、この1.5GHzのクロック(TXクロック)に基づいて高速シリアルストリームの送信を行う。またこの1.5GHzのクロックが分周されて37.5MHzのクロックCLK2が生成されて、トランスポートコントローラ110、リンクコントローラ150に供給される。トランスポートコントローラ110は、このCLK2(第2のクロック)に基づき動作する。またリンクコントローラ150は、CLK1、CLK2(第1、第2のクロック)に基づき動作する。なおトランスポートコントローラ110の一部の回路をCLK1に基づき動作させてもよい。
リンクコントローラ150は、リンクステート制御回路160、パワーマネージメント制御回路170、インターフェース初期化制御回路180、フレーム生成回路190、フレームデコード回路192を含む。
リンクステート制御回路(メインステート制御回路)160は、物理層回路200で生成されたクロックCLK2に基づき動作し、リンクコントローラ150のメインのステート制御を行う。即ちリンクコントローラ150が行う各処理のステート制御を行うメインのステートマシーンとして動作する。例えばリセットステート、アイドルステート、送信ステート、受信ステート等のステート間の遷移処理等を行う。
パワーマネージメント制御回路(パワーステート制御回路)170は、パワーダウンモード時にも停止しないクロックCLK1に基づき動作し、パワーマネージメント(パワーダウンモード)のステート制御を行う。即ちパワーダウンモード時にリンクコントローラ150が行う各パワーマネージメント処理のステート制御を行うステートマシーンとして動作する。例えばノーマルステート、パワーダウンステート、ウェイクアップステートなどのステート間の遷移処理等を行う。
インターフェース初期化制御回路180(物理層初期化制御回路)は、インターフェース(物理層)の初期化のための各処理を行う。即ちフレーム生成回路190に対して初期化制御信号を出力し、COMRESET(COMINIT)やCOMWAKEの発行や、キャリブレーションや、スピード・ネゴシエーションのための処理などを行う。
フレーム生成回路190は、トランスポートコントローラ110からの送信データ(FIS)や、リンクステート制御回路160からの送信制御信号などに基づいてフレームの生成処理を行う。具体的には、トランスポートコントローラ110からのFISのCRCを演算したり、スクランブル処理を行ったり、8b/10bエンコード処理を行ったり、プリミティブを生成して付加する処理などを行う。
フレームデコード回路192は、受信したフレームの解析(分解)処理を行い、受信解析信号(パワーダウンリクエスト信号等)をリンクステート制御回路160に出力する。具体的には、FISに付加されたプリミティブを解析したり、8b/10bのデコード処理を行ったり、デスクランブル処理を行ったり、CRCを演算してチェックする処理などを行う。
そして本実施形態ではリンクステート制御回路160は、パワーダウンリクエストを受けると、パワーダウン条件が満たされたか否かを判断する。そしてパワーダウン条件が満たされた場合には、パワーマネージメント制御回路170に対してパワーマネージメント(パーシャル、スランバ)のステート制御のイネーブル信号PMStateEnbを出力する。
パワーマネージメント制御回路170は、イネーブル信号PMStateEnbを受けた場合(PMStateEnbがアサートされた場合)に、パワーマネージメントのステート制御を行う。具体的にはパワーマネージメント制御回路170は、パワーマネージメントのステート制御におてい、信号HRDOWNをアサートして、インターフェース初期化制御回路180に対してパワーダウンモードへの移行を指示する。その後に、信号PARTIAL(SLUMBER)をアサートして、物理層回路200に対してパワーダウンモードへの移行を指示する。即ちパワーダウンモード(パーシャルモード、スランバモード)への移行指示に対するレディ信号SyncReadyをインターフェース初期化制御回路180から受けた場合に、物理層回路200に対してパワーダウンモードへの移行を指示する。
またパワーマネージメント制御回路170は、パワーダウンモードからのウェイアップリクエストを受けると、信号PARTIAL(SLUMBER)をネゲートして、物理層回路200のパワーダウンモードを解除する。その後に、信号HRDOWNをネゲートして、インターフェース初期化制御回路180のパワーダウンモードを解除する。具体的には、パワーダウンモードの解除に対するレディ信号PhyReadyを物理層回路200から受けた場合に、インターフェース初期化制御回路180のパワーダウンモードを解除する。
そしてパワーマネージメント制御回路170は、インターフェース初期化制御回路180のパワーダウンモードを解除した後に、リンクステート制御回路160に対して信号LinkAgainを用いてパワーダウンモードの解除を通知する。これによりリンクコントローラ150のウェイクアップ動作が完了する。
トランスポートコントローラ110は、割りこみコントローラ118、DMA制御回路119、送信FIFO120、受信FIFO122、FIS生成回路130、FISデコード回路132、トランスポートステート制御回路140を含む。
割り込みコントローラ118は、デバイス4からの受信FIS情報などを知らせるための割り込み信号を生成する。DMA制御回路119は、FISに含まれる送信データや受信データ(コンテンツ・データ)のDMA転送を制御する。送信FIFO120は、DMA制御回路119からの送信データのバッファとなるFIFOである。受信FIFO122は、リンクコントローラ150からの受信データのバッファとなるFIFOである。FIS生成回路130はFISの生成を行う回路であり、FISデコード回路132はFISの解析を行う回路である。トランスポートステート制御回路140は、トランスポートコントローラ110のステート制御を行う。
SATAでは、スランバ(SLUMBER)やパーシャル(PARTIAL)というパワーダウンモードが用意されている。スランバモードでは、復帰時間が10msを越えてはならないと定義され、パーシャルモードに比べて復帰時間が長い。このためPLLの動作についても停止させることができ、消費電力をより低減できる。
一方、SATA規格に忠実にデータ転送制御装置を設計すると、トランスポートコントローラはシステム(CPU)側のクロックで動作するようになる。従って上記のようなパーシャルやスランバなどのパワーダウンモードにおいても、トランスポートコントローラは、システム側のクロックが供給されて動作する。従って物理層回路やリンクコントローラがパワーダウンモードに移行したとしても、トランスポートコントローラについてはパワーダウンモードに移行できない。即ちSATAバスがパワーダウンしているのにもかかわらず、トランスポートコントローラにおいて無駄に電力が消費されてしまう。そしてトランスポートコントローラは、その論理ゲート数が多いため、消費される電力は非常に大きい。
この場合、PC(パーソナルコンピュータ)用途のSATAのデータ転送制御装置では、消費電力が大きくてもそれほど問題にはならない。ところが、携帯型音楽プレーヤ、携帯型映像プレーヤ、ハードディスレコーダなどの家電の電子機器にデータ転送制御装置を組み込んだ場合には、データ転送制御装置の低消費電力化は重要な技術的課題となる。
そこで本実施形態では図16に示すように、トランスポートコントローラ110を、システム側のクロックではなくて、リンクコントローラ150用のクロックCLK2(37.5MHz)で動作させる構成としている。このようにすれば、パーシャルやスランバなどのパワーダウンモードに移行し、クロックCLK2が停止した場合に、物理層回路200やリンクコントローラ150のみならず、CLK2に基づき動作するトランスポートコントローラ110についてもその動作が停止し、パワーダウンモードに移行する。この結果、従来のSATAのデータ転送制御装置に比べて、消費電力を大幅に低減できる。
更に本実施形態では、リンクコントローラ150の中に、CLK2で動作する回路のみならずCLK1で動作する回路も設けている。具体的にはリンクコントローラ150のメインのステート制御を行うリンクステート制御回路160については、クロックCLK2で動作させる一方で、パワーマネージメントのステート制御を行うパワーマネージメント制御回路170については、クロックCLK1で動作させている。このようにすれば、物理層回路200がパワーダウンモードに移行して、CLK2が停止した場合にも、パワーマネージメント制御回路170については、原振クロックであるCLK1に基づき、停止せずにその動作を維持する。従って、パワーマネージメント制御回路170の制御の下で、インターフェース初期化制御回路180や物理層回路200を段階的にパワーダウンモードに移行させる制御が可能になる。またパワーマネージメント制御回路170以外の回路がパワーダウンモードに移行した状態にあっても、ウェイクアップリクエストを受けたパワーマネージメント制御回路170が、インターフェース初期化制御回路180や物理層回路200のパワーダウンモードを段階的に解除する制御が可能になる。
このように本実施形態によれば、トランスポートコントローラ110をシステム側ではなくリンク用のクロックCLK2で動作させることで低消費電力化を実現しながら、CLK1で動作するパワーマネージメント制御回路170を設けることで、パワーダウンモードへの適正な移行やパワーダウンモードからの適正な復帰の実現に成功している。
8.シーケンスコントローラ
図17にシーケンスコントローラ30の構成例を示す。シーケンスコントローラ30はレジスタ更新部32、初期化シーケンス管理部34、パラメータ書き換え部36、DMAモード設定記憶部38、転送制御部40を含む。なおシーケンスコントローラ30の構成は図17に限定されず、その構成要素の一部を削除したり、他の構成要素を追加するなどの種々の変形実施が可能である。
レジスタ更新部32はTFR12(タスクファイル・レジスタ)、SFR52(シャドウ・タスクファイル・レジスタ)のレジスタ値の更新処理を行う。具体的にはTFR12のレジスタ値をSFR52に転送してSFR52のレジスタ値を更新したり、SFR52のレジスタ値をTFR12に転送してTFR12のレジスタ値を更新する。
例えばTFR12にホスト2によりATAコマンドが書き込まれると、PATAI/F10はコマンドライト検出信号をアクティブにする。そしてコマンドライト検出信号がアクティブになると、レジスタ更新部32はTFR12のレジスタ値をSFR52に転送する処理を行う。
またSATAI/F50は、デバイス4から受信したFISをデコードし、デコード結果に基づいて、FISの種類を知らせるための割り込み信号(広義には受信FIS情報)を生成して出力する。レジスタ更新部32は、この割り込み信号に基づいて受信FISの種類を判別して、SFR52からTFR12へのレジスタ値の転送処理などを行って、レジスタ値の更新処理を行う。
初期化シーケンス管理部34は、HRST(ハードリセット)、SRST(ソフトリセット)に伴う初期化シーケンスを管理する。具体的には、マスター、スレーブなどの設定をモニタして、PATAの初期化シーケンスを管理する。
パラメータ書き換え部36は、ホスト2がデバイス4に対してアイデンティファイ・デバイス・コマンドを発行し、デバイス4からデバイス情報のパラメータを受信した場合に、パラメータの書き換え処理を行う。即ち転送速度などのパラメータを自身が対応可能なパラメータに書き換える。
DMAモード設定記憶部38は、ホスト2がセットフューチャー・コマンドを発行した場合に、セットフューチャー・コマンドを解析して、DMA転送のモード設定を記憶する。
転送制御部40はデータ転送制御装置の転送シーケンスを制御するものであり、モニタ部42、制御信号生成部44を含む。モニタ部42は、PATAI/F10からのコマンドライト検出信号や、SATAI/F50からの割り込み信号(受信FIS情報)などの信号をモニタする。そして制御信号生成部44は、モニタ結果に基づいて、転送方向設定信号、転送開始信号、転送停止信号などの制御信号を生成し、PATI/F10、データバッファ70、SATAI/F50に出力して、転送シーケンス制御を実行する。なおデータバッファ70に対しては転送開始信号、転送停止信号は出力せず、転送方向設定信号を出力する。
図18にATAのタスクファイル・レジスタのフォーマット例を示す。タスクファイル・レジスタはコントロールブロックレジスタとコマンドブロックレジスタを有し、チップセレクト信号XCS0、XCS1が、Hレベル(ネゲート)、Lレベル(アサート)である場合にはコントロールブロックレジスタが選択され、Lレベル、Hレベルである場合にはコマンドブロックレジスタが選択される。またコマンドブロックレジスタには、ステータスレジスタ(Status)やATAコマンドレジスタ(ATA Command)が設けられる。
9.電子機器
図19に本実施形態の電子機器の構成例を示す。この電子機器は、本実施形態で説明したデータ転送制御装置310とホスト302とデバイス304を含む。ホスト302とデータ転送制御装置310はPATAバスを介して接続され、データ転送制御装置310とデバイス304はSATAバスを介して接続される。なお本実施形態の電子機器の構成は図19に限定されず、その構成要素の一部を省略したり、他の構成要素を付加する変形実施が可能である。
同図においてデバイス304は、HDD(ハードディスクドライブ)等のストレージデバイスである。但しデバイス304はHDD等のストレージデバイスに限定されず、例えば光ディスクドライブ(CD、DVD)等であってもよい。
ホスト302は、処理部330(CPU)、ROM340、RAM350、表示部360、操作部370を含むことができる。処理部330(CPU)はデータ転送制御装置310や電子機器の全体制御を行う。なおデータ転送制御装置310を制御する処理部と、電子機器を制御する処理部とを別々に設けてもよい。ROM340は制御プログラムや各種データを記憶する。RAM350は処理部330やデータ転送制御装置310のワーク領域やデータ格納領域として機能する。表示部360は種々の情報をユーザに表示する。操作部370はユーザが電子機器を操作するためのものである。
本実施形態の電子機器によれば、ホスト302がSATAI/Fを有していない場合にも、データ転送制御装置310を介してSATAのデバイス304をホスト302に接続して、あたかもPATAのデバイスのように扱うことが可能になる。
なお、本実施形態を適用できる電子機器としては、カーナビゲーションシステム、車載用オーディオ機器、HDDレコーダ、ビデオカメラ、携帯型音楽プレーヤ、携帯型映像プレーヤ、ゲーム装置、又は携帯型ゲーム装置等の種々のものが考えられる。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。またデータ転送制御装置、電子機器の構成、動作も本実施形態で説明したものに限定に限定されず、種々の変形実施が可能である。
また本実施形態では、SATAへの本発明の適用例について説明したが、本発明は、SATAと同様の思想に基づく規格や、SATA(SATA I、SATA II、SAS)を発展させた規格等にも適用できる。
本実施形態のデータ転送制御装置の構成例。 図2(A)、図2(B)はPATA、SATAのシステム構成例。 SRST処理の説明図。 データ転送制御装置の各ブロックの詳細な構成及び接続関係を示す図。 図5(A)〜図5(C)はSRST処理における本実施形態の動作の説明図。 図6(A)〜図6(C)はSRST処理における本実施形態の動作の説明図。 SRST処理における信号波形例。 SRST処理における信号波形例。 図9(A)〜図9(C)はコマンド処理における本実施形態の動作の説明図。 自動ウェイクアップのシーケンスフローのステート遷移図。 本実施形態のデータ転送制御装置の詳細な構成例。 図12(A)、図12(B)はPIOリード、PIOライトの信号波形例。 図13(A)、図13(B)はDMAリード、DMAライトの信号波形例。 SATAの送信側のデータ処理の説明図。 SATAの受信側のデータ処理の説明図。 SATAI/Fの構成例。 シーケンスコントローラの構成例。 タスクファイル・レジスタのフォーマット例。 電子機器の構成例。
符号の説明
2 ホスト、4 デバイス、10 PATAI/F、
12 タスクファイル・レジスタ(TFR)、14 転送コントローラ、
16 コマンドレジスタ、18 コントロールレジスタ、
20 パワーマネージメントコントローラ、22 コマンドキュー、
24 SRST1キュー、26 SRST0キュー、
30 シーケンスコントローラ、32 レジスタ更新部、
34 初期化シーケンス管理部、
36 パラメータ書き換え部、38 DMA転送設定記憶部、40 転送制御部、
42 モニタ部、44 制御信号生成部、50 SATAI/F、
52 シャドウ・タスクファイル・レジスタ(SFR)、54 コマンドレジスタ、
58 コントロールレジスタ、70 データバッファ、72 メモリコントローラ、
74 FIFOメモリ、110 トランスポートコントローラ、
118 割りこみコントローラ、120 送信FIFO、122 受信FIFO、
130 FIS生成回路、132 FISデコード回路、150 リンクコントローラ、
160 リンクステート制御回路、170 パワーマネージメント制御回路、
180 インターフェース初期化制御回路、190 フレーム生成回路、
192 フレームデコード回路、200 物理層回路、210 トランスミッタ、
220 レシーバ、230 OOB検出回路、240 クロック生成回路

Claims (16)

  1. パラレルATAとシリアルATAのバスブリッジ機能を有するデータ転送制御装置であって、
    パラレルATAバスに接続され、ホストとの間のインターフェースを行うパラレルATAインターフェースと、
    シリアルATAバスに接続され、シリアルATAのデバイスとの間のインターフェースを行うシリアルATAインターフェースと、
    転送シーケンス制御を行うシーケンスコントローラと、
    パワーマネージメント制御を行うパワーマネージメントコントローラとを含み、
    前記パワーマネージメントコントローラは、
    パワーダウンモード中に前記ホストによるソフトリセットビットへの書き込みが検出された場合に、ソフトリセットビットへの書き込みが検出されたことをソフトリセットキューに保持して、前記シリアルATAインターフェースに対してパワーダウンモードからのウェイクアップを要求し、ウェイクアップが完了した後に、ソフトリセットビットへの書き込みが検出されたことを前記シーケンスコントローラに通知することを特徴とするデータ転送制御装置。
  2. 請求項1において、
    前記シリアルATAインターフェースは、
    前記ソフトリセットキューがクリアされた後に、ソフトリセットビットの状態を伝えるレジスタFISを前記デバイスに送信することを特徴とするデータ転送制御装置。
  3. 請求項1又は2において、
    前記パワーマネージメントコントローラは、
    パワーダウンモード中に前記ホストによるソフトリセットビットへの1の書き込みが検出された場合に、ソフトリセットビットへの1の書き込みが検出されたことを第1のソフトリセットキューに保持して、前記シリアルATAインターフェースに対してパワーダウンモードからのウェイクアップを要求し、ウェイクアップが完了した後に、ソフトリセットビットへの書き込みが検出されたことを前記シーケンスコントローラに通知し、
    前記ホストによるソフトリセットビットへの0の書き込みが検出された場合に、ソフトリセットビットへの0の書き込みが検出されたことを第2のソフトリセットキューに保持して、ソフトリセットビットへの書き込みが検出されたことを前記シーケンスコントローラに通知することを特徴とするデータ転送制御装置。
  4. 請求項3において、
    前記シリアルATAインターフェースは、
    前記第1のソフトリセットキューがクリアされた後に、ソフトリセットビットが1に設定されたレジスタFISを前記デバイスに送信し、前記第2のソフトリセットキューがクリアされた後に、ソフトリセットビットが0に設定されたレジスタFISを前記デバイスに送信することを特徴とするデータ転送制御装置。
  5. 請求項3又は4において、
    前記パワーマネージメントコントローラは、
    前記第1のソフトリセットキューがクリアされる前に、前記ホストによるソフトリセットビットへの0の書き込みが検出された場合に、ソフトリセットビットへの0の書き込みが検出されたことを前記第2のソフトリセットキューに保持し、ウェイクアップが完了し、前記第1のソフトリセットキューがクリアされた後に、前記第2のソフトリセットキューをクリアすることを特徴とするデータ転送制御装置。
  6. 請求項3乃至5のいずれかにおいて、
    前記パワーマネージメントコントローラは、
    ソフトリセットビットの論理レベルを知らせるためのビットレベル通知信号を前記シーケンスコントローラに出力することを特徴とするデータ転送制御装置。
  7. 請求項6において、
    前記パワーマネージメントコントローラは、
    前記第1のソフトリセットキューがクリアされた場合に、前記ビットレベル通知信号の論理レベルを1に設定し、前記第2のソフトリセットキューがクリアされた場合に、前記ビットレベル通知信号の論理レベルを0にすることを特徴とするデータ転送制御装置。
  8. パラレルATAとシリアルATAのバスブリッジ機能を有するデータ転送制御装置であって、
    パラレルATAバスに接続され、ホストとの間のインターフェースを行うパラレルATAインターフェースと、
    シリアルATAバスに接続され、シリアルATAのデバイスとの間のインターフェースを行うシリアルATAインターフェースと、
    転送シーケンス制御を行うシーケンスコントローラと、
    パワーマネージメント制御を行うパワーマネージメントコントローラとを含み、
    前記パワーマネージメントコントローラは、
    パワーダウンモード中に前記ホストによるコマンドの発行が検出された場合に、コマンド発行が検出されたことをコマンドキューに保持して、前記シリアルATAインターフェースに対してパワーダウンモードからのウェイクアップを要求し、ウェイクアップが完了した後に、コマンド発行が検出されたことを前記シーケンスコントローラに通知することを特徴とするデータ転送制御装置。
  9. 請求項8において、
    前記シリアルATAインターフェースは、
    前記コマンドキューがクリアされた後に、発行されたコマンドを含むレジスタFISを送信することを特徴とするデータ転送制御装置。
  10. 請求項1乃至9のいずれかにおいて、
    前記パラレルATAインターフェースは、
    パラレルATAとシリアルATAとのバスブリッジ用に擬似的に設けられたタスクファイル・レジスタを含み、
    前記シリアルATAインターフェースは、
    前記タスクファイル・レジスタとの間でレジスタ値が転送されるシャドウ・タスクファイル・レジスタを含むことを特徴とするデータ転送制御装置。
  11. 請求項10において、
    前記ホスト、前記デバイスの間で転送されるデータのバッファリングを行うデータバッファを含み、
    前記ホスト、前記デバイスの間で転送されるデータについては、前記データバッファを介して転送され、
    前記タスクファイル・レジスタ、前記シャドウ・タスクファイル・レジスタの間で転送されるレジスタ値については、前記シーケンスコントローラを介して転送されることを特徴とするデータ転送制御装置。
  12. 請求項1乃至11のいずれかにおいて、
    前記シリアルATAインターフェースは、
    パワーダウンモード時に動作を停止しない第1のクロックと、パワーダウンモード時に動作を停止する第2のクロックを出力し、
    前記パラレルATAインターフェース及び前記パワーマネージメントコントローラは前記第1のクロックに基づいて動作し、前記シーケンスコントローラは前記第2のクロックに基づいて動作することを特徴とするデータ転送制御装置。
  13. 請求項12において、
    前記シリアルATAインターフェースは、
    基準クロックである前記第1のクロックに基づき物理層回路により生成された前記第2のクロックが供給され、前記第2のクロックに基づき動作するトランスポートコントローラと、
    前記第1、第2のクロックが供給され、前記第1、第2のクロックに基づき動作するリンクコントローラとを含み、
    前記リンクコントローラは、
    前記第2のクロックに基づき動作し、前記リンクコントローラのステート制御を行うリンクステート制御回路と、
    前記第1のクロックに基づき動作し、パワーマネージメントのステート制御を行うパワーマネージメント制御回路を含むことを特徴とするデータ転送制御装置。
  14. 請求項13において、
    前記パワーマネージメント制御回路は、
    パワーダウンモードからのウェイアップリクエストを受けた場合に、前記物理層回路のパワーダウンモードを解除し、その後に、インターフェースの初期化のための処理を行うインターフェース初期化制御回路のパワーダウンモードを解除することを特徴とするデータ転送制御装置。
  15. 請求項14において、
    前記パワーマネージメント制御回路は、
    前記インターフェース初期化制御回路のパワーダウンモードを解除した後に、前記リンクステート制御回路に対してパワーダウンモードの解除を通知することを特徴とするデータ転送制御装置。
  16. 請求項1乃至15のいずれかに記載のデータ転送制御装置と、
    前記データ転送制御装置に接続される前記ホストと、
    前記データ転送制御装置に接続される前記デバイスと、
    を含むことを特徴とする電子機器。
JP2007080737A 2007-03-27 2007-03-27 データ転送制御装置及び電子機器 Pending JP2008242701A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007080737A JP2008242701A (ja) 2007-03-27 2007-03-27 データ転送制御装置及び電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007080737A JP2008242701A (ja) 2007-03-27 2007-03-27 データ転送制御装置及び電子機器

Publications (1)

Publication Number Publication Date
JP2008242701A true JP2008242701A (ja) 2008-10-09

Family

ID=39913990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007080737A Pending JP2008242701A (ja) 2007-03-27 2007-03-27 データ転送制御装置及び電子機器

Country Status (1)

Country Link
JP (1) JP2008242701A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010157033A (ja) * 2008-12-26 2010-07-15 Brother Ind Ltd コンピュータシステム
US8713343B2 (en) 2010-08-31 2014-04-29 Denso Corporation Electronic control apparatus
JP2015026216A (ja) * 2013-07-25 2015-02-05 富士ゼロックス株式会社 制御装置及び画像形成装置
US10025682B2 (en) 2015-06-01 2018-07-17 Fujitsu Limited Control system and processing method thereof
CN109658867A (zh) * 2018-12-10 2019-04-19 北京欧徕德微电子技术有限公司 数据读写方法及其装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010157033A (ja) * 2008-12-26 2010-07-15 Brother Ind Ltd コンピュータシステム
US8713343B2 (en) 2010-08-31 2014-04-29 Denso Corporation Electronic control apparatus
JP2015026216A (ja) * 2013-07-25 2015-02-05 富士ゼロックス株式会社 制御装置及び画像形成装置
US10025682B2 (en) 2015-06-01 2018-07-17 Fujitsu Limited Control system and processing method thereof
CN109658867A (zh) * 2018-12-10 2019-04-19 北京欧徕德微电子技术有限公司 数据读写方法及其装置

Similar Documents

Publication Publication Date Title
US7272676B2 (en) Data transmission controller that restarts data transmission when reconstruction is completed
JP3636157B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US7739419B2 (en) Data transfer control device and electronic instrument
CN102890622B (zh) 一种基于协处理器的sata控制器
US7337382B2 (en) Data transfer control device, electronic instrument, and data transfer control method
JP2004334417A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US7409471B2 (en) Data transfer control device for data transfer over a bus, electronic equipment and method for data transfer over a bus
JP2008242701A (ja) データ転送制御装置及び電子機器
JP4434218B2 (ja) データ転送制御装置及び電子機器
JP3636158B2 (ja) データ転送制御装置及び電子機器
US6990550B2 (en) Transaction duration management in a USB host controller
JP2003316729A (ja) データ転送制御装置、電子機器及びデータ転送制御方法
JP3636160B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US20060190665A1 (en) Data transfer control device and electronic equipment
JP2007233998A (ja) データ転送制御装置及び電子機器
JP3614161B2 (ja) データ転送制御装置、電子機器及びデータ転送制御方法
US20070005847A1 (en) Data transfer control device and electronic instrument
JP2009048444A (ja) Usbデバイスの制御方法、コントローラ及び電子機器
JP2009037479A (ja) データ転送制御装置及び電子機器
JP2009037474A (ja) データ転送制御装置及び電子機器
JP2008293154A (ja) データ転送制御装置及び電子機器
JP2008204048A (ja) データ転送制御装置及び電子機器
JP2008204050A (ja) データ転送制御装置及び電子機器
JP2009032011A (ja) データ転送制御装置及び電子機器
JP2008204049A (ja) データ転送制御装置及び電子機器