(57)【要約】【課題】リードパケットの伝送のプライオリティがライトパケットよりも低い場合でも、読出要求を遅延することなく相手先のデバイスへ届けることができるデータ伝送システムおよびその読出し方法を提供する。【解決手段】要求元デバイス１０では、特殊読出要求部１３は、要求先デバイス２０のメモリ２７の所定のアドレスを書込みアドレス部分に含み、かつペイロード部分にメモリ２７のアドレスを読出しアドレスとして含む読出要求用ライトパケットを生成する。要求先デバイス２０では、特殊読出要求応答部２６は、メモリ２７の所定のアドレスにデータが書き込まれた場合に、読出要求を受けたことを検知し、所定のアドレスに書き込まれたメモリ２７の読出しアドレスからデータを読出し、読出したデータをペイロード部分に含む読出応答用ライトパケットを生成する。【選択図】図３
2010212987.tif 000002
【特許請求の範囲】
【請求項１】
マルチポートスイッチと、
前記マルチポートスイッチのポートに１または複数のシリアルバスを介して接続される第１および第２のデバイスとを備えたデータ伝送システムであって、
前記マルチポートスイッチは、
バッファと、
前記バッファ内に転送先と転送元が同一のライトパケットとリードパケットがある場合に、ライトパケットを優先して出力する優先制御部とを備え、
前記第１および第２のデバイスは、
メモリと、
生成したパケットを前記スイッチへ出力する出力部と、
前記スイッチからパケットを受信する受信部と、
受信したライトパケットの書込アドレス部分で指定されるメモリのアドレスに、前記受信したライトパケットのペイロード部分に含まれるデータを書込む書込処理部とを備え、
前記第１のデバイスは、
前記第２のデバイスのメモリの所定のアドレスを書込アドレス部分に含み、かつペイロード部分に前記第２のデバイスのメモリの読出アドレスを含む読出要求用ライトパケットを生成する読出要求部を備え、
前記第２のデバイスは、
前記メモリの所定のアドレスにデータが書き込まれた場合に、読出要求を受けたことを検知し、前記所定のアドレスに書き込まれたメモリの読出アドレスからデータを読出し、前記読出したデータをペイロード部分に含む読出応答用ライトパケットを生成する読出応答部を備えたデータ伝送システム。
【請求項２】
前記第１のデバイスにおいて、
前記読出要求部は、前記ペイロード部分に、さらに読出サイズを含む前記読出要求用ライトパケットを生成し、
前記第２のデバイスにおいて、
前記読出応答部は、前記メモリの所定のアドレスに書込まれた読出サイズだけ、前記メモリからデータを読出し、前記読出サイズ分の読出したデータをぺイロード部分に含む前記読出応答用ライトパケットを生成する、請求項１記載のデータ伝送システム。
【請求項３】
前記第１のデバイスにおいて、
前記読出要求部は、前記ペイロード部分に、さらに読出したデータの書込先の前記第１のデバイスのメモリのアドレスを含む前記読出要求用ライトパケットを生成し、
前記第２のデバイスにおいて、
前記読出応答部は、書込アドレス部分で前記メモリの所定のアドレスに書込まれた前記第１のデバイスのメモリのアドレスを指定した前記読出応答用ライトパケットを生成する、請求項１または２記載のデータ伝送システム。
【請求項４】
前記第２のデバイスにおいて、
前記読出応答部は、前記読出応答用ライトパケットの生成後に、前記検知した読出要求への応答が終了したことを通知する割込パケットを生成する、請求項１〜３のいずれか１項に記載のデータ伝送システム。
【請求項５】
前記第１のデバイスと前記第２のデバイスの間に、さらに割込用配線が接続され、
前記第２のデバイスにおいて、
前記読出応答部は、前記読出応答用ライトパケットの生成後に、前記割込用配線を通じて、前記検知した読出要求への応答が終了したことを通知する、請求項１〜３のいずれか１項に記載のデータ伝送システム。
【請求項６】
マルチポートスイッチと、前記マルチポートスイッチのポートに１または複数のシリアルバスを介して接続される第１および第２のデバイスとを備えたデータ伝送システムにおけるデータ読出し方法であって、
前記マルチポートスイッチは、バッファと前記バッファ内に転送先と転送元が同一のライトパケットとリードパケットがある場合に、ライトパケットを優先して出力する優先制御部とを備え、
前記データ読出し方法は、
第１のデバイスが、第２のデバイスのメモリの所定のアドレスを書込アドレス部分に含み、かつペイロード部分に前記第２のデバイスのメモリ読出アドレスを含む読出要求用ライトパケットを生成するステップと、
前記第１のデバイスが、前記生成された読出要求用ライトパケットを前記スイッチを介して前記第２のデバイスに送信するステップと、
前記第２のデバイスが、前記読出要求用ライトパケットを受信するステップと、
前記第２のデバイスが、前記受信した読出要求用ライトパケットの書込アドレス部分で指定されるメモリのアドレスに、前記受信した読出要求用ライトパケットのペイロード部分のデータを書込むステップと、
前記第２のデバイスが、前記メモリの所定のアドレスにデータが書き込まれた場合に、読出要求を受けたことを検知し、前記所定のアドレスに書き込まれたメモリの読出アドレスからデータを読出し、前記読出したデータをペイロード部分に含む読出応答用ライトパケットを生成するステップと、
前記第２のデバイスが、前記生成された読出応答用ライトパケットを前記スイッチを介して前記第１のデバイスに送信するステップと、
前記第１のデバイスが、前記読出応答用ライトパケットを受信するステップとを備えた、データ読出し方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ伝送システムおよびそのデータ読出し方法に関し、特に複数のデバイスがシリアルバスを介して、パケットの種別に応じた優先制御を行なうスイッチに接続されたデータ伝送システムおよびそのデータ読出し方法に関する。
【背景技術】
【０００２】
近年、無線基地局では、通信データ量は飛躍的に増加している。それに伴い、無線基地局での処理を実行する基板内部のＣＰＵ(Central Processing Unit)、ＤＳＰ(Digital Signal Processor)、ＦＰＧＡ(Field Programmable Gate Array)などのデバイスでの信号処理量も増加している。その結果、これらのデバイス間での通信速度も増加している。
【０００３】
Ｓｅｒｉａｌ  ＲａｐｉｄＩＯ（登録商標）は、このような基板内部の各種デバイスをシリアル回線を介してスイッチと接続し、各デバイス間で最大１０Ｇｂｐｓの高速通信を可能にするための規格である（たとえば、非特許文献１を参照）。無線基地局のデバイスも、このＳｅｒｉａｌ  ＲａｐｉｄＩＯ（登録商標）の規格に対応したものが実用化されつつある。
【０００４】
Ｓｅｒｉａｌ  ＲａｐｉｄＩＯ（登録商標）では、通信を行なうためのパケットが規定されている。たとえば、タイプがＮＲＥＡＤであるパケットは、相手側のデバイスからデータのリードを要求するリードパケットである。また、タイプがＮＷＲＩＴＥであるパケットは、相手側のデバイスへデータをライトするライトパケットである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】RapidIO Interconnect Specification インターネット（URL:http://www.rapidio.org)
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、Ｓｅｒｉａｌ  ＲａｐｉｄＩＯ（登録商標）のライトパケットは、同一の転送元、転送先のデバイスに対するリードパケットよりもプライオリティが高く設定されている。
【０００７】
図９は、従来のパケットの伝送例を説明するための図である。
図９を参照して、デバイスＡを転送元デバイス、デバイスＢを転送先デバイスとしたライトパケットＮＷＲＩＴＥ（１）、ライトパケットＮＷＲＩＴＥ（２）、リードパケットＮＲＥＡＤ（１）、ライトパケットＮＷＲＩＴＥ（３）、ライトパケットＮＷＲＩＴＥ（４）が順次デバイスＡから出力されて、スイッチ１へ入力されて、スイッチ１内のバッファ内に蓄積される。
【０００８】
ライトパケットＮＷＲＩＴＥ（３），ＮＷＲＩＴＥ（４）はリードパケットＮＲＥＡＤ（１）よりも後の時刻にスイッチ１に入力されたにも係らず、ライトパケットのプライオリティは、リードパケットのプライオリティよりも高いため、スイッチ１は、バッファからライトパケットＮＷＲＩＴＥ（３），ＮＷＲＩＴＥ（４）をリードパケットＮＲＥＡＤ（１）よりも先に取り出してデバイスＢへ出力する。スイッチ１のバッファ内に転送元デバイスがデバイスＡで、転送先デバイスがデバイスＢであるライトパケットが存在しなくなってはじめて、リードパケットＮＲＥＡＤ（１）がバッファから出力される。
【０００９】
しかしながら、無線通信の処理を行なうデバイス間では、連続してデータ通信がなされることが多く、多数のライトパケットの間にリードパケットが挿入される場合がある。このような場合には、リードパケットはスイッチ１のバッファ２に蓄積されたままとなり、読出要求が相手先のデバイスへいつまで経っても届かないという問題がある。
【００１０】
それゆえに、本発明では、リードパケットの伝送のプライオリティがライトパケットよりも低い場合でも、読出要求を遅延することなく相手先のデバイスへ届けることができるようなデータ伝送システムおよびその読出し方法を提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明は、マルチポートスイッチと、マルチポートスイッチのポートに１または複数のシリアルバスを介して接続される第１および第２のデバイスとを備えたデータ伝送システムであって、マルチポートスイッチは、バッファと、バッファ内に転送先と転送元が同一のライトパケットとリードパケットがある場合に、ライトパケットを優先して出力する優先制御部とを備え、第１および第２のデバイスは、メモリと、生成したパケットをスイッチへ出力する出力部と、スイッチからパケットを受信する受信部と、受信したライトパケットの書込アドレス部分で指定されるメモリのアドレスに、受信したライトパケットのペイロード部分に含まれるデータを書込む書込処理部とを備え、第１のデバイスは、第２のデバイスのメモリの所定のアドレスを書込アドレス部分に含み、かつペイロード部分に第２のデバイスのメモリの読出アドレスを含む読出要求用ライトパケットを生成する読出要求部を備え、第２のデバイスは、メモリの所定のアドレスにデータが書き込まれた場合に、読出要求を受けたことを検知し、所定のアドレスに書き込まれたメモリの読出アドレスからデータを読出し、読出したデータをペイロード部分に含む読出応答用ライトパケットを生成する読出応答部を備える。
【００１２】
好ましくは、第１のデバイスにおいて、読出要求部は、ペイロード部分に、さらに読出サイズを含む読出要求用ライトパケットを生成し、第２のデバイスにおいて、読出応答部は、メモリの所定のアドレスに書込まれた読出サイズだけ、メモリからデータを読出し、読出サイズ分の読出したデータをぺイロード部分に含む読出応答用ライトパケットを生成する。
【００１３】
好ましくは、第１のデバイスにおいて、読出要求部は、ペイロード部分に、さらに読出したデータの書込先の第１のデバイスのメモリのアドレスを含む読出要求用ライトパケットを生成し、第２のデバイスにおいて、読出応答部は、書込アドレス部分でメモリの所定のアドレスに書込まれた第１のデバイスのメモリのアドレスを指定した読出応答用ライトパケットを生成する。
【００１４】
好ましくは、第２のデバイスにおいて、読出応答部は、読出応答用ライトパケットの生成後に、検知した読出要求への応答が終了したことを通知する割込パケットを生成する。
【００１５】
好ましくは、第１のデバイスと第２のデバイスの間に、さらに割込用配線が接続され、第２のデバイスにおいて、読出応答部は、読出応答用ライトパケットの生成後に、割込用配線を通じて、検知した読出要求への応答が終了したことを通知する。
【００１６】
また、本発明は、マルチポートスイッチと、マルチポートスイッチのポートに１または複数のシリアルバスを介して接続される第１および第２のデバイスとを備えたデータ伝送システムにおけるデータ読出し方法であって、マルチポートスイッチは、バッファとバッファ内に転送先と転送元が同一のライトパケットとリードパケットがある場合に、ライトパケットを優先して出力する優先制御部とを備え、データ読出し方法は、第１のデバイスが、第２のデバイスのメモリの所定のアドレスを書込アドレス部分に含み、かつペイロード部分に第２のデバイスのメモリ読出アドレスを含む読出要求用ライトパケットを生成するステップと、第１のデバイスが、生成された読出要求用ライトパケットをスイッチを介して第２のデバイスに送信するステップと、第２のデバイスが、読出要求用ライトパケットを受信するステップと、第２のデバイスが、受信した読出要求用ライトパケットの書込アドレス部分で指定されるメモリのアドレスに、受信した読出要求用ライトパケットのペイロード部分のデータを書込むステップと、第２のデバイスが、メモリの所定のアドレスにデータが書き込まれた場合に、読出要求を受けたことを検知し、所定のアドレスに書き込まれたメモリの読出アドレスからデータを読出し、読出したデータをペイロード部分に含む読出応答用ライトパケットを生成するステップと、第２のデバイスが、生成された読出応答用ライトパケットをスイッチを介して第１のデバイスに送信するステップと、第１のデバイスが、読出応答用ライトパケットを受信するステップとを備える。
【発明の効果】
【００１７】
本発明によれば、リードパケットの伝送のプライオリティがライトパケットよりも低い場合でも、読出要求を遅延することなく相手先のデバイスへ届けることができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態のデータ伝送システムを表わす図である。
【図２】本発明の実施形態のパケットの伝送例を説明するための図である。
【図３】要求を発する要求元デバイスと、スイッチと、要求を受ける要求先デバイスの構成を表わす図である。
【図４】本発明の実施形態のパケットの構成を表わす図である。
【図５】ライトの動作手順を表わすフローチャートである。
【図６】通常リードの動作手順を表わすフローチャートである。
【図７】特殊リードの動作手順を表わすフローチャートである。
【図８】変形例の構成を表わす図である。
【図９】従来のパケットの伝送例を説明するための図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について図面を参照して説明する。
（データ伝送システム構成）
図１は、本発明の実施形態のデータ伝送システムを表わす図である。
【００２０】
図１を参照して、このデータ伝送システムは、基板９０上に、複数のデバイスＡ〜Ｄとスイッチ１とが搭載されている。デバイスＡは、スイッチ１のポートＡとシリアルバス５１を通じて接続する。デバイスＢは、スイッチ１のポートＢとシリアルバス５２を通じて接続する。デバイスＣは、スイッチ１のポートＣとシリアルバス５３を通じて接続する。デバイスＤは、スイッチ１のポートＤとシリアルバス５４を通じて接続する。
【００２１】
（本発明の実施形態の処理概要）
図２は、本発明の実施形態のパケットの伝送例を説明するための図である。
【００２２】
図２を参照して、デバイスＡを転送元デバイス、デバイスＢを転送先デバイスとしたライトパケットＮＷＲＩＴＥ（１）、ライトパケットＮＷＲＩＴＥ（２）、読出要求用ライトパケットＮＷＲＩＴＥ（Ｒ）、ライトパケットＮＷＲＩＴＥ（３）、ライトパケットＮＷＲＩＴＥ（４）が順次デバイスＡから出力されて、スイッチ１へ入力されて、スイッチ１内のバッファ内に蓄積される。読出要求用ライトパケットＮＷＲＩＴＥ（Ｒ）は、ライトパケットの構成を有するが、転送先デバイスＢに対して、データのリードを要求するパケットである。このパケットの詳細は、後述する。
【００２３】
読出要求用ライトパケットＮＷＲＩＴＥ（Ｒ）は、ライトパケットなので、後続のＮＷＲＩＴＥ（３），ＮＷＲＩＴＥ（４）と同一のプライオリティを有するため、出力順序が変更されない。したがって、スイッチ１は、ライトパケットＮＷＲＩＴＥ（２）の次に読出要求用ライトパケットＮＷＲＩＴＥ（Ｒ）をバッファから取り出してデバイスＢへ出力する。
【００２４】
（デバイスおよびスイッチの構成）
図３は、要求を発する要求元デバイスと、スイッチと、要求を受ける要求先デバイスの構成を表わす図である。要求元デバイスは、たとえば図１のデバイスＡとし、要求先デバイスは、たとえば図１のデバイスＢとする。
【００２５】
図３を参照して、要求元デバイス１０とスイッチ１の間は、シリアルバス４１で接続されている。スイッチ１と要求先デバイス２０の間は、シリアルバス４２で接続されている。
【００２６】
要求元デバイス１０は、メモリ１１と、書込要求部１２と、通常読出要求部１４と、特殊読出要求部１３と、書込処理部１５と、パケット出力部１６と、パケット受信部１７と、パケット解釈部１８とを備える。
【００２７】
パケット出力部１６は、生成したパケットをシリアルバスを介してスイッチ１へ出力する。
【００２８】
パケット受信部１７は、シリアルバスを介してスイッチ１から出力されるパケットを受信する。
【００２９】
パケット解釈部１８は、受信したパケットのトランザクションタイプを参照して、受信したパケットがライトパケット（ＮＷＲＩＴＥ）か、レスポンスパケット（ＲＥＳＰＯＮＳＥ）か、割込パケット（ＤＯＯＲＢＥＬＬ）のいずれであるかを解釈する。パケット解釈部１８は、受信したパケットがライトパケットの場合には、受信したパケットを書込処理部１５に出力する。パケット解釈部１８は、受信したパケットがレスポンスパケットの場合には、受信したパケットを通常読出要求部１４に出力する。パケット解釈部１８は、受信したパケットが割込パケットの場合には、受信したパケットを特殊読出要求部１３に出力する。
【００３０】
メモリ１１には、受信したライトパケットのペイロード部分に含まれるライトデータが書込まれる。
【００３１】
書込要求部１２は、書込アドレス部分に要求先デバイス２０のメモリ２７のアドレスを指定し、書込サイズ部分でライトデータのサイズを指定し、ペイロード部分にライトデータを含むライトパケットを生成する。
【００３２】
通常読出要求部１４は、読出アドレス部分に要求先デバイス２０のメモリ２７のアドレスを指定し、読出サイズ部分でリードデータのサイズを指定したリードパケットを生成する。通常読出要求部１４は、リードパケットに応答して要求先デバイス２０から送信されてくるレスポンスパケットのペイロード部分からリードデータを取り出す。
【００３３】
特殊読出要求部１３は、書込アドレス部分に要求先デバイス２０のメモリ２７の所定のアドレス（固定アドレス）を指定し、ペイロード部分に要求先デバイス２０のメモリ２７のアドレスを読出アドレスとして含み、メモリ２７の読出アドレスから読出すリードデータのサイズを読出サイズとして含み、要求元デバイス１０のメモリ１１のアドレスを読出したリードデータの書込アドレスとして含むような読出要求用ライトパケットを生成する。また、特殊読出要求部１３は、要求先デバイス２０から割込パケットを受信したときに、特殊読出要求の応答が終了したことを検知する。
【００３４】
書込処理部１５は、受信したライトパケットの書込アドレス部分で指定されるメモリ１１のアドレスに、受信したライトパケットのペイロード部分に含まれるデータを書込む。
【００３５】
スイッチ１は、通信部４と、バッファ２と、優先制御部３とを備える。
通信部４は、デバイス１０または２０から出力されたパケットを受信し、バッファ２に出力する。また、通信部４は、バッファ２に蓄積されているパケットをデバイス１０または２０へ送信する。
【００３６】
バッファ２は、一方のデバイスから出力されたパケットを蓄積し、他方のデバイスが受信可能になったときに出力する。
【００３７】
優先制御部３は、バッファ２内に転送先と転送元が同一のライトパケットとリードパケットがある場合に、ライトパケットを優先して出力する。優先制御部３は、パケットに含まれるトランザクションタイプに従って、ライトパケット（ＮＷＲＩＴＥ）かリードパケット（ＮＲＥＡＤ）かを識別する。
【００３８】
要求先デバイス２０は、メモリ２７と、パケット受信部２１と、パケット解釈部２２と、パケット出力部２３と、書込処理部２４と、読出処理部２５と、特殊読出要求応答部２６とを備える。
【００３９】
パケット出力部２３は、生成したパケットをシリアルバスを介してスイッチ１へ出力する。
【００４０】
パケット受信部２１は、シリアルバスを介してスイッチ１から出力されるパケットを受信する。
【００４１】
パケット解釈部２２は、受信したパケットのトランザクションタイプを参照して、受信したパケットがライトパケット（ＮＷＲＩＴＥ）か、リードパケット（ＮＲＥＡＤ）のいずれであるかを解釈する。パケット解釈部は、受信したパケットがライトパケットの場合には、受信したパケットを書込処理部に出力する。パケット解釈部は、受信したパケットがリードパケットの場合には、受信したパケットを読出処理部２５に出力する。
【００４２】
メモリ２７には、要求元デバイス１０から出力されたライトパケットのペイロード部分に含まれるライトデータが書込まれる。また、メモリ２７から読出されたリードデータが要求元デバイス１０へ出力されるレスポンスパケットまたは読出応答用ライトパケットののペイロード部分に含まれる。
【００４３】
書込処理部２４は、受信したライトパケットの書込アドレス部分で指定されるメモリ２７のアドレスに、書込サイズ部分で指定されるサイズだけ、ペイロード部分に含まれるライトデータを書込む。
【００４４】
読出処理部２５は、受信したパケットの読出アドレス部分で指定されるメモリ２７のアドレスを起点として読出サイズ部分で指定されるサイズだけメモリ２７からデータを読出す。読出処理部２５は、読出したリードデータをぺイロード部分に含むレスポンスパケットを生成する。
【００４５】
特殊読出要求応答部２６は、メモリ２７の所定のアドレスにデータが書込まれた場合に、読出要求を受けたことを検知し、メモリ２７の所定のアドレスに書込まれたメモリ２７の読出アドレスと、読出サイズと、メモリ１１の書込アドレスとを読出す。特殊読出要求応答部２６は、メモリ２７の読出アドレスから読出サイズだけデータを読出す。特殊読出要求応答部２６は、書込アドレス部分に読出したメモリ１１の書込アドレスを含み、ペイロード部分に読出したリードデータを含む読出応答用ライトパケットを生成する。また、特殊読出要求応答部２６は、読出応答用ライトパケットの生成後、さらに割込パケットを生成する。
【００４６】
（パケットの構成）
図４は、本発明の実施形態のパケットの構成を表わす図である。これらのパケットは、Ｓｅｒｉａｌ  ＲａｐｉｄＩＯ（登録商標）規格に準拠する。
【００４７】
図４（ａ）は、リードパケットの構成を表わす図である。このリードパケットは、通常読出要求を発するときに伝送される。
【００４８】
図４（ａ）を参照して、リードパケットは、要求元デバイスＩＤと、要求先デバイスＩＤと、トランザクションタイプと、トランザクションＩＤと、Ｒ＿ＡＤＤと、Ｒ＿ＳＩＺＥとを含む。要求元デバイスＩＤには、通常読出要求を発したデバイスを識別するためのＩＤが記述される。要求先デバイスＩＤには、通常読出要求を受けるデバイスを識別するためのＩＤが記述される。トランザクションタイプには、ＮＲＥＡＤが記述される。トランザクションＩＤには、このパケットを識別するためのＩＤが記述される。Ｒ＿ＡＤＤ（読出アドレス部分）には、データの読出し対象である要求先デバイスのメモリアドレスが記述される。Ｒ＿ＳＩＺＥ（読出サイズ部分）には、Ｒ＿ＡＤＤで指定されるメモリアドレスを起点として何バイトのデータを読出すかが記述される。
【００４９】
図４（ｂ）は、通常ライトパケットの構成を表わす図である。この通常ライトパケットは、書込要求を発するときに伝送される。
【００５０】
図４（ｂ）を参照して、通常ライトパケットは、要求元デバイスＩＤと、要求先デバイスＩＤと、トランザクションタイプと、トランザクションＩＤと、Ｗ＿ＡＤＤと、Ｗ＿ＳＩＺＥと、ライトデータを含む。要求元デバイスＩＤには、書込要求を発したデバイスを識別するためのＩＤが記述される。要求先デバイスＩＤには、書込要求を受けるデバイスを識別するためのＩＤが記述される。トランザクションタイプには、ＮＷＲＩＴＥが記述される。トランザクションＩＤには、このパケットを識別するためのＩＤが記述される。Ｗ＿ＡＤＤ（書込アドレス部分）には、ペイロード部分が書込まれる要求先デバイス２０のメモリアドレスが記述される。Ｗ＿ＳＩＺＥ（書込サイズ部分）には、Ｗ＿ＡＤＤで指定されるメモリアドレスを起点として何バイトのデータを書込むかが記述される。ライトデータは、ぺイロード部分に含まれる。
【００５１】
図４（ｃ）は、レスポンスパケットの構成を表わす図である。このレスポンスパケットは、通常読出要求に対して返信（レスポンス）するときに伝送される。
【００５２】
図４（ｃ）を参照して、レスポンスパケットは、要求元デバイスＩＤと、要求先デバイスＩＤと、トランザクションタイプと、ステータスと、リードデータを含む。要求元デバイスＩＤには、レスポンスを発したデバイス、つまり通常読出要求を受けたデバイスを識別するためのＩＤが記述される。要求先デバイスＩＤには、レスポンスを受けるデバイス、つまり通常読出要求を発したデバイスを識別するためのＩＤが記述される。トランザクションタイプには、ＲＥＳＰＯＮＳＥが記述される。トランザクションＩＤには、このパケットを識別するためのＩＤが記述される。ステータスには、通常読出要求による処理、つまり読出し処理が正常に実行されたかが記述される。リードデータは、ぺイロード部分に含まれ、読出し処理で得られたデータを含む。
【００５３】
図４（ｄ）は、読出要求用ライトパケットの構成を表わす図である。この読出要求用ライトパケットは、特殊読出要求を発するときに伝送される。
【００５４】
図４（ｄ）を参照して、読出要求用ライトパケットは、要求元デバイスＩＤと、要求先デバイスＩＤと、トランザクションタイプと、トランザクションＩＤと、Ｗ＿ＡＤＤと、Ｗ＿ＳＩＺＥとを含む。要求元デバイスＩＤには、特殊読出要求を発したデバイスを識別するためのＩＤが記述される。要求先デバイスＩＤには、特殊読出要求を受けるデバイスを識別するためのＩＤが記述される。トランザクションタイプには、ＮＷＲＩＴＥが記述される。トランザクションＩＤには、このパケットを識別するためのＩＤが記述される。Ｗ＿ＡＤＤ（書込アドレス部分）には、ペイロード部分が書込まれる要求先デバイスのメモリアドレスが記述される。読出要求用ライトパケットでは、Ｗ＿ＡＤＤは、所定の値「１００００」である。Ｗ＿ＳＩＺＥ（書込サイズ部分）には、Ｗ＿ＡＤＤで指定されるメモリアドレスを起点として何バイトのデータを書込むかが記述される。さらに、読出要求用ライトパケットは、ぺイロード部分に、Ｒ＿ＡＤＤと、Ｒ＿ＳＩＺＥと、ＲＴ＿ＡＤＤを含む。Ｒ＿ＡＤＤには、データの読出し対象である要求先デバイスのメモリアドレスが記述される。Ｒ＿ＳＩＺＥには、Ｒ＿ＡＤＤで指定されるメモリアドレスを起点として何バイトのデータを読出すかが記述される。ＲＴ＿ＡＤＤには、読出したデータを書込む要求元デバイスのメモリアドレスが記述される。
【００５５】
図４（ｅ）は、読出応答用ライトパケットの構成を表わす図である。この読出応答用ライトパケットは、特殊読出要求に対して返信（レスポンス）するときに伝送される。
【００５６】
図４（ｅ）を参照して、読出応答用ライトパケットは、要求元デバイスＩＤと、要求先デバイスＩＤと、トランザクションタイプと、トランザクションＩＤと、Ｗ＿ＡＤＤと、Ｗ＿ＳＩＺＥと、リードデータとを含む。要求元デバイスＩＤには、特殊読出要求に対するレスポンスを発したデバイスを識別するためのＩＤが記述される。要求先デバイスＩＤには、特殊読出要求に対するレスポンスを受けるデバイスを識別するためのＩＤが記述される。トランザクションタイプには、ＮＷＲＩＴＥが記述される。トランザクションＩＤには、このパケットを識別するためのＩＤが記述される。Ｗ＿ＡＤＤ（書込アドレス部分）には、ペイロード部分が書込まれる要求先デバイスのメモリアドレスが記述される。読出応答用ライトパケットでは、読出要求用ライトパケットに含まれるＲＴ＿ＡＤＤが記述される。Ｗ＿ＳＩＺＥ（書込サイズ部分）には、Ｗ＿ＡＤＤで指定されるメモリアドレスを起点として何バイトのデータを書込むかが記述される。読出応答用ライトパケットでは、読出要求用ライトパケットに含まれるＲ＿ＳＩＺＥが記述される。リードデータは、ぺイロード部分に含まれ、読出し処理で得られたデータを含む。
【００５７】
図４（ｆ）は、割込パケットの構成を表わす図である。この割込パケットは、特殊読出要求に対するレスポンスが終了したことを割込通知するときに伝送される。
【００５８】
図４（ｆ）を参照して、割込パケットは、要求元デバイスＩＤと、要求先デバイスＩＤと、トランザクションタイプと、トランザクションＩＤとを含む。要求元デバイスＩＤには、割込通知を発したデバイスを識別するためのＩＤが記述される。要求先デバイスＩＤには、割込通知を受けるデバイスを識別するためのＩＤが記述される。トランザクションタイプには、ＤＯＯＲＢＥＬＬが記述される。トランザクションＩＤには、このパケットを識別するためのＩＤが記述される。
【００５９】
（ライト動作）
図５は、ライトの動作手順を表わすフローチャートである。
【００６０】
図５を参照して、まず、要求元デバイス１０の書込要求部１２が、図４（ｂ）に示すようなライトパケットを生成する（ステップＳ１０１）。
【００６１】
次に、要求元デバイス１０のパケット出力部１６が、ライトパケットをスイッチ１へ出力する（ステップＳ１０２）。
【００６２】
次に、スイッチ１の通信部４が、ライトパケットを受信して、バッファ２にライトパケットを記憶する。優先制御部３は、バッファ２内に先に蓄積されたパケットが存在しなくなったときに、ライトパケットを取り出して、通信部４へ出力する。ただし、優先制御部３は、バッファ２内に、要求元と要求先のデバイスが同一で、かつ先行するリードバケットが存在する場合でも、そのリードパケットよりも先にライトパケットを取り出して、通信部４に出力する。通信部４は、ライトパケットを要求先デバイス２０に出力する（ステップＳ１０３）。
【００６３】
次に、要求先デバイス２０のパケット受信部２１が、スイッチ１からパケットを受信する（ステップＳ１０４）。
【００６４】
次に、要求先デバイス２０のパケット解釈部２２が、受信したパケットのトランザクションタイプがＮＷＲＩＴＥであることから、ライトパケットであると解釈する（ステップＳ１０５）。
【００６５】
次に、要求先デバイス２０の書込処理部２４が、受信したパケットのＷ＿ＡＤＤで指定されるメモリアドレスを起点としてＷ＿ＳＩＺＥで指定されるサイズだけペイロードに含まれるライトデータをメモリ２７に書込む（ステップＳ１０６）。
【００６６】
（通常リード動作）
図６は、通常リードの動作手順を表わすフローチャートである。
【００６７】
図６を参照して、まず、要求元デバイス１０の通常読出要求部１４が、図４（ａ）に示すようなリードパケットを生成する（ステップＳ２０１）。
【００６８】
次に、要求元デバイス１０のパケット出力部１６が、リードパケットをスイッチ１へ出力する（ステップＳ２０２）。
【００６９】
次に、スイッチ１の通信部４が、リードパケットを受信して、バッファ２にリードパケットを記憶する。優先制御部３は、バッファ２内に要求元と要求先のデバイスが同一のライトパケットが存在せず、かつ先行するリードパケットが存在しなくなったときに、記憶したリードパケットを取り出して、通信部４へ出力する。通信部４は、リードパケットを要求先デバイス２０に出力する（ステップＳ２０３）。
【００７０】
次に、要求先デバイス２０のパケット受信部２１が、スイッチ１からパケットを受信する（ステップＳ２０４）。
【００７１】
次に、要求先デバイス２０のパケット解釈部２２が、受信したパケットのトランザクションタイプがＮＲＥＡＤであることから、リードパケットであると解釈する（ステップＳ２０５）。
【００７２】
次に、要求先デバイス２０の読出処理部２５が、受信したパケットのＲ＿ＡＤＤで指定されるメモリアドレスを起点としてＲ＿ＳＩＺＥで指定されるサイズだけメモリ２７からデータを読出す（ステップＳ２０６）。
【００７３】
次に、要求先デバイス２０の読出処理部２５が、図４（ｃ）に示すようなレスポンスパケットを生成する（ステップＳ２０７）。
【００７４】
次に、要求先デバイス２０のパケット出力部２３が、レスポンスパケットをスイッチ１へ出力する（ステップＳ２０８）。
【００７５】
次に、スイッチ１の通信部４が、レスポンスパケットを受信して、バッファ２にレスポンスパケットを記憶する。優先制御部３は、バッファ２内に先行するパケットが存在しなくなったときに、記憶したレスポンスパケットを取り出して、通信部４へ出力する。通信部４は、レスポンスパケットを要求先デバイス２０に出力する（ステップＳ２０９）。
【００７６】
次に、要求元デバイス１０のパケット受信部７が、スイッチ１からパケットを受信する（ステップＳ２１０）。
【００７７】
次に、要求元デバイス１０のパケット解釈部１８が、受信したパケットのトランザクションタイプがＲＥＳＰＯＮＳＥであることから、レスポンスパケットであると解釈する（ステップＳ２１１）。
【００７８】
次に、要求元デバイス１０の通常読出要求部１４が、受信したパケットのペイロード部分からリードデータを取り出す（ステップＳ２１２）。
【００７９】
（特殊リード動作）
図７は、特殊リードの動作手順を表わすフローチャートである。
【００８０】
図７を参照して、まず、要求元デバイス１０の特殊読出要求部１３が、図４（ｄ）に示すような読出要求用ライトパケットを生成する（ステップＳ３０１）。
【００８１】
次に、要求元デバイス１０のパケット出力部１６が、読出要求用ライトパケットをスイッチ１へ出力する（ステップＳ３０２）。
【００８２】
次に、スイッチ１の通信部４が、読出要求用ライトパケットを受信して、バッファ２に読出要求用ライトパケットを記憶する。優先制御部３は、バッファ２内に先に蓄積されたパケットが存在しなくなったときに、読出要求用ライトパケットを取り出して、通信部４へ出力する。ただし、優先制御部３は、バッファ２内に、要求元と要求先のデバイスが同一で、かつ先行するリードバケットが存在する場合でも、そのリードパケットよりも先に読出要求用ライトパケットを取り出して、通信部４に出力する。通信部４は、読出要求用ライトパケットを要求先デバイス２０に出力する（ステップＳ３０３）。
【００８３】
次に、要求先デバイス２０のパケット受信部２１が、スイッチ１からパケットを受信する（ステップＳ３０４）。
【００８４】
次に、要求先デバイス２０のパケット解釈部２２が、受信したパケットのトランザクションタイプがＮＷＲＩＴＥであることから、ライトパケットであると解釈する（ステップＳ３０５）。
【００８５】
次に、要求先デバイス２０の書込処理部２４が、受信したパケットのＷ＿ＡＤＤで指定されるメモリアドレスを起点としてＷ＿ＳＩＺＥで指定されるサイズだけペイロードに含まれるライトデータをメモリ２７に書込む（ステップＳ３０６）。
【００８６】
次に、要求先デバイス２０の特殊読出要求応答部２６が、メモリ２７内のアドレス「１００００」にデータが記憶されていることから、特殊読出要求を受けたことを検知する（ステップＳ３０７）。
【００８７】
次に、要求先デバイス２０の特殊読出要求応答部２６が、アドレス「１００００」に書込まれたＲ＿ＡＤＤと、Ｒ＿ＳＩＺＥと、ＲＴ＿ＡＤＤとを読出す。特殊読出要求応答部２６が、読出したＲ＿ＡＤＤで指定されるメモリアドレスを起点としてＲ＿ＳＩＺＥで指定されるサイズだけメモリ２７からデータを読出す（ステップＳ３０８）。
【００８８】
次に、要求先デバイス２０の特殊読出要求応答部２６が、図４（ｅ）に示すような読出応答用ライトパケットを生成する（ステップＳ３０９）。
【００８９】
次に、要求先デバイス２０のパケット出力部２３が、読出応答用ライトパケットをスイッチ１へ出力する（ステップＳ３１０）。
【００９０】
次に、スイッチ１の通信部４が、読出応答用ライトパケットを受信して、バッファ２に読出応答用ライトパケットを記憶する。優先制御部３は、バッファ２内に先に蓄積されたパケットが存在しなくなったときに、読出応答用ライトパケットを取り出して、通信部４へ出力する。ただし、優先制御部３は、バッファ２内に、要求元と要求先のデバイスが同一で、かつ先行するリードバケットが存在する場合でも、そのリードパケットよりも先に読出応答用ライトパケットを取り出して、通信部４に出力する。通信部４は、読出応答用ライトパケットを要求先デバイス２０に出力する（ステップＳ３１１）。
【００９１】
次に、要求元デバイス１０のパケット受信部７が、スイッチ１からパケットを受信する（ステップＳ３１２）。
【００９２】
次に、要求元デバイス１０のパケット解釈部１８が、受信したパケットのトランザクションタイプがＮＷＲＩＴＥであることから、ライトパケットであると解釈する（ステップＳ３１３）。
【００９３】
次に、要求元デバイス１０の書込処理部１５が、受信したパケットのＷ＿ＡＤＤで指定されるメモリアドレスを起点としてＷ＿ＳＩＺＥで指定されるサイズだけペイロードに含まれるライトデータをメモリ２７に書込む（ステップＳ３１４）。
【００９４】
次に、要求先デバイス２０の特殊読出要求応答部２６が、図４（ｆ）に示すような割込パケットを生成する（ステップＳ３１５）。
【００９５】
次に、要求先デバイス２０のパケット出力部２３が、割込パケットをスイッチ１へ出力する（ステップＳ３１６）。
【００９６】
次に、スイッチ１の通信部４が、割込みパケットを受信して、バッファ２に割込みパケットを記憶する。優先制御部３は、バッファ２内に先行するパケットが存在しなくなったときに、記憶した割込パケットを取り出して、通信部４へ出力する（ステップＳ３１７）。
【００９７】
次に、要求元デバイス１０のパケット受信部７が、スイッチ１からパケットを受信する（ステップＳ３１８）。
【００９８】
次に、要求元デバイス１０のパケット解釈部１８が、受信したパケットのトランザクションタイプがＤＯＯＲＢＥＬＬであることから、割込パケットであると解釈して、このパケットを特殊読出要求部１３に出力する（ステップ３１９）。
【００９９】
次に、要求元デバイス１０の特殊読出要求部１３が、特殊読出要求の応答が終了したことを検知する（ステップＳ３２０）。
【０１００】
以上のように、本発明の実施形態の伝送システムによれば、Ｓｅｒｉａｌ  ＲａｐｉｄＩＯ（登録商標）のようなリードパケットの伝送のプライオリティがライトパケットよりも低い場合でも、ライトパケットを用いて、相手側のデバイスの特定のアドレスに、相手先のデバイスのメモリの読出アドレスと、読出サイズと、自分側のデバイスのメモリの書込アドレスを書込むことで、読出要求を遅延することなく相手先のデバイスへ届けることができる。
【０１０１】
（変形例）
（１）  割込み
図８は、変形例の構成を表わす図である。
【０１０２】
図８を参照して、図８の変形例が図３の実施形態の構成と相違するのは、次の点である。
【０１０３】
まず、要求元デバイス１０と要求先デバイス２０とが直接、割込用配線６１で接続されている。特殊読出要求応答部１２６は、読出応答用ライトパケットの生成後に、特殊読出要求部１１３に対して、割込用配線６１を通じて、特殊読出要求に対する応答処理が終了したことを通知する。
【０１０４】
（２）  要求元デバイスと要求先デバイス
本発明の実施形態では、デバイス１０が読出要求、特殊読出および書込要求を発し、デバイス２０がこれらの要求を受けるものとして説明したが、これに限定するものではない。デバイスＡが、ある時点でこれらの要求をデバイスＢに発するとともに、別の時点でデバイスＢまたはデバイスＣからこれらの要求を受けるものとしてもよい。この場合には、デバイスＡには、本発明の実施形態で説明した要求元デバイスの構成要素と、要求先デバイスの構成要素の両方を備えることとなる。
【０１０５】
（３）  シリアルバス
本発明の実施形態では、デバイスがスイッチのポートに１つのシリアルバスを介して接続されるものとして説明したが、これに限定するものではない。たとえば、デバイスがスイッチのポートに複数本のシリアルバスを介して接続されるものとしてもよい。
【０１０６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１０７】
１  スイッチ、２  バッファ、３  優先制御部、４  通信部、１０  要求元デバイス、１１，２７  メモリ、１３，１１３  特殊読出要求部、１４  通常読出要求部、１５，２４  書込処理部、１６，２３  パケット出力部、１７，２１  パケット受信部、１８，２２  パケット解釈部、２５  読出処理部、２６，１２６  特殊読出要求応答部、６１  割込用配線、４１，４２，５１，５２，５３，５４  シリアルバス、９０  基板。
【図１】
2010212987.tif 000003
【図２】
2010212987.tif 000004
【図３】
2010212987.tif 000005
【図４】
2010212987.tif 000006
【図５】
2010212987.tif 000007
【図６】
2010212987.tif 000008
【図７】
2010212987.tif 000009
【図８】
2010212987.tif 000010
【図９】
2010212987.tif 000011