説明

インタフェース回路

【課題】最終製品に使用されている自社製の通信IPマクロであるインタフェース回路を自社製の通信IPマクロであると容易に確認することができるようにしたインタフェース回路を提供する。
【解決手段】SATAインタフェース回路29は、IPマクロ情報保持回路41と、セレクタ42と、特殊コマンド監視回路43とを含めて応答手段を構成し、ホストPC21から第1の特殊コマンドを受信したときは、CPU27にインタラプトを発行せず、IPマクロ情報保持回路41が保持するSATAインタフェース回路29のIPマクロ情報(IPマクロの種別、バージョン情報、コンフィギュレーション情報及び動作周波数)を応答データとしてホストPC21に自動送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、SATA(Serial Advanced Technology Attachment)インタフェース回路やUSB(Universal Serial Bus)インタフェース回路のようにホストとデバイスとの間の通信を仲介するためにデバイスに含められるインタフェース回路など、第1の装置と第2の装置との間の通信を仲介するために第2の装置に含められるインタフェース回路に関する。
【背景技術】
【0002】
図9は従来の電子装置の一例の概略的構成図である。図9中、1はホストPC(パーソナル・コンピュータ)、2はSATAケーブル、3はUSBケーブル、4はSATA及びUSB対応HDD(ハード・ディスク・ドライブ)であり、5はHDD、6はシステムLSI(large scale integrated circuit)である。
【0003】
また、システムLSI6において、7はCPU(central processing unit)、8はデータバス、9はSATAインタフェース回路、10はUSBインタフェース回路、11はメモリ、12はHDDコントローラである。
【0004】
図10はSATAインタフェース回路9の概略的構成図である。図10中、13はリンク層(Link Layer)、14はトランスポート層(Transport Layer)、15は受信データFIFO(First-In First-Out)、16は送信データFIFOである。
【0005】
図11はUSBインタフェース回路10の概略的構成図である。図11中、17はプロトコル・エンジン(Protocol Engine)、18は内部バス・インタフェース(Internal Bus I/F)、19はコントロール/ステータス・レジスタ(Control/Status Register)及びエンドポイント(Endpoint)FIFOである。
【0006】
図12は図9に示す従来の電子装置の第1動作例を示すフローチャートであり、SATAインタフェース回路9がホストPC1からコマンドを受信した場合を示している。すなわち、図9に示す従来の電子装置においては、SATAインタフェース回路9がホストPC1からコマンドを受信すると(ステップS12−1)、SATAインタフェース回路9はCPU7にインタラプトを発行する(ステップS12−2)。
【0007】
これに応答して、CPU7は、SATAインタフェース回路9から受信データを読み込んで解析し、応答データをSATAインタフェース回路9に書き込み(ステップS12−3)、SATAインタフェース回路9は、CPU7が書き込んだ応答データをホストPC1に送信する(ステップS12−4)。
【0008】
図13は図9に示す従来の電子装置の第2動作例を示すフローチャートであり、USBインタフェース回路10がホストPC1からコマンドを受信した場合を示している。すなわち、図9に示す従来の電子装置においては、USBインタフェース回路10がホストPC1からコマンドを受信すると(ステップS13−1)、USBインタフェース回路10はCPU7にインタラプトを発行する(ステップS13−2)。
【0009】
これに応答して、CPU7は、USBインタフェース回路10から受信データを読み込んで解析し、応答データをUSBインタフェース回路10に書き込み(ステップS13−3)、USBインタフェース回路10は、CPU7が書き込んだ応答データをホストPC1に送信する(ステップS13−4)。
【特許文献1】特開2001−222567号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
たとえば、図9に示すSATA及びUSB対応HDD4が他社製の最終製品であり、SATAインタフェース回路9及びUSBインタフェース回路10が自社製の通信IP(intellectual property)マクロ(既設計回路モジュール)を不正にコピーしたものである場合に、これらSATAインタフェース回路9及びUSBインタフェース回路10が自社製の通信IPマクロであることを確認する方法がなく、自社製の通信IPマクロを不正なコピーから保護することができないという問題点があった。
【0011】
本発明は、かかる点に鑑み、最終製品に使用されている自社製の通信IPマクロであるインタフェース回路を自社製の通信IPマクロであると容易に確認することができるようにしたインタフェース回路を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明は、第1の装置と第2の装置との間の通信を仲介するために第2の装置に含められるインタフェース回路であって、第1の装置から受信した所定のコマンドに対して自ら第1の装置に対して応答する応答手段を有するものである。
【発明の効果】
【0013】
本発明のインタフェース回路は、第1の装置から所定のコマンドを受信すると、自ら応答するので、本発明のインタフェース回路が自社製の通信IPマクロであり、第2の装置が最終製品である場合において、本発明のインタフェース回路が第2の装置に含められている場合に、第2の装置内のインタフェース回路は、自社製の通信IPマクロであると容易に確認することができる。
【発明を実施するための最良の形態】
【0014】
図1は本発明の第1実施形態及び第2実施形態を含む電子装置の概略的構成図である。図1中、21はホストPC、22はSATAケーブル、23はUSBケーブル、24はSATA及びUSB対応HDDであり、25はHDD、26はシステムLSIである。
【0015】
また、システムLSI26において、27はCPU、28はデータバス、29はSATA対応の通信IPマクロであり、本発明の第1実施形態であるSATAインタフェース回路、30はUSB対応の通信IPマクロであり、本発明の第2実施形態であるUSBインタフェース回路、31はメモリ、32はHDDコントローラである。
【0016】
図2は本発明の第1実施形態であるSATAインタフェース回路29の概略的構成図である。本発明の第1実施形態であるSATAインタフェース回路29は、従来回路と同様に、リンク層33、トランスポート層34、受信データFIFO35及び送信データFIFO36等を有するほかに、特有な回路として、IPマクロ情報保持回路41と、セレクタ42と、特殊コマンド監視回路43を有している。
【0017】
IPマクロ情報保持回路41は、SATAインタフェース回路29のIPマクロ情報として、たとえば、IPマクロの種別(SATAインタフェースであること)、バージョン情報、コンフィギュレーション情報及び動作周波数を保持するものであり、特殊コマンド監視回路43により出力動作が制御される。
【0018】
セレクタ42は、トランスポート層34が出力するCPU27からの応答データ又はIPマクロ情報保持回路41が出力するSATAインタフェース回路29のIPマクロ情報を選択するものであり、特殊コマンド監視回路43により選択動作が制御される。
【0019】
特殊コマンド監視回路43は、SATAインタフェース回路29が受信したホストPC21からのコマンドを監視し、IPマクロ情報保持回路41の出力動作及びセレクタ42の選択動作を制御するものである。
【0020】
SATAインタフェース回路29は、IPマクロ情報保持回路41と、セレクタ42と、特殊コマンド監視回路43とを含めて応答手段を構成し、ホストPC21から第1の特殊コマンドを受信したときは、CPU27にインタラプトを発行せず、IPマクロ情報保持回路41が保持するSATAインタフェース回路29のIPマクロ情報を応答データとしてホストPC21に自動送信するというものである。
【0021】
そこで、特殊コマンド監視回路43が、第1の特殊コマンドを検出したときは、特殊コマンド監視回路43は、第1の特殊コマンドをトランスポート層34に転送せず、IPマクロ情報保持回路41がSATAインタフェース回路29のIPマクロ情報を出力するようにIPマクロ情報保持回路41を制御すると共に、セレクタ42がIPマクロ情報保持回路41から出力されるSATAインタフェース回路29のIPマクロ情報を選択するようにセレクタ42を制御する。
【0022】
これに対して、特殊コマンド監視回路43が、第1の特殊コマンド以外のコマンドを検出したときは、特殊コマンド監視回路43は、検出したコマンドをトランスポート層34に転送すると共に、セレクタ42がトランスポート層34から出力されるCPU27からの応答データを選択するようにセレクタ42を制御する。
【0023】
図3は本発明の第2実施形態であるUSBインタフェース回路30の概略的構成図である。本発明の第2実施形態であるUSBインタフェース回路30は、従来回路と同様に、プロトコル・エンジン37、内部バス・インタフェース38、コントロール/ステータス・レジスタ及びエンドポイントFIFO39等を有するほかに、特有な回路として、IPマクロ情報保持回路51と、セレクタ52と、特殊コマンド監視回路53を有している。
【0024】
IPマクロ情報保持回路51は、USBインタフェース回路30のIPマクロ情報として、たとえば、IPマクロの種別(USBインタフェースであること)、バージョン情報、コンフィギュレーション情報及び動作周波数を保持するものであり、特殊コマンド監視回路53により出力動作が制御される。
【0025】
セレクタ52は、内部バス・インタフェース38が出力するCPU27からの応答データ又はIPマクロ情報保持回路51が出力するUSBインタフェース回路30のIPマクロ情報を選択するものであり、特殊コマンド監視回路53により選択動作が制御される。
【0026】
特殊コマンド監視回路53は、ホストPC21からUSBインタフェース回路30に与えられるコマンドを監視し、IPマクロ情報保持回路51の出力動作及びセレクタ52の選択動作を制御するものである。
【0027】
USBインタフェース回路30は、IPマクロ情報保持回路51と、セレクタ52と、特殊コマンド監視回路53とを含めて応答手段を構成し、ホストPC21から第2の特殊コマンドを受信したときは、CPU27にインタラプトを発行せず、IPマクロ情報保持回路51が保持するUSBインタフェース回路30のIPマクロ情報を応答データとしてホストPC21に自動送信するというものである。
【0028】
そこで、特殊コマンド監視回路53が、第2の特殊コマンドを検出したときは、特殊コマンド監視回路53は、第2の特殊コマンドを内部バス・インタフェース38に転送せず、IPマクロ情報保持回路51がUSBインタフェース回路30のIPマクロ情報を出力するようにIPマクロ情報保持回路51を制御すると共に、セレクタ52がIPマクロ情報保持回路51から出力されるUSBインタフェース回路30のIPマクロ情報を選択するようにセレクタ52を制御する。
【0029】
これに対して、特殊コマンド監視回路53が、第2の特殊コマンド以外のコマンドを検出したときは、特殊コマンド監視回路53は、検出したコマンドを内部バス・インタフェース38に転送すると共に、セレクタ52が内部バス・インタフェース38から出力されるCPU27からの応答データを選択するようにセレクタ52を制御する。
【0030】
図4は図1に示す電子装置の第1動作例を示すフローチャートであり、SATAインタフェース回路29がホストPC21からコマンドを受信した場合を示している。すなわち、SATAインタフェース回路29がホストPC21からコマンドを受信すると(ステップS4−1)、特殊コマンド監視回路43は、受信したコマンドが第1の特殊コマンドであるか否かを判定する(ステップS4−2)。
【0031】
判定の結果、受信したコマンドが第1の特殊コマンドではない場合(ステップS4−2でNOの場合)には、特殊コマンド監視回路43は、受信したコマンドをトランスポート層34に転送する。この結果、SATAインタフェース回路29は、CPU27にインタラプトを発行する(ステップS4−3)。
【0032】
これに応答して、CPU27は、SATAインタフェース回路29から受信データを読み込んで解析し、応答データをSATAインタフェース回路29に書き込み(ステップS4−4)、SATAインタフェース回路29は、CPU27が書き込んだ応答データをホストPC21に送信する(ステップS4−5)。
【0033】
これに対して、受信したコマンドが第1の特殊コマンドの場合(ステップS4−2でYESの場合)には、特殊コマンド監視回路43は、第1の特殊コマンドをトランスポート層34に転送せず、IPマクロ情報保持回路41がIPマクロ情報を出力するようにIPマクロ情報保持回路41を制御すると共に、セレクタ42がIPマクロ情報保持回路41から出力されるIPマクロ情報を選択するようにセレクタ42を制御する(ステップS4−6)。
【0034】
この結果、IPマクロ情報保持回路41からSATAインタフェース回路29のIPマクロ情報が出力され、このSATAインタフェース回路29のIPマクロ情報がセレクタ42及びリンク層33を介してホストPC21に送信される。すなわち、SATAインタフェース回路29は、自己のIPマクロ情報をホストPC21に送信する(ステップS4−7)。
【0035】
図5は図1に示す電子装置の第2動作例を示すフローチャートであり、USBインタフェース回路30がホストPC21からコマンドを受信した場合を示している。すなわち、USBインタフェース回路30がホストPC21からコマンドを受信すると(ステップS5−1)、特殊コマンド監視回路53は、受信したコマンドが第2の特殊コマンドであるか否かを判定する(ステップS5−2)。
【0036】
判定の結果、受信したコマンドが第2の特殊コマンドではない場合(ステップS5−2でNOの場合)には、特殊コマンド監視回路53は、受信したコマンドを内部バス・インタフェース38に転送する。この結果、USBインタフェース回路30は、CPU27にインタラプトを発行する(ステップS5−3)。
【0037】
これに応答して、CPU27は、USBインタフェース回路30から受信データを読み込んで解析し、応答データをUSBインタフェース回路30に書き込み(ステップS5−4)、USBインタフェース回路30は、CPU27が書き込んだ応答データをホストPC21に送信する(ステップS5−5)。
【0038】
これに対して、受信したコマンドは第2の特殊コマンドである場合(ステップS5−2でYESの場合)には、特殊コマンド監視回路53は、第2の特殊コマンドを内部バス・インタフェース38に転送せず、IPマクロ情報保持回路51がIPマクロ情報を出力するようにIPマクロ情報保持回路51を制御すると共に、セレクタ52がIPマクロ情報保持回路51から出力されるIPマクロ情報を選択するようにセレクタ52を制御する(ステップS5−6)。
【0039】
この結果、IPマクロ情報保持回路51からUSBインタフェース回路30のIPマクロ情報が出力され、このUSBインタフェース回路30のIPマクロ情報がセレクタ52及びプロトコル・エンジン37を介してホストPC21に送信される。すなわち、USBインタフェース回路30は、自己のIPマクロ情報をホストPC21に送信する(ステップS5−7)。
【0040】
図6はSATA規格が定めるREG−HD(Register-Host to Device)の構成図である。ホストPC21からSATAインタフェース回路29に送信する第1の特殊コマンドとしては、REG−HDのコマンド領域にVendor Specific Command(9Ah、C0h〜C3h、8xh、F0h、F7h、FAh〜FFh)を代入したものを使用することができる。
【0041】
図7はSATA規格が定めるREG−DH(Register-Device to Host)の構成図である。SATAインタフェース回路29がホストPC21に送信するSATAインタフェース回路29のIPマクロ情報としては、REG−DHの1〜4にIPマクロ情報を乗せたものを使用することができる。
【0042】
図8はUSB規格が定めるセットアップデータの構成図である。ホストPC21からUSBインタフェース回路30に送信する第2の特殊コマンドとしては、bmRequestTypeのD6...5を2(=Vendor)としたものを使用することができる。
【0043】
以上のように、ホストPC21とSATA及びUSB対応HDD24との間の通信を仲介するために、SATA及びUSB対応HDD24内のシステムLSI26に本発明の第1実施形態であるSATAインタフェース回路29が搭載されている場合において、ホストPC21からSATAインタフェース回路29に第1の特殊コマンドを送信した場合、SATAインタフェース回路29は、IPマクロ情報保持回路41、セレクタ42及び特殊コマンド監視回路43を備えているので、自己のIPマクロ情報を応答データとしてホストPC21に対して自ら応答を行う。
【0044】
したがって、SATA及びUSB対応HDD24が他社の最終製品であり、SATAインタフェース回路29が自社製の通信IPマクロである場合においても、SATA及びUSB対応HDD24内のSATAインタフェース回路29は、自社製の通信IPマクロであると容易に確認することができる。
【0045】
また、ホストPC21とSATA及びUSB対応HDD24との間の通信を仲介するために、SATA及びUSB対応HDD24内のシステムLSI26に本発明の第2実施形態であるUSBインタフェース回路30が搭載されている場合において、ホストPC21からUSBインタフェース回路30に第2の特殊コマンドを送信した場合、USBインタフェース回路30は、IPマクロ情報保持回路51、セレクタ52及び特殊コマンド監視回路53を備えているので、自己のIPマクロ情報を応答データとしてホストPC21に対して自ら応答を行う。
【0046】
したがって、SATA及びUSB対応HDD24が他社の最終製品であり、USBインタフェース回路30が自社製の通信IPマクロである場合においても、SATA及びUSB対応HDD24内のUSBインタフェース回路30は、自社製の通信IPマクロであると容易に確認することができる。
【0047】
また、本発明の第1実施形態であるSATAインタフェース回路29においては、IPマクロ情報保持回路41に、IPマクロ情報として、IPマクロの種別、バージョン情報、コンフィギュレーション情報及び動作周波数を保持するようにしたが、このようにする場合には、SATAインタフェース回路29が不正にコピーされたものではない場合、SATAインタフェース回路29のサポートが容易になるという効果も得ることができる。
【0048】
なお、SATAインタフェース回路29を不正なコピーから保護すれば足りるという場合には、第1の特殊コマンドに対してSATAインタフェース回路29が応答したことを確認できる簡単な応答データをIPマクロ情報保持回路41に代わる保持回路に保持することで足りる。
【0049】
また、本発明の第2実施形態であるUSBインタフェース回路30においては、IPマクロ情報保持回路51に、IPマクロ情報として、IPマクロの種別、バージョン情報、コンフィギュレーション情報及び動作周波数を保持するようにしたが、このようにする場合には、USBインタフェース回路30が不正にコピーされたものではない場合、USBインタフェース回路30のサポートが容易になるという効果も得ることができる。
【0050】
なお、USBインタフェース回路30を不正なコピーから保護すれば足りるという場合には、第2の特殊コマンド対してUSBインタフェース回路30が応答したことを確認できる簡単な応答データをIPマクロ情報保持回路51に代わる保持回路に保持することで足りる。
【0051】
また、本明細書では、本発明をSATAインタフェース回路及びUSBインタフェース回路に適用した場合について説明したが、本発明は、その他の通信用のインタフェース回路にも適用することができる。
【図面の簡単な説明】
【0052】
【図1】本発明の第1実施形態及び第2実施形態を含む電子装置の概略的構成図である。
【図2】本発明の第1実施形態であるSATAインタフェース回路の概略的構成図である。
【図3】本発明の第2実施形態であるUSBインタフェース回路の概略的構成図である。
【図4】図1に示す電子装置の第1動作例を示すフローチャートである。
【図5】図1に示す電子装置の第2動作例を示すフローチャートである。
【図6】SATA規格が定めるREG−HDの構成図である。
【図7】SATA規格が定めるREG−DHの構成図である。
【図8】USB規格が定めるセットアップデータの構成図である。
【図9】従来の電子装置の一例の概略的構成図である。
【図10】図9に示す従来のSATAインタフェース回路の概略的構成図である。
【図11】図9に示す従来のUSBインタフェース回路の概略的構成図である。
【図12】図9に示す従来の電子装置の第1動作例を示すフローチャートである。
【図13】図9に示す従来の電子装置の第2動作例を示すフローチャートである。
【符号の説明】
【0053】
1、21…ホストPC
2、22…SATAケーブル
3、23…USBケーブル
4、24…SATA及びUSB対応HDD
5、25…HDD
6、26…システムLSI
7、27…CPU
8、28…データバス
9、29…SATAインタフェース回路
10、30…USBインタフェース回路
11、31…メモリ
12、32…HDDコントローラ
13、33…リンク層
14、34…トランスポート層
15、35…受信データFIFO
16、36…送信データFIFO
17、37…プロトコル・エンジン
18、38…内部バス・インタフェース
19、39…コントロール/ステータス・レジスタ及びエンドポイントFIFO
41、51…IPマクロ情報保持回路
42、52…セレクタ
43、53…特殊コマンド監視回路

