(57)【特許請求の範囲】
【請求項１】
基板と通信ユニットとを備える情報機器であって、
前記基板は、
データを記憶する記憶部と、
前記通信ユニットが待ち状態でない場合は予め定められた第１サイズで前記記憶部からデータを読み出して前記通信ユニットに送信し、前記通信ユニットが待ち状態の場合は前記第１サイズの複数のデータを合わせて、前記第１サイズより大きい第２サイズのデータを生成し、前記待ち状態が解消した後で前記第２サイズのデータを前記通信ユニットに送信する記憶制御部と、を備え、
前記通信ユニットは、
前記基板と接続され、前記基板との間でデータを送受信可能な第１のコネクタと、
ケーブルと接続され、前記ケーブルを介してデータを送受信可能な第２のコネクタと、
前記第２のコネクタと接続され、前記第２のコネクタとの間の帯域より大きい帯域で前記第１のコネクタと接続され、前記第１のコネクタと前記第２のコネクタとの間でデータを中継する中継部と、を備える、
ことを特徴とする情報機器。
【請求項２】
前記中継部は、前記第１のコネクタと接続するレーンの個数が前記第２のコネクタと接続するレーンの個数より大きく、前記第１のコネクタと接続するレーンのレーンごとの帯域が前記第２のコネクタと接続するレーンと同一であること、
を特徴とする請求項１に記載の情報機器。
【請求項３】
前記中継部は、前記第１のコネクタと接続するレーンの個数が前記第２のコネクタと接続するレーンの個数と同一であり、前記第１のコネクタと接続するレーンのレーンごとの帯域が前記第２のコネクタと接続するレーンより大きいこと、
を特徴とする請求項１に記載の情報機器。
【請求項４】
前記中継部は、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠したプロトコルのデータを他のプロトコルのデータに変換せずに中継すること、
を特徴とする請求項１に記載の情報機器。
【請求項５】
前記第２のコネクタは、ＱＳＦＰ規格に準拠したケーブルと接続可能であること、
を特徴とする請求項１に記載の情報機器。
【請求項６】
前記第２のコネクタは、ＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠した銅線ケーブルと接続可能であること、
を特徴とする請求項１に記載の情報機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ユニットおよび情報機器に関する。
【背景技術】
【０００２】
ＰＣ向けローカルＩＯの標準規格となっているＰＣＩ  Ｅｘｐｒｅｓｓは、従来のパラレルインターフェースを高速シリアルインターフェースに置き換えることで、ＧＢ／ｓｅｃオーダーのメモリバス帯域に近いデータ転送帯域を有する。さらにＰＣＩ  Ｅｘｐｒｅｓｓ規格の普及にともない、ＰＣスロットに直接オプションカードを挿す接続形態から、より離れた機器間の高速データ転送にもＰＣＩ  Ｅｘｐｒｅｓｓ互換の通信プロトコルを用いる技術が使われ始めている。
【０００３】
代表的なものとして、ＰＣＩ  Ｅｘｐｒｅｓｓケーブル規格に準拠したケーブルアダプタや、ＰＣとの接続にはＰＣＩ  Ｅｘｐｒｅｓｓ規格を採用し、ケーブルアダプタ上のブリッジチップによって、ケーブル伝送部にはGigaEthernet（登録商標）、FibreChannel、InfiniBand、GigaChanne、ExpressEtherなどといった、ＰＣＩ  Ｅｘｐｒｅｓｓとは異なる通信プロトコルにプロトコル変換するＰＣＩ  Ｅｘｐｒｅｓｓ互換のケーブルアダプタカードなどが提供されている。
【０００４】
これらのケーブル伝送技術は、いずれも高速シリアル通信方式が採用されており、ケーブル１本の帯域によって、複数のケーブルを使用することが可能である。例えばＰＣＩ  Ｅｘｐｒｅｓｓでは、高速シリアル通信路（差動信号、送受信）１組を１レーンと規定しており、一般には、最大１６本のケーブルを使用して、１６レーンまで通信帯域を拡張できる。このように、データ転送に要求される帯域を超える帯域（接続レーン数）でホストＰＣとケーブルアダプタカードをＰＣＩ  Ｅｘｐｒｅｓｓ通信規格で接続し、ケーブルアダプタカードに接続するケーブル本数を、ホストＰＣ側のＰＣＩ  Ｅｘｐｒｅｓｓ接続帯域に合わせた本数にすることで、ホストＰＣとのケーブル伝送帯域を確保する、ＰＣＩ  Ｅｘｐｒｅｓｓ互換のケーブルアダプタカードが知られている。
【０００５】
特許文献１では、コンピュータシステムの拡張インターフェースをネットワークとして使用しうるシステムおよびそれに関連する機器を提供するために、複数ＰＣの拡張インターフェースに接続するケーブルアダプタカードが提案されている。このケーブルアダプタカードは、ＰＣＩ  Ｅｘｐｒｅｓｓ（×８）カードエッジコネクタ、ＰＣＩ  Ｅｘｐｒｅｓｓ（×８）ケーブルコネクタ、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ、および送受信バッファを備えている。そして、ＰＣと拡張インターフェース同士をケーブルによって接続することによって、双方向の高速通信を実現している。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のケーブルアダプタカードでは、データ転送効率が低下する場合があるという問題があった。例えば、大きなサイズのメモリリードリクエストパケットに対するデータ転送を、ＣＰＵのキャッシュラインサイズ（例えば６４Ｂｙｔｅ）に合わせて、複数の小さいサイズのパケットに分割して応答するＭＣＨ（Memory Control Hub）を有するホストＰＣとの通信に使用する場合を考える。このような場合、従来のケーブルアダプタカードでは、データパケットのプロトコルオーバーヘッド（パケット全体サイズに対する、データペイロードの占める割合の低下）が大きいことから、データ転送効率が低下する。
【０００７】
本発明は、上記に鑑みてなされたものであって、データ転送効率の低下を抑止することができる通信ユニットおよび情報機器を提供することを目的とする。
【課題を解決するための手段】
【０００９】
また、本発明は、基板と通信ユニットとを備える情報機器であって、基板と通信ユニットとを備える情報機器であって、前記基板は、データを記憶する記憶部と、前記通信ユニットが待ち状態でない場合は予め定められた第１サイズで前記記憶部からデータを読み出して前記通信ユニットに送信し、前記通信ユニットが待ち状態の場合は前記第１サイズの複数のデータを合わせて、前記第１サイズより大きい第２サイズのデータを生成し、前記待ち状態が解消した後で前記第２サイズのデータを前記通信ユニットに送信する記憶制御部と、を備え、前記通信ユニットは、前記基板と接続され、前記基板との間でデータを送受信可能な第１のコネクタと、ケーブルと接続され、前記ケーブルを介してデータを送受信可能な第２のコネクタと、前記第２のコネクタと接続され、前記第２のコネクタとの間の帯域より大きい帯域で前記第１のコネクタと接続され、前記第１のコネクタと前記第２のコネクタとの間でデータを中継する中継部と、を備える、ことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、データ転送効率の低下を抑止することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、従来技術によるＰＣＩ  Ｅｘｐｒｅｓｓケーブルアダプタカードの構成例を示すブロック図である。
【図２】図２は、リードリクエストパケットとリードデータパケットの転送タイミングチャートである。
【図３】図３は、本実施の形態に係るプリントシステムの概略構成図である。
【図４】図４は、サーバとプリンタとの間の伝送路を説明するための図である。
【図５】図５は、本実施の形態のケーブルアダプタの構成例を示すブロック図である。
【図６】図６は、本実施の形態のケーブルアダプタのハードウェア構成の一例を示す平面図である。
【図７】図７は、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチの構成例を示すブロック図である。
【図８】図８は、ケーブルアダプタの動作例について説明するための図である。
【図９】図９は、リードリクエストパケットとリードデータパケットの転送タイミングチャートである。
【図１０】図１０は、従来のケーブルアダプタと、本実施の形態のケーブルアダプタのデータ転送効率の差について説明する図である。
【図１１】図１１は、従来のケーブルアダプタと、本実施の形態のケーブルアダプタのデータ転送効率の差について説明する図である。
【図１２】図１２は、従来のケーブルアダプタと、本実施の形態のケーブルアダプタのデータ転送効率の差について説明する図である。
【図１３】図１３は、従来のケーブルアダプタと、本実施の形態のケーブルアダプタのデータ転送効率を実測した結果の差について説明する図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明にかかる通信ユニットおよび情報機器の一実施の形態を詳細に説明する。以下では、通信ユニットを含む情報機器としてのサーバおよびプリンタを備えるプリントシステムを例に説明する。なお、適用可能な装置（システム）はこれらに限られるものではない。
【００１３】
最初に、上記問題の具体例について説明する。チップセットの中には、ＰＣＩ  Ｅｘｐｒｅｓｓインターフェースで大きなペイロードサイズのパケット転送（ＰＣＩ  Ｅｘｐｒｅｓｓ規格におけるMax Payload Size、Max Read Request Size）に対応したチップセットであっても、データ転送先のＩＯポートが混んで待ち状態になっていない限り、リードリクエストに対するデータパケットを、ＣＰＵキャッシュラインサイズの６４Ｂｙｔｅに分割し応答するものが存在する。
【００１４】
ＰＣＩ  Ｅｘｐｒｅｓｓプロトコルでは、リードデータパケットのヘッダサイズが２０Ｂｙｔｅに規定されており、実効転送効率は７６％が理論限界となる。さらに、パケットが分割されると、ＡＣＫパケットやフローコントロールパケットなどのリンク層制御パケットの数が増大するため、データ転送効率はさらに低下して、実測値７０％程度となる。
【００１５】
データ転送効率が悪いために、あるケーブル本数（例えば１本）では必要とする帯域がわずかに不足するような場合は、ケーブルの本数をさらに２倍（１本で不足する場合は２本）に増やさざるを得ない。伝送ケーブルは、銅線の場合でも光ケーブルの場合でも、高速伝送帯域を有して長距離通信が可能なものほど、コストが高い。特に光ケーブルを使用する場合、トランシーバ、レシーバのコストが非常に高く、追加するケーブル１本のコストだけで、アダプターカード全体のコストが数倍に跳ね上がる。
【００１６】
次に、従来のＰＣＩ  Ｅｘｐｒｅｓｓケーブルアダプタカードの一例として、特許文献１に開示されているケーブルアダプタカードの構成と問題点について説明する。
【００１７】
特許文献１のケーブルアダプタカードは、ＰＣＩ  Ｅｘｐｒｅｓｓ（×８）カードエッジコネクタとＰＣＩ  Ｅｘｐｒｅｓｓ（×８）ケーブルコネクタ、およびＰＣＩ  Ｅｘｐｒｅｓｓスイッチと送受信バッファを備え、ＰＣと拡張インターフェース同士をケーブルによって接続することによって、双方向の高速通信を実現する構成がとられている（特許文献１の図３等）。
【００１８】
カードエッジコネクタは、ホストＰＣの拡張スロットに接続される。ケーブルコネクタは、ＰＣＩ  Ｅｘｐｒｅｓｓケーブルが接続される。一般的なケーブルアダプタカードは、ケーブル側の帯域とホストＰＣとの接続帯域とが同じになる構成がとられている。特許文献１の構成例では、ともに×８レーンの帯域となっている。
【００１９】
図１は、従来技術によるＰＣＩ  Ｅｘｐｒｅｓｓケーブルアダプタカードの構成例を示すブロック図である。
【００２０】
図１に示すように、従来は、ケーブルアダプタ２０ａ、２０ｂを介して、２台のホストＰＣ（マザーボード１０ａ、１０ｂ）をケーブルで接続する。なお、図１では、×４レーンの帯域の構成例を示している。マザーボード１０ａ、１０ｂのＭＣＨ１３は、ケーブルアダプタ２０ａ、２０ｂと×４レーンの帯域でリンクが確立するので、チップセットの内部バス帯域は×４レーン分の帯域が割り当てられる。
【００２１】
マザーボード１０ａ、１０ｂから矢印４１で示すメモリリードリクエストパケット（以降リードリクエストと略記）が発行されると、ケーブルアダプタ２０ｂ、２０ａのＰＣＩ  Ｅｘｐｒｅｓｓスイッチ２１、ケーブルコネクタ２２およびＰＣＩ  Ｅｘｐｒｅｓｓケーブル３０を経由して、マザーボード１０ａ側のＭＣＨ１３にリードリクエストパケットが転送される。
【００２２】
マザーボード１０ａのＭＣＨ１３は、要求されたサイズのデータをメモリ１２から読み取り、矢印４２で示すリードデータパケットを応答する。この際、ＭＣＨ１３はＣＰＵ１１のキャッシュラインサイズに合わせてデータを区切って取得する。例えばキャッシュラインサイズが６４Ｂｙｔｅの場合は、要求されたリクエストサイズが１２８Ｂｙｔｅや２５６Ｂｙｔｅであったとしても、６４Ｂｙｔｅごとに区切ってデータを取得して、順次、リードデータパケットを応答する。
【００２３】
図２は、１２８Ｂｙｔｅのリードリクエストが４つ連続した場合の、リードリクエストパケット（１２８Ｂ  Ｒｄ）とリードデータパケット（６４Ｂ  Ｃｐｌ：ＣｐｌはＰＣＩ  Ｅｘｐｒｅｓｓ規格のＣｏｍｐｌｅｔｉｏｎの略）の転送タイミングチャートである。
【００２４】
１２８Ｂｙｔｅのリクエストが４つマザーボード１０ｂから発行されると、マザーボード１０ｂのＭＣＨ１３は６４Ｂｙｔｅのデータパケットを８つに分けて転送する。ＰＣＩ  Ｅｘｐｒｅｓｓのリードデータパケットは、２０Ｂｙｔｅのヘッダ情報（物理層のフレームデータも含む）と、メモリリードデータのペイロードとで構成される。
【００２５】
データ転送効率は以下のように算出される。すなわち、約２４％の損失が生じる転送状態が理論限界となる。
パケットサイズ＝ヘッダ２０Ｂｙｔｅ＋データ６４Ｂｙｔｅ＝８４Ｂｙｔｅ
データ転送効率＝データサイズ／パケットサイズ＝６４／８４＝７６．１％
【００２６】
本実施の形態は、複数の小さいサイズのパケットに分割してデータ転送を行うＭＣＨ（図１のＭＣＨ１３）を有するホストＰＣなどの機器との通信に用いた場合であっても、プロトコルオーバーヘッドの増大を防ぎ、データ転送効率を向上させる。
【００２７】
図３は、本実施の形態のプリントシステム１００の概略構成図である。本実施の形態のプリントシステム１００は、サーバ２００、プリンタ４００、光アクティブケーブル５００、複数の端末８００、およびネットワーク９００などを備えている。
【００２８】
サーバ２００は、いわゆるプリントサーバであり、ネットワーク９００を介して複数の端末（例えば、ＰＣ）８００と接続されている。
【００２９】
サーバ２００は、図４に示されるように、そのマザーボードにＰＣＩ  Ｅｘｐｒｅｓｓの規格に準拠したソケット（ＰＣＩ  Ｅｘｐｒｅｓｓソケット４１０）が搭載されている。そして、各ＰＣＩ  Ｅｘｐｒｅｓｓソケット４１０には、ケーブルアダプタ３００が装着されている。
【００３０】
プリンタ４００は、図２に示されるように、そのマザーボードにＰＣＩ  Ｅｘｐｒｅｓｓの規格に準拠したソケット（ＰＣＩ  Ｅｘｐｒｅｓｓソケット４１０）が搭載されている。そして、各ＰＣＩ  Ｅｘｐｒｅｓｓソケットには、ケーブルアダプタ３００が装着されている。
【００３１】
また、各ケーブルアダプタ３００には、光トランシーバ６００がそれぞれ取り付けられている。
【００３２】
そして、サーバ側の光トランシーバ６００とプリンタ側の光トランシーバ６００とは、光アクティブケーブル５００によって個別に接続されている。ここで、本実施の形態では、光トランシーバ６００は、電気信号と光信号の変換機能を備えている。
【００３３】
ここでは、画像情報（ブラックの画像情報、シアンの画像情報、マゼンタの画像情報、およびイエローの画像情報）が、ラスターイメージの可逆圧縮データの形で、サーバ２００からプリンタ４００に伝送される。
【００３４】
そして、プリンタ４００は、受信した画像情報に応じてカラーの画像を形成する。
【００３５】
図５は、本実施の形態の通信ユニットとしてのケーブルアダプタ３００の構成例を示すブロック図である。図５に示すように、ケーブルアダプタ３００は、ＰＣＩ  Ｅｘｐｒｅｓｓ（×８）のカードエッジコネクタ３２３と、４ＣｈのＱＳＦＰ規格に準拠したコネクタであるケーブルコネクタ３２２と、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１とを備えている。ケーブルアダプタ３００は、例えばＰＣの拡張インターフェース同士を光アクティブケーブル５００によって接続することによって、双方向の高速通信を実現する。
【００３６】
カードエッジコネクタ３２３は、ホストとなる機器（例えばサーバ２００、プリンタ４００）の拡張スロット（例えばマザーボード１０のＰＣＩ  Ｅｘｐｒｅｓｓソケット４１０）に接続する。ケーブルコネクタ３２２は、光アクティブケーブル５００が接続されるコネクタである。
【００３７】
従来のケーブルアダプタカードは、ケーブル側の帯域とホストＰＣとの接続帯域が同じになる構成であった。これに対して、本実施の形態では、ケーブル側の帯域よりもカードエッジ側の帯域が広くなる構成としている。図５では、ケーブル側の帯域を４Ｃｈ（４レーン相当）とし、カードエッジ側が×８レーンとする構成例が示されている。なお、この例ではレーンごとの帯域は同一（例えば５Ｇｂｐｓ）とする。レーンごとの帯域が５Ｇｂｐｓの場合は、ケーブル側の帯域は２０Ｇｂｐｓ（４×５Ｇｂｐｓ）、カードエッジ側の帯域は４０Ｇｂｐｓ（８×５Ｇｂｐｓ）となる。レーン数やレーンごとの帯域はこれに限られるものではなく、カードエッジ側の帯域がケーブル側の帯域より大きくなるものであれば任意の値にできる。
【００３８】
ケーブルコネクタ３２２と光アクティブケーブル５００を用いる代わりに、ＰＣＩ  Ｅｘｐｒｅｓｓケーブル規格に準拠した銅線ケーブルや、その他の高速差動信号を伝送可能なケーブル、および、当該ケーブルに対応するケーブルコネクタを用いてもかまわない。
【００３９】
例えば、短距離向けには、安価なＰＣＩ  Ｅｘｐｒｅｓｓ銅線ケーブルが使用できる。ＰＣＩ  Ｅｘｐｒｅｓｓ銅線ケーブルを使うと、データ信号だけでなく、リファレンスクロック、リセット、および電源制御のサイドバンド信号も利用できるようになる。
【００４０】
図６は、本実施の形態のケーブルアダプタ３００のハードウェア構成の一例を示す平面図である。
【００４１】
ケーブルアダプタ３００は、ボード３１０上に、ケーブルコネクタ３２２、コネクタ３１１、コネクタ３１６、およびＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１などが実装されている。
【００４２】
また、ボード３１０の一端部近傍には、両面にカードエッジコネクタ３２３が形成されている。ここでは、便宜上、ケーブルコネクタ３２２が実装されている面をＡ面とし、それと反対側の面をＢ面という。なお、図６における符号Ｌ１１およびＬ１２は、例えば１０５ｍｍおよび１３０ｍｍである。
【００４３】
また、図６には、ボード３１０上におけるシリアル信号線が最優先で配線されている領域がハッチングで示されている。このシリアル信号線とは、ＰＣＩ  Ｅｘｐｒｅｓｓの伝送路であり、具体的には、カードエッジコネクタ３２３とＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１との間、および、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１とケーブルコネクタ３２２との間の配線である。なお、該配線領域に対応するＢ面側の領域も配線領域である。
【００４４】
コネクタ３１１は、カードエッジコネクタ３２３のサイドバンド信号用の端子と接続されている。これにより、それほど高速で送る必要がないサイドバンド信号を、シリアル信号とは別の伝送媒体（例えば、ＩＥＥＥ８０２．３の規格に準拠したケーブル）を介して送信することができる。その結果、低コスト化を図ることができる。
【００４５】
また、コネクタ３１１は、カードエッジコネクタ３２３の＋３．３Ｖ用の端子と接続されている。これにより、相手側の機器にケーブルアダプタ３００が装着されているか否かを知ることができる。また、コネクタ３１１の２つの端子は、ボード３１０上でループされている。これにより、自分側の機器にケーブルアダプタ３００が装着されているか否かを知ることができる。
【００４６】
コネクタ３１６は、冷却ファンを取り付ける際に、該冷却ファンに電力を供給するためのコネクタである。なお、該電力は、カードエッジコネクタ３２３を介してサーバ２００またはプリンタ４００から供給される。
【００４７】
ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１は、カードエッジコネクタ３２３とケーブルコネクタ３２２との間でデータを中継するＰＣＩ  Ｅｘｐｒｅｓｓ規格に準拠したスイッチ（中継部）として機能する。
【００４８】
次に、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１の構成の一例について説明する。図７は、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１の構成例を示すブロック図である。図７に示すように、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１は、受信ポート（ＲＸ）３５０ａ、３５０ｂと、送信ポート（ＴＸ）３６０ａ、３６０ｂと、を備えている。受信ポート３５０ａおよび送信ポート３６０ａは、×８通信ポートである。受信ポート３５０ｂおよび送信ポート３６０ｂは、×４通信ポートである。
【００４９】
受信ポート３５０ａおよび３５０ｂは、それぞれ受信バッファ３５１ａおよび３５１ｂを備えている。送信ポート３６０ａおよび３６０ｂは、それぞれ再送バッファ３６１ａと送信バッファ３６２ａ、および、再送バッファ３６１ｂと送信バッファ３６２ｂを備えている。
【００５０】
受信バッファ３５１ａ、３５１ｂは、受信したデータを格納するバッファである。送信バッファ３６２ａ、３６２ｂは、送信するデータを格納するバッファである。再送バッファ３６１ａ、３６１ｂは、送信したデータにエラーが生じた場合等に当該データを再送可能とするため、送信したデータを格納するバッファである。
【００５１】
各バッファには、ヘッダ領域３２段、および、データ領域４０９６Ｂｙｔｅのバッファ領域が存在する。受信バッファ３５１ａ、３５１ｂ、および、送信バッファ３６２ｂ、再送バッファ３６１ｂには、それぞれ３２個のリードリクエストパケットが格納できる。
【００５２】
リードデータパケットの格納数は以下のようになる。
（１）１２８Ｂｙｔｅリクエストに対して６４Ｂｙｔｅごとに分割されたリードデータパケットが戻る場合、各ポートの受信バッファ、送信バッファ、再送バッファには、それぞれ３２個のリードデータパケットが格納できる。
ヘッダ：３２段（＝ヘッダバッファサイズ３２段）
データ：６４Ｂｙｔｅ×３２＝２０４８Ｂｙｔｅ（＜データバッファサイズ４０９６Ｂｙｔｅ）
（２）１２８Ｂｙｔｅリクエストに対して１２８Ｂｙｔｅのリードデータパケットが戻る場合、各ポートの受信バッファ、送信バッファ、再送バッファには、それぞれ３２個のリードデータリクエストが格納できる。
ヘッダ：３２段（=ヘッダバッファサイズ３２段）
データ：１２８Ｂｙｔｅ×３２＝４０９６Ｂｙｔｅ（＝データバッファサイズ４０９６Ｂｙｔｅ）
（３）２５６Ｂｙｔｅリクエストに対して２５６Ｂｙｔｅのリードデータパケットが戻る場合、各ポートの受信バッファ、送信バッファ、再送バッファには、それぞれ１６個のリードデータリクエストが格納できる。
ヘッダ：１６段 （<ヘッダバッファサイズ３２段）
データ：２５６Ｂｙｔｅ×１６＝４０９６Ｂｙｔｅ（＝データバッファサイズ４０９６Ｂｙｔｅ）
【００５３】
なお、図７のバッファサイズは一例であり、他のバッファサイズとしてもよい。また、受信バッファサイズ＜送信バッファサイズとなるように構成してもよいし、受信バッファサイズ＞送信バッファサイズとなるように構成してもよい。
【００５４】
図８は、ケーブルアダプタ３００の動作例について説明するための図である。図８は、ケーブルアダプタ３００ａ、３００ｂを介して、２台のホスト機器（例えばサーバ２００とプリンタ４００）それぞれのマザーボード１０ａおよびマザーボード１０ｂを光アクティブケーブル５００で接続した構成例を示している。なお、ケーブルアダプタ３００ａ、３００ｂは、それぞれ上記ケーブルアダプタ３００と同様の構成を備える。図１の構成とは、ケーブル側の帯域よりもカードエッジ側の帯域が広くなるように、カードエッジ側が×８レーンに対して、ケーブル側の帯域が４Ｃｈ（４レーン相当）となっている点が異なる。
【００５５】
マザーボード１０ａ、マザーボード１０ｂのＭＣＨ１３は、ともにケーブルアダプタと×８レーンの帯域でリンクが確立するので、チップセットの内部バス帯域は×８レーン分の帯域が割り当てられる。
【００５６】
マザーボード１０ｂから矢印３４１で示すメモリリードリクエストパケット（以降リードリクエストと略記）が発行されると、ケーブルアダプタ３００ｂ、３００ａのＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１および光アクティブケーブル５００を経由して、マザーボード１０ａ側のＭＣＨ１３にリードリクエストパケットが転送される。
【００５７】
マザーボード１０ａのＭＣＨ１３は、要求されたサイズのデータをメモリ１２から読み取り、矢印３４２で示すリードデータパケットを応答する。この際、ＭＣＨ１３はＣＰＵ１１のキャッシュラインサイズに合わせてデータを区切って取得する。例えばキャッシュラインサイズが６４Ｂｙｔｅの場合は、要求されたリクエストサイズが１２８Ｂｙｔｅや２５６Ｂｙｔｅであったとしても、６４Ｂｙｔｅごとに区切ってデータを取得して、順次、リードデータパケットを応答する。
【００５８】
本実施の形態では、ケーブルアダプタ３００のケーブルの帯域（×４）が、ＭＣＨ１３の内部バス帯域（×８）に対して狭い。このため、ケーブルアダプタ３００のＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１の受信バッファ（図７の受信バッファ３５１）が光アクティブケーブル５００への送信待ちパケットで残容量不足になった後は、ＭＣＨ１３からのリードデータパケット送信に待ち時間が発生する。待ち時間中に、次のリード要求に対する６４Ｂｙｔｅのデータが到着すると、ＭＣＨ１３は待ち状態にある６４Ｂｙｔｅデータと、後から到着した６４Ｂｙｔｅデータを合わせて、新たに１２８Ｂｙｔｅパケットを生成する。そして、ＭＣＨ１３は、待ち状態が解消した後で、１２８Ｂｙｔｅのデータパケットをケーブルアダプタへ送信するようになる。
【００５９】
なお、待ち状態となったことは、例えば、受信バッファ３５１の残容量が所定値以下になった場合にＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１の受信フロー制御部３６１から通知されるフローコントロールパケットにより検知できる。待ち状態が解除されたことも同様に受信フロー制御部３６１から通知されるフローコントロールパケットにより検知できる。
【００６０】
図９は、１２８Ｂｙｔｅのリードリクエストが４つ連続した場合の、リードリクエストパケット（１２８Ｂ  Ｒｄ）とリードデータパケット（１２８Ｂ  Ｃｐｌ）の転送タイミングチャートを示す。
【００６１】
４つの１２８Ｂｙｔｅのリクエストがマザーボード１０ｂから発行されると、リードデータパケット送信に待ち時間が発生した場合は、マザーボード１０ａのＭＣＨ１３は、１２８Ｂｙｔｅのデータパケットを応答するようになる。ＰＣＩ  Ｅｘｐｒｅｓｓのリードデータパケットは、２０Ｂｙｔｅのヘッダ情報（物理層のフレームデータも含む）と、メモリリードデータのペイロードで構成される。このため、データ転送効率は以下のように算出される。
パケットサイズ＝ヘッダ２０Ｂｙｔｅ＋データ１２８Ｂｙｔｅ＝１４８Ｂｙｔｅ
データ転送効率＝データサイズ／パケットサイズ＝１２８／１４８＝８６．５％
【００６２】
このように、本実施の形態によれば、従来の約７６％と比較してデータ転送効率が約８６．５％に向上する。
【００６３】
図１０は、１２８Ｂｙｔｅリードデータ転送における、従来のケーブルアダプタ（例えば図１のケーブルアダプタ２０ａ、２０ｂ）と、本実施の形態のケーブルアダプタ３００のデータ転送効率の差について説明する図である。
【００６４】
図１０は、図２に示した従来のケーブルアダプタのデータ転送時のタイミングチャートと、図９に示した本実施の形態のケーブルアダプタ３００のデータ転送時のタイミングチャートを比較した図である。１２８Ｂ（Ｂｙｔｅ）リードデータ転送では、従来の理論限界であった２４％のプロトコル損失が、本実施の形態の構成により、１４％程度まで改善される。
【００６５】
図１１は、従来のケーブルアダプタと、本実施の形態のケーブルアダプタ３００の２５６Ｂｙｔｅリードデータ転送におけるデータ転送効率の差について説明する図である。
【００６６】
図１１は、さらにリードリクエストサイズを大きくした２５６Ｂリードデータ転送での、従来のケーブルアダプタのデータ転送時のタイミングチャートと、本実施の形態のデータ転送時のタイミングチャートを比較した図である。
【００６７】
４つの２５６Ｂリクエストがマザーボード１０ｂから発行されると、リードデータパケット送信に待ち時間が発生した場合は、マザーボード１０ａのＭＣＨ１３は２５６Ｂｙｔｅのデータパケットを応答するようになる。この場合のデータ転送効率は以下のように算出される。
パケットサイズ＝ヘッダ２０Ｂｙｔｅ＋データ２５６Ｂｙｔｅ＝２７６Ｂｙｔｅ
データ転送効率＝データサイズ／パケットサイズ＝２５６／２７６＝９２．８％
【００６８】
このように、リードリクエストサイズが大きくなるとデータ転送効率がさらに向上する。すなわち、従来の理論限界であった２４％のプロトコル損失が、図１１の例では７％程度まで改善される。
【００６９】
図１２は、従来のケーブルアダプタと、本実施の形態のケーブルアダプタ３００のリードリクエストサイズごとのデータ転送効率の差について説明する図である。
【００７０】
リードリクエストサイズが、ＭＣＨ１３のキャッシュラインサイズと同じ６４Ｂｙｔｅの場合、従来技術のケーブルアダプタと本実施の形態のケーブルアダプタ３００との間にデータ転送効率の差は生じないが、リクエストサイズが大きいほど、高い効果が得られることがわかる。
【００７１】
なお、ＭＣＨ１３とＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１の最大ペイロードサイズ（ＰＣＩ  Ｅｘｐｒｅｓｓ規格における、Max Payload SizeおよびMax Read Request Sizeの値）に応じて、本実施の形態のケーブルアダプタ３００では、ＰＣＩ  Ｅｘｐｒｅｓｓ規格最大の４ＫＢｙｔｅリクエストで９９．５％までデータ転送効率を向上可能である。
【００７２】
４ＫＢｙｔｅリクエストの場合のデータ転送効率は以下のように算出される。
パケットサイズ＝ヘッダ２０Ｂｙｔｅ＋データ４０９６Ｂｙｔｅ＝４１１６Ｂｙｔｅ
データ転送効率＝データサイズ／パケットサイズ＝４０９６／４１１６＝９９．５％
【００７３】
図１３は、従来のケーブルアダプタと、本実施の形態のケーブルアダプタ３００の１２８Ｂｙｔｅリクエストサイズのリードデータ転送における、データ転送効率を実測した結果の差について説明する図である。
【００７４】
図１２は、プロトコル損失の理論限界値の計算結果を比較したものである。従来技術では、実際のデータ転送時には、パケットサイズとデータサイズの比率によるプロトコル損失に加えて、転送パケット数の増加に伴うデータリンクレイヤパケット（ＰＣＩ  Ｅｘｐｒｅｓｓ規格における、ACK、NAK、Fupdate-FCパケットなど）の増加も生じる。
【００７５】
このため、本実施の形態に対するデータ転送効率の差は、計算値よりもさらに大きくなる。図１３の実測結果では、従来技術によるケーブルアダプタのデータ転送効率が６８％、本実施の形態のケーブルアダプタ３００のデータ転送効率が、理論限界値に近い８５％であった。１２８Ｂｙｔｅのリードデータ転送においても、データ転送効率の損失３２％から１５％まで改善できることがわかる。
【００７６】
なお、これまでは、ＰＣＩ  Ｅｘｐｒｅｓｓプロトコルをそのままケーブル伝送に使用するＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１を用いる例を説明したが、プロトコルをＰＣＩ  Ｅｘｐｒｅｓｓから他のケーブル伝送用の通信プロトコルに変換するブリッジチップを用いるように構成してもよい。ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１を使用すれば、変換処理が不要となり安価に構成できる。
【００７７】
また、これまでは、ケーブルコネクタ３２２側のレーン数（例えば４）よりカードエッジコネクタ３２３側のレーン数（例えば８）を大きくすることにより、ケーブルコネクタ３２２側よりカードエッジコネクタ３２３側の帯域を大きくする例に説明した。ケーブルコネクタ３２２側よりカードエッジコネクタ３２３側の帯域を大きくする方法はこれに限られるものではない。
【００７８】
例えば、レーン数を同一とし、ケーブルコネクタ３２２側のレーンのレーンごとの帯域を、カードエッジコネクタ３２３側のレーンのレーンごとの帯域を大きくするように構成してもよい。すなわち、例えばレーン数を共に８レーンとし、ケーブルコネクタ３２２側のレーンのレーンごとの帯域を２．５Ｇｂｐｓ、カードエッジコネクタ３２３側のレーンのレーンごとの帯域を５Ｇｂｐｓとするように構成してもよい。
【００７９】
また、例えば、受信バッファ３５１と送信バッファ３５２のサイズを異ならせることにより、ケーブルコネクタ３２２側よりカードエッジコネクタ３２３側の帯域を大きくするように構成してもよい。
【００８０】
レーン数を異ならせる場合に、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１の設定を変更すること等により、実際に接続されているレーンのうち使用するレーンを指定するように構成してもよい。例えば、４ｃｈ（４レーン）のケーブルと接続するケーブルコネクタ３２２を２つ備え、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１と２つのケーブルコネクタ３２２とを８レーンで接続する構成とする。そして、帯域がわずかに不足するような場合などに、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ３２１の設定を変更し、いずれか１つのケーブルコネクタ３２２との間の４レーンのみを使用可能とするように構成する。
【００８１】
以上のように、本実施の形態では、ケーブルアダプタのＰＣＩ  Ｅｘｐｒｅｓｓスイッチのポートを、データ転送元となる機器と接続されるカードエッジコネクタの帯域が、データ転送先のケーブルが接続されるケーブルコネクタ側の帯域よりも広くなる構成とする。これにより、データ転送元の機器のＭＣＨのインターフェースにおいて、常にリードデータ応答受付の待ち状態を発生させることができる。このため、大きなサイズのメモリリードリクエストパケットに対するデータ転送を、ＣＰＵのキャッシュラインサイズに合わせて、複数の小さいサイズのパケットに分割して応答するＭＣＨを有する機器との通信に用いる場合であっても、リードデータパケットがＣＰＵのキャッシュラインサイズに小さく分割されないように制御することができる。これにより、プロトコルオーバーヘッドの増大を防ぎ、データ転送効率の低下を抑止することが可能となる。
【符号の説明】
【００８２】
１０ａ、１０ｂ  マザーボード
１１  ＣＰＵ
１２  メモリ
１３  ＭＣＨ
１００  プリントシステム
２００  サーバ
３００ａ、３００ｂ  ケーブルアダプタ
３２１  ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ
３２２  ケーブルコネクタ
３２３  カードエッジコネクタ
４００  プリンタ
５００  光アクティブケーブル
６００  光トランシーバ
８００  端末
９００  ネットワーク
【先行技術文献】
【特許文献】
【００８３】
【特許文献１】特開２００９−９４７７８号公報
【図１】
0005598129.tif 000002
【図２】
0005598129.tif 000003
【図３】
0005598129.tif 000004
【図４】
0005598129.tif 000005
【図５】
0005598129.tif 000006
【図６】
0005598129.tif 000007
【図７】
0005598129.tif 000008
【図８】
0005598129.tif 000009
【図９】
0005598129.tif 000010
【図１０】
0005598129.tif 000011
【図１１】
0005598129.tif 000012
【図１２】
0005598129.tif 000013
【図１３】
0005598129.tif 000014