【特許請求の範囲】
【請求項1】
第1の装置と第2の装置との間の通信を仲介するために前記第2の装置に含められるインタフェース回路であって、
前記第1の装置から受信した所定のコマンドに対して自ら前記第1の装置に対して応答する応答手段を有することを特徴とするインタフェース回路。
【請求項2】
前記応答手段は、
所定情報を保持する保持手段と、
前記第1の装置からのコマンドを監視する監視手段と、
前記監視手段が前記所定のコマンドを検出したときは、前記保持手段が保持する前記所定情報を前記第1の装置への応答データとして選択する選択回路と
を有することを特徴とする請求項1に記載のインタフェース回路。
【請求項3】
前記所定情報は、自己のIPマクロ情報であり、
前記IPマクロ情報は、IPマクロの種別、バージョン情報、コンフィギュレーション情報及び動作周波数であること
を特徴とする請求項2に記載のインタフェース回路。
【請求項4】
前記第1の装置から前記所定のコマンド以外の第2のコマンドを受信した時は、前記第2の装置内に前記第2のコマンドを取り込むことを特徴とする請求項1乃至3のいずれか一項に記載のインタフェース回路。
【請求項5】
前記インタフェース回路は、SATA(Serial Advanced Technology Attachment)インタフェース又はUSB(Universal Serial Bus)インタフェースであることを特徴とする請求項1乃至4のいずれか一項に記載のインタフェース回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2008−310466(P2008−310466A)
【公開日】平成20年12月25日(2008.12.25)
【国際特許分類】
【出願番号】特願2007−156097(P2007−156097)
【出願日】平成19年6月13日(2007.6.13)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】