(57)【要約】【課題】通信量を抑制しつつ、複数の伝送路のデータのタイミングを調整することができるデータ伝送装置を提供することを課題とする。【解決手段】データ伝送装置は、ヘッダ情報及びデータを含むパケットを入力し、同一の前記ヘッダ情報（Ｃｏｄｅ００）を複数の伝送路（ＬＡＮＥ０〜ＬＡＮＥ３）にそれぞれ送信し、その後、前記パケット内のデータ（Ｄａｔａ００〜ＤａｔａＮ０＋３）を前記複数の伝送路に分割して送信する送信部と、前記複数の伝送路の各々のヘッダ情報及びデータを受信し、前記複数の伝送路の各々のヘッダ情報で同期をとり、前記複数の伝送路の各々のデータのタイミングを調整し、ヘッダ情報とデータを含むパケットを構成する受信部とを有する。【選択図】図８
2019047326.tif 000002
【特許請求の範囲】
【請求項１】
ヘッダ情報及びデータを含むパケットを入力し、同一の前記ヘッダ情報を複数の伝送路にそれぞれ送信し、その後、前記パケット内のデータを前記複数の伝送路に分割して送信する送信部と、
前記複数の伝送路の各々のヘッダ情報及びデータを受信し、前記複数の伝送路の各々のヘッダ情報で同期をとり、前記複数の伝送路の各々のデータのタイミングを調整し、ヘッダ情報とデータを含むパケットを構成する受信部と
を有することを特徴とするデータ伝送装置。
【請求項２】
前記送信部は、前記伝送路毎に、前記ヘッダ情報及びデータをパラレルからシリアルに変換して送信し、
前記受信部は、前記伝送路毎に、受信したヘッダ情報及びデータをシリアルからパラレルに変換することを特徴とする請求項１に記載のデータ伝送装置。
【請求項３】
前記ヘッダ情報は、送信先情報を有することを特徴とする請求項１又は２に記載のデータ伝送装置。
【請求項４】
前記ヘッダ情報は、送信先情報及びパケット番号を有することを特徴とする請求項１〜３のいずれか１項に記載のデータ伝送装置。
【請求項５】
前記受信部は、前記複数の伝送路のヘッダ情報及びデータを受信し、前記伝送路毎に受信したヘッダ情報及びデータをバッファ部に記憶し、前記受信した複数の伝送路のヘッダ情報がすべて一致した場合に、前記バッファ部から前記複数の伝送路のヘッダ情報及びデータの読み出しを開始することを特徴とする請求項１〜４のいずれか１項に記載のデータ伝送装置。
【請求項６】
前記送信部は、前記伝送路毎に、前記ヘッダ情報の前に開始情報を送信し、
前記受信部は、前記伝送路毎に、開始情報を受信し、前記受信した開始情報を検出し、前記検出された開始情報を基に前記ヘッダ情報の位置を特定することを特徴とする請求項５に記載のデータ伝送装置。
【請求項７】
ヘッダ情報及びデータを含むパケットを入力し、同一の前記ヘッダ情報を複数の伝送路にそれぞれ送信し、その後、前記パケット内のデータを前記複数の伝送路に分割して送信する送信部と、
前記複数の伝送路の各々のヘッダ情報及びデータを受信し、前記複数の伝送路の各々のヘッダ情報で同期をとり、前記複数の伝送路の各々のデータのタイミングを調整し、ヘッダ情報とデータを含むパケットを構成する受信部と
を有することを特徴とする演算処理装置。
【請求項８】
データ伝送装置の制御方法であって、
前記データ伝送装置が有する送信部が、ヘッダ情報及びデータを含むパケットを入力し、同一の前記ヘッダ情報を複数の伝送路にそれぞれ送信し、その後、前記パケット内のデータを前記複数の伝送路に分割して送信し、
前記データ伝送装置が有する受信部が、前記複数の伝送路の各々のヘッダ情報及びデータを受信し、前記複数の伝送路の各々のヘッダ情報で同期をとり、前記複数の伝送路の各々のデータのタイミングを調整し、ヘッダ情報とデータを含むパケットを構成することを特徴とするデータ伝送装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ伝送装置、演算処理装置及びデータ伝送装置の制御方法に関する。
【背景技術】
【０００２】
並列に設けられ各々が伝送路を介して情報をそれぞれシリアルに伝送する複数の送信装置と、伝送されたデータをそれぞれ受信する受信装置とを有する情報伝送システムが知られている（特許文献１参照）。送信装置は、生成手段と、複数の送信手段と、分配手段とを有する。生成手段は、送信対象の情報に基づいて複数のパケットを生成する。複数の送信手段は、複数の伝送路の各々に対応して設けられ各々が複数のパケットをシリアルデータとして送信する。分配手段は、生成された複数のパケットを複数の送信手段の各々にパケット単位で分配する。受信装置は、複数の受信手段と、取得手段とを有する。複数の受信手段は、複数の伝送路の各々に対応して設けられ各々が複数の伝送路を介して送信されたパケットを受信する。取得手段は、複数の受信手段で受信された複数のパケットから送信対象の情報を取得する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１９６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数の送信手段は、複数の伝送路にシリアルデータを送信する。複数の受信手段は、複数の伝送路のシリアルデータを受信する。ここで、複数の伝送路の長さが違う場合や複数の伝送路の受信タイミングが非同期である場合がある。その場合、伝送路毎にデータの遅延時間が異なり、分配前のデータの順番に戻すことが困難である。
【０００５】
１つの側面では、本発明の目的は、通信量を抑制しつつ、複数の伝送路のデータのタイミングを調整することができるデータ伝送装置、演算処理装置及びデータ伝送装置の制御方法を提供することである。
【課題を解決するための手段】
【０００６】
データ伝送装置は、ヘッダ情報及びデータを含むパケットを入力し、同一の前記ヘッダ情報を複数の伝送路にそれぞれ送信し、その後、前記パケット内のデータを前記複数の伝送路に分割して送信する送信部と、前記複数の伝送路の各々のヘッダ情報及びデータを受信し、前記複数の伝送路の各々のヘッダ情報で同期をとり、前記複数の伝送路の各々のデータのタイミングを調整し、ヘッダ情報とデータを含むパケットを構成する受信部とを有する。
【発明の効果】
【０００７】
１つの側面では、通信量を抑制しつつ、複数の伝送路のデータのタイミングを調整することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施形態による情報処理装置の構成例を示す図である。
【図２】図２は、基本技術によるデータ伝送装置の構成例を示す図である。
【図３】図３は、ＣＰＵが他のＣＰＵにパケットを送信する処理を説明するための図である。
【図４】図４は、本実施形態によるデータ伝送装置の構成例を示す図である。
【図５】図５は、図４のデータ伝送装置の送信部の制御方法を示すフローチャートである。
【図６】図６は、ヘッダ情報を示す図である。
【図７】図７は、パケットを示す図である。
【図８】図８は、送信データを示す図である。
【図９】図９は、データリンク層内のデスキュー部の構成例を示す図である。
【図１０】図１０は、図４のデータ伝送装置の受信部の制御方法を示すフローチャートである。
【図１１】図１１は、受信データを示す図である。
【発明を実施するための形態】
【０００９】
図１は、本実施形態による情報処理装置の構成例を示す図である。情報処理装置は、複数の中央処理ユニット（ＣＰＵ）１００ａ〜１００ｄを有する。ＣＰＵ１００ａ〜１００ｄは、演算処理装置（プロセッサ）である。ＣＰＵ１００ａは、複数のコアブロック１０１ａ，１０１ｂと、ルータ回路１０２と、複数のシリアル伝送回路１０３ａ〜１０３ｃとを有する。コアブロック１０１ａ及び１０１ｂは、それぞれ、複数のＣＰＵコア１１１と、キャッシュメモリ１１２と、キャッシュメモリ制御部１１３と、バス１１４とを有する。キャッシュメモリ１１２は、命令（プログラム）及びデータを記憶する。キャッシュメモリ制御部１１３は、キャッシュメモリ１１２に対する書き込み及び読み出しを制御する。ＣＰＵコア１１１は、キャッシュメモリ１１２に記憶されている命令を実行することにより、種々の処理を行う。ＣＰＵ１００ｂ〜１００ｃは、ＣＰＵ１００ａと同様の構成を有する。以下、ＣＰＵ１００ａの構成を例に説明する。
【００１０】
まず、ＣＰＵ１００ａの送信方法を説明する。コアブロック１０１ａ及び１０１ｂは、それぞれ、データを含むパケットを生成し、パケット送信のリクエストをルータ回路１０２に出力することができる。ルータ回路１０２は、送信先情報を含むヘッダ情報を生成し、パケットにヘッダ情報を付加し、送信先情報に応じて、シリアル伝送回路１０３ａ〜１０３ｃのいずれかに出力する。シリアル伝送回路１０３ａは、パケットをパラレルからシリアルに変換してＣＰＵ１００ｂに送信する。シリアル伝送回路１０３ｂは、パケットをパラレルからシリアルに変換してＣＰＵ１００ｃに送信する。シリアル伝送回路１０３ｃは、パケットをパラレルからシリアルに変換してＣＰＵ１００ｄに送信する。
【００１１】
次に、ＣＰＵ１００ａの受信方法を説明する。シリアル伝送回路１０３ａは、ＣＰＵ１００ｂからパケットを受信し、受信したパケットをシリアルからパラレルに変換する。シリアル伝送回路１０３ｂは、ＣＰＵ１００ｃからパケットを受信し、受信したパケットをシリアルからパラレルに変換する。シリアル伝送回路１０３ｃは、ＣＰＵ１００ｄからパケットを受信し、受信したパケットをシリアルからパラレルに変換する。コアブロック１０１ａ及び１０１ｂは、それぞれ、シリアル伝送回路１０３ａ〜１０３ｃが受信したパケットの処理を行うことができる。
【００１２】
図２は、基本技術によるデータ伝送装置の構成例を示す図である。データ伝送装置は、図１のＣＰＵ１００ａ〜１００ｄの各々に対応し、トランザクション層２０１と、データリンク層２０２と、物理層２０３と、シリアライザ／デシリアライザ（ＳｅｒＤｅｓ）２０４とを有する。シリアル伝送回路１０３ａは、データリンク層２０２と、物理層２０３と、シリアライザ／デシリアライザ２０４とを有する。図１のシリアル伝送回路１０３ｂ及び１０３ｃは、図２のシリアル伝送回路１０３ａと同様の構成を有する。トランザクション層２０１は、図１のルータ回路１０２に対応する。物理層２０３は、仮想レーン部２１１を有する。仮想レーン部２１１は、デスキュー部２１２と、レーン操作部２１３とを有する。
【００１３】
まず、データ伝送装置の送信方法を説明する。トランザクション層２０１は、コアブロック１０１ａ，１０１ｂからの要求を受けたルータ回路１０２により、パケットを生成する。データリンク層２０２は、パケットを例えば２５６ビット単位で物理層２０３に出力する。物理層２０３は、レーン操作部２１３により、パケットを４本のレーン（伝送路）に分割して出力する。シリアライザ／デシリアライザ２０４は、４本のレーンのパケットを入力し、レーン毎にパケットをパラレルからシリアルに変換し、４本のレーンを介して、ＣＰＵ１００ｂに送信する。シリアル伝送回路１０３ａは、４本のレーンを介して、ＣＰＵ１００ｂにシリアルデータを送信する。
【００１４】
次に、データ伝送装置の受信方法を説明する。シリアライザ／デシリアライザ２０４は、４本のレーンを介して、ＣＰＵ１００ｂからシリアルデータを受信する。そして、シリアライザ／デシリアライザ２０４は、レーン毎に、受信したシリアルデータをパラレルデータに変換し、４本のレーンに出力する。物理層２０３は、デスキュー部２１２により、４本のレーンのデータのスキュー（遅延時間のばらつき）を調整し、４本のレーンのデータのタイミングを一致させる。
【００１５】
図３は、ＣＰＵ１００ａが他のＣＰＵ１００ｂにパケットを送信する処理を説明するための図である。ＣＰＵ１００ａは、仮想レーン部２１１ａと、シリアライザ／デシリアライザ２０４ａとを有する。仮想レーン部２１１ａは、図２の仮想レーン部２１１に対応する。シリアライザ／デシリアライザ２０４ａは、図２のシリアライザ／デシリアライザ２０４に対応する。仮想レーン部２１１ａは、データ挿入回路３０２と、セレクタ３０４と、セレクタ３０５とを有する。
【００１６】
ＣＰＵ１００ｂは、仮想レーン部２１１ｂと、シリアライザ／デシリアライザ２０４ｂとを有する。仮想レーン部２１１ｂは、図２の仮想レーン部２１１に対応する。シリアライザ／デシリアライザ２０４ｂは、図２のシリアライザ／デシリアライザ２０４に対応する。仮想レーン部２１１ｂは、セレクタ３１１と、セレクタ３１２と、レーン位置及びスキュー調整回路３１３とを有する。
【００１７】
まず、ＣＰＵ１００ａの送信方法を説明する。仮想レーン部２１１ａは、例えば２５６ビットパラレルデータを例えば２０本のレーンに分割して出力する。データ挿入回路３０２は、２０本のレーンのデータ３０１を入力し、一定時間間隔で、２０本のレーンのデータ３０１の間にアライメントマーカ３０３をそれぞれ挿入する。アライメントマーカ３０３は、挿入されるレーンの番号を含む。セレクタ３０４は、２０本のレーンのデータを１０本のレーンのデータに変換する。セレクタ３０５は、１０本のレーンのデータを４本のレーンのデータに変換する。シリアライザ／デシリアライザ２０４ａは、４本のレーンのデータをパラレルからシリアルに変換し、４本のレーンを介して、ＣＰＵ１００ｂに送信する。仮想レーン部２１１ａはレーン数を変更することができるので、種々のタイプのシリアライザ／デシリアライザ２０４ａに対応することができる。
【００１８】
次に、ＣＰＵ１００ｂの受信方法を説明する。シリアライザ／デシリアライザ２０４ｂは、４本のレーンを介して、ＣＰＵ１００ａからシリアルデータを受信する。そして、シリアライザ／デシリアライザ２０４ｂは、レーン毎に、シリアルデータをパラレルデータに変換し、４本のレーンにそれぞれパラレルデータを出力する。ここで、シリアライザ／デシリアライザ２０４ｂは、レーン毎に、受信したシリアルデータを基に、クロック信号を再生するクロックデータリカバリ（ＣＤＲ）回路を有する。シリアライザ／デシリアライザ２０４ｂは、レーン毎に、再生されたクロック信号に同期して、データを各レーンに出力する。各レーンで再生されたクロック信号は、非同期である。また、ＣＰＵ１００ａ及び１００ｂ間の４本のレーンの長さが相互に異なる。そのため、シリアライザ／デシリアライザ２０４ｂが出力するデータは、レーン毎に、タイミング（遅延時間）が異なる。セレクタ３１１は、４本のレーンのデータを１０本のレーンのデータに変換する。セレクタ３１２は、１０本のレーンのデータを２０本のレーンのデータに変換する。レーン位置及びスキュー調整回路３１３は、２０本のレーンの各々のアライメントマーカ３０３に含まれるレーン番号を基に、２０本のレーンの各データを正しいレーン番号のレーンに出力する。また、レーン位置及びスキュー調整回路３１３は、２０本のレーンの各々のアライメントマーカ３０３を基に、２０本のレーンの各データ３０１のスキューを調整し、２０本のレーンのデータ３０１のタイミングを一致させる。また、レーン位置及びスキュー調整回路３１３は、アライメントマーカ３０３を削除する。仮想レーン部２１１ｂはレーン数を変更することができるので、種々のタイプのシリアライザ／デシリアライザ２０４ｂに対応することができる。
【００１９】
仮想レーン部２１１ａは、定期的に仮想レーン部２１１ｂがデータずれの補正とレーン位置の確認を行うために、一定間隔でアライメントマーカ３０３を送信する。仮想レーン部２１１ａは、アライメントマーカ３０３を送信するために、通信量が多くなり、データを遅延させる課題が生じる。以下、通信量を抑制しつつ、複数のレーンのデータのタイミングを調整することができるデータ伝送装置を説明する。
【００２０】
図４は、本実施形態によるデータ伝送装置の構成例を示す図である。データ伝送装置は、図１のＣＰＵ１００ａ〜１００ｄの各々に対応し、トランザクション層４０１と、データリンク層４０２と、物理層４０３と、シリアライザ／デシリアライザ４０４とを有する。シリアル伝送回路１０３ａは、データリンク層４０２と、物理層４０３と、シリアライザ／デシリアライザ４０４とを有する。図１のシリアル伝送回路１０３ｂ及び１０３ｃは、図４のシリアル伝送回路１０３ａと同様の構成を有する。トランザクション層４０１は、図１のルータ回路１０２に対応する。データリンク層４０２は、送信処理部４１１と、デスキュー部４１２とを有する。送信処理部４１１は、バッファ部４１３を有する。デスキュー部４１２は、データチェック部４１５と、バッファ部４１４とを有する。
【００２１】
図５は、図４のデータ伝送装置の送信部の制御方法を示すフローチャートである。ステップＳ５０１において、トランザクション層４０１は、コアブロック１０１ａ，１０１ｂから、データＤａｔａ００〜ＤａｔａＮ０＋３（図７）のパケット送信リクエストを受信する。次に、トランザクション層４０１は、ルータ回路１０２により、図６のヘッダ情報Ｃｏｄｅ００を生成する。ヘッダ情報Ｃｏｄｅ００は、パケット長Ｌｅｎｇｔｈと、パケットの送信先情報ＡＤＲＥＳＳと、付加情報ＦＬＡＧと、パケット番号ＳＥＱＮＯとを有する。ＣＰＵ１００ａが送信する場合、送信先情報ＡＤＲＳＳは、ＣＰＵ１００ｂ、１００ｃ又は１００ｄである。付加情報ＦＬＡＧは、パケット長Ｌｅｎｇｔｈ及び送信先情報ＡＤＲＥＳＳ以外のパケット情報である。パケット番号ＳＥＱＮＯは、パケット固有の番号であり、後にデータリンク層４０２により付与される。次に、トランザクション層４０１は、図７に示すように、データＤａｔａ００〜ＤａｔａＮ０＋３の先頭にヘッダ情報Ｃｏｄｅ００を付与し、パケットを生成する。図７のパケットは、ヘッダ情報Ｃｏｄｅ００及びデータＤａｔａ００〜ＤａｔａＮ０＋３を含む。次に、トランザクション層４０１は、図７のパケットのヘッダ情報Ｃｏｄｅ００内の送信先情報ＡＤＲＥＳＳに応じて、シリアル伝送回路１０３ａ〜１０３ｃのいずれかのデータリンク層４０２に、各サイクルで、図７のパケットを６４×４＝２５６ビット単位で出力する。
【００２２】
次に、ステップＳ５０２において、データリンク層４０２は、図７のパケットを入力し、そのパケットをバッファ部４１３に記憶し、ヘッダ情報Ｃｏｄｅ００内のパケット番号ＳＥＱＮＯを書き込み、シリアル伝送のデータフォーマットに変換し、図８の送信データを生成する。そして、データリンク層４０２は、各々が６４ビットの４本のレーン（伝送路）ＬＡＮＥ０〜ＬＡＮＥ３を有し、図８の送信データを４本のレーンＬＡＮＥ０〜ＬＡＮＥ３に分割して出力する。具体的には、０サイクルにおいて、データリンク層４０２は、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３の各々に対して、６４ビットの開始情報Ｓｔａｒｔ＋ＳＦＤを出力する。開始情報Ｓｔａｒｔ＋ＳＦＤは、開始ビットＳｔａｒｔと、ＳＦＤ（Start of Frame Delimiter）とを有し、各レーンＬＡＮＥ０〜ＬＡＮＥ３のパケット開始を示す。次に、１サイクルにおいて、データリンク層４０２は、同一のヘッダ情報Ｃｏｄｅ００（図６）を４本のレーンＬＡＮＥ０〜ＬＡＮＥ３にそれぞれ出力する。以降、データリンク層４０２は、サイクル毎に、図７のパケット内のデータＤａｔａ００〜ＤａｔａＮ０＋３を４本のレーンＬＡＮＥ０〜ＬＡＮＥ３に分割して出力する。最終サイクルにおいて、データリンク層４０２は、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３の各々に対して、６４ビットの終了情報Ｔｅｒｍｉｎａｔｅを出力する。
【００２３】
次に、ステップＳ５０３において、物理層４０３は、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３を介して、図８の送信データを入力する。次に、物理層４０３は、図８の送信データに対して、ノイズ対策のためのスクランブル処理を行い、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３を介して、スクランブル処理された図８の送信データを出力する。
【００２４】
次に、ステップＳ５０４において、シリアライザ／デシリアライザ４０４は、４本のＬＡＮＥ０〜ＬＡＮＥ３を介して、スクランブル処理された図８の送信データを入力する。次に、シリアライザ／デシリアライザ４０４は、レーンＬＡＮＥ０〜ＬＡＮＥ３毎に、スクランブル処理された図８の送信データをパラレルからシリアルに変換する。例えば、レーンＬＡＮＥ０〜ＬＡＮＥ３毎に、６４ビットパラレルデータを１ビットシリアルデータに変換する。
【００２５】
次に、ステップＳ５０５において、シリアライザ／デシリアライザ４０４は、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３を介して、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３のシリアルデータを送信する。例えば、シリアル伝送回路１０３ａは、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３を介して、ＣＰＵ１００ｂにシリアルデータを送信する。
【００２６】
以上のように、データ伝送装置の送信部は、同一のヘッダ情報Ｃｏｄｅ００を４本のレーンＬＡＮＥ０〜ＬＡＮＥ３にそれぞれ送信し、その後、パケット内のデータＤａｔａ００〜ＤａｔａＮ０＋３を４本のレーンＬＡＮＥ０〜ＬＡＮＥ３に分割し、パラレルからシリアルに変換して送信する。また、送信部は、レーンＬＡＮＥ０〜ＬＡＮＥ３毎に、ヘッダ情報Ｃｏｄｅ００の前に開始情報Ｓｔａｒｔ＋ＳＦＤを送信する。
【００２７】
なお、シリアル伝送回路１０３ｂ及び１０３ｃの送信処理は、上記のシリアル伝送回路１０３ａの送信処理と同様である。また、ＣＰＵ１００ｂ〜１００ｄの送信処理は、上記のＣＰＵ１００ａの送信処理と同様である。
【００２８】
図９は、図４のデータリンク層４０２内のデスキュー部４１２の構成例を示す図である。デスキュー部４１２は、バッファ部４１４と、データチェック部４１５とを有する。バッファ部４１４は、レーンＬＡＮＥ０用のバッファ部９１１と、レーンＬＡＮＥ１用のバッファ部９１２と、レーンＬＡＮＥ２用のバッファ部９１３と、レーンＬＡＮＥ３用のバッファ部９１４とを有する。バッファ部９１１〜９１４は、それぞれ、バッファ部９２１と、書き込みアドレス９２２と、読み出しアドレス９２３とを有する。データチェック部４１５は、一致チェック部９０１と、レジスタ部９０２とを有する。
【００２９】
図１０は、図４のデータ伝送装置の受信部の制御方法を示すフローチャートである。ステップＳ１００１において、シリアライザ／デシリアライザ４０４は、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３を介して、他のＣＰＵが図５の処理により送信したデータを受信する。
【００３０】
次に、ステップＳ１００２において、シリアライザ／デシリアライザ４０４は、レーンＬＡＮＥ０〜ＬＡＮＥ３毎に、シリアルデータをパラレルデータに変換する。例えば、シリアライザ／デシリアライザ４０４は、レーンＬＡＮＥ０〜ＬＡＮＥ３毎に、１ビットシリアルデータを６４ビットパラレルデータに変換する。次に、シリアライザ／デシリアライザ４０４は、図１１に示すように、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３のパラレルデータを物理層４０３に出力する。具体的には、シリアライザ／デシリアライザ４０４は、サイクル毎に、６４×４＝２５６ビット単位のデータを出力する。
【００３１】
ここで、シリアライザ／デシリアライザ４０４は、レーンＬＡＮＥ０〜ＬＡＮＥ３毎に、受信したシリアルデータを基に、クロック信号を再生するクロックデータリカバリ（ＣＤＲ）回路を有する。シリアライザ／デシリアライザ４０４は、レーン毎に、再生されたクロック信号に同期して、パラレルデータを各レーンＬＡＮＥ０〜ＬＡＮＥ３に出力する。各レーンＬＡＮＥ０〜ＬＡＮＥ３で再生されたクロック信号は、非同期である。また、ＣＰＵ１００ａ及び１００ｂ間の４本のレーンの長さが相互に異なる。そのため、図１１に示すデータは、図８に示すデータに比べ、レーンＬＡＮＥ０〜ＬＡＮＥ３毎に、受信タイミング（遅延時間）が異なる。
【００３２】
次に、ステップＳ１００３において、物理層４０３は、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３を介して、物理層４０３で送信するためにノイズ対策のためのスクランブル処理がされた図１１のデータを入力する。次に、物理層４０３は、図１１のデータに対して、デスクランブル処理を行い、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３を介して、デスクランブル処理された図１１のデータを出力する。
【００３３】
次に、ステップＳ１００４において、データリンク層４０２は、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３を介して、デスクランブル処理された図１１のデータを入力する。次に、データリンク層４０２は、サイクル単位で、バッファ部９１１において、バッファ部９２１の書き込みアドレス９２２にレーンＬＡＮＥ０のパラレルデータを書き込み、書き込みアドレス９２２をインクリメントする。同様に、データリンク層４０２は、サイクル単位で、バッファ部９１２において、バッファ部９２１の書き込みアドレス９２２にレーンＬＡＮＥ１のパラレルデータを書き込み、書き込みアドレス９２２をインクリメントする。同様に、データリンク層４０２は、サイクル単位で、バッファ部９１３において、バッファ部９２１の書き込みアドレス９２２にレーンＬＡＮＥ２のパラレルデータを書き込み、書き込みアドレス９２２をインクリメントする。同様に、データリンク層４０２は、サイクル単位で、バッファ部９１４において、バッファ部９２１の書き込みアドレス９２２にレーンＬＡＮＥ３のパラレルデータを書き込み、書き込みアドレス９２２をインクリメントする。
【００３４】
次に、ステップＳ１００５において、データリンク層４０２は、データチェック部４１５により、各バッファ部９１１〜９１４について、各レーンＬＡＮＥ０〜ＬＡＮＥ３の開始情報Ｓｔａｒｔ＋ＳＦＤを検出し、検出された開始情報Ｓｔａｒｔ＋ＳＦＤの次のヘッダ情報Ｃｏｄｅ００の位置を特定する。次に、データリンク層４０２は、データチェック部４１５により、各レーンＬＡＮＥ０〜ＬＡＮＥ３のヘッダ情報Ｃｏｄｅ００と各レーンＬＡＮＥ０〜ＬＡＮＥ３のヘッダ情報Ｃｏｄｅ００の書き込みアドレス９２２とをレジスタ部９０２に書き込む。
【００３５】
例えば、図１１の場合、まず、データチェック部４１５は、レーンＬＡＮＥ１のヘッダ情報Ｃｏｄｅ００を検出し、レーンＬＡＮＥ１のヘッダ情報Ｃｏｄｅ００とその書き込みアドレス９２２をレジスタ部９０２に書き込む。次に、データチェック部４１５は、レーンＬＡＮＥ０及びＬＡＮＥ３のヘッダ情報Ｃｏｄｅ００を検出し、レーンＬＡＮＥ０及びＬＡＮＥ３のヘッダ情報Ｃｏｄｅ００とその書き込みアドレス９２２をレジスタ部９０２に書き込む。最後に、データチェック部４１５は、レーンＬＡＮＥ２のヘッダ情報Ｃｏｄｅ００を検出し、レーンＬＡＮＥ２のヘッダ情報Ｃｏｄｅ００とその書き込みアドレス９２２をレジスタ部９０２に書き込む。
【００３６】
次に、データリンク層４０２は、一致チェック部９０１により、レジスタ部９０２に記憶されている４本のレーンＬＡＮＥ０〜ＬＡＮＥ３のヘッダ情報Ｃｏｄｅ００がすべて一致しているか否かを判定する。４本のレーンＬＡＮＥ０〜ＬＡＮＥ３のヘッダ情報Ｃｏｄｅ００が同一パケット内のヘッダ情報Ｃｏｄｅ００である場合、パケット番号ＳＥＱＮＯが同じであるので、一致チェック部９０１は、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３のヘッダ情報Ｃｏｄｅ００がすべて一致していると判定する。これに対し、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３のヘッダ情報Ｃｏｄｅ００が異なるパケット内のヘッダ情報Ｃｏｄｅ００である場合、パケット番号ＳＥＱＮＯが異なるので、一致チェック部９０１は、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３のヘッダ情報Ｃｏｄｅ００が一致していないと判定する。
【００３７】
一致チェック部９０１は、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３のヘッダ情報Ｃｏｄｅ００がすべて一致していると判定した場合には、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３のヘッダ情報Ｃｏｄｅ００の書き込みアドレス９２２を、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３のヘッダ情報Ｃｏｄｅ００の読み出しアドレス９２３として、バッファ部９１１〜９１４にそれぞれ設定し、読み出し開始を指示する。
【００３８】
次に、ステップＳ１００６において、バッファ部９１１〜９１４は、それぞれ、同じ読み出しタイミングで、バッファ部９２１の読み出しアドレス９２３から各レーンＬＡＮＥ０〜ＬＡＮＥ３のヘッダ情報Ｃｏｄｅ００及びデータＤａｔａ００〜ＤａｔａＮ０＋３の読み出しを開始する。すると、図８のように、各レーンＬＡＮＥ０〜ＬＡＮＥ３のタイミングが一致したヘッダ情報Ｃｏｄｅ００及びデータＤａｔａ００〜ＤａｔａＮ０＋３が読み出される。
【００３９】
次に、ステップＳ１００７において、データリンク層４０２は、図８のデータに対して、開始情報Ｓｔａｒｔ＋ＳＦＤ及び終了情報Ｔｅｒｍｉｎａｔｅを削除し、図７に示すように、ヘッダ情報Ｃｏｄｅ００及びデータＤａｔａ００〜ＤａｔａＮ０＋３を含むパケットを再構成する。
【００４０】
次に、ステップＳ１００８において、データリンク層４０２は、図７のパケットをトランザクション層４０１に出力する。トランザクション層４０１は、図７のパケットを入力するとともに、コアブロック１０１ａ，１０１ｂに対して送信し、図７のパケットの処理を行う。
【００４１】
以上のように、データ伝送装置の受信部は、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３の各々のヘッダ情報Ｃｏｄｅ００及びデータを受信し、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３の各々のヘッダ情報Ｃｏｄｅ００で同期をとり、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３の各々のデータのタイミングを調整し、ヘッダ情報Ｃｏｄｅ００とデータＤａｔａ００〜ＤａｔａＮ０＋３を含むパケットを構成する。
【００４２】
データ伝送装置は、図３の一定時間間隔のアライメントマーカ３０３を用いず、ヘッダ情報Ｃｏｄｅ００を用いて、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３のデータＤａｔａ００〜ＤａｔａＮ０＋３のタイミングを調整する。これにより、データ伝送装置は、通信量を抑制しつつ、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３のデータＤａｔａ００〜ＤａｔａＮ０＋３のタイミングを調整することができる。ここで、ヘッダ情報Ｃｏｄｅ００は、送信先情報ＡＤＲＥＳＳを含み、パケット通信には必須であるため、通信量の増加にはならない。データ伝送装置は、通信量を抑制することにより、データの遅延を低減することができる。また、図３では、２０本のレーンから４本のレーンへの変換を行ったが、図４では、４本のレーンに固定することにより、物理層４０３を簡易化することができる。また、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３を用いることにより、高速伝送が可能になる。なお、４本のレーンＬＡＮＥ０〜ＬＡＮＥ３の場合を例に説明したが、レーンの数は４本以外でもよい。
【００４３】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００４４】
１００ａ〜１００ｄ  ＣＰＵ
１０１ａ，１０１ｂ  コアブロック
１０２  ルータ回路
１０３ａ〜１０３ｃ  シリアル伝送回路
１１１  ＣＰＵコア
１１２  キャッシュメモリ
１１３  キャッシュメモリ制御部
１１４  バス
４０１  トランザクション層
４０２  データリンク層
４０３  物理層
４０４  シリアライザ／デシリアライザ
４１１  送信処理部
４１２  デスキュー部
４１３，４１４  バッファ部
４１５  データチェック部
【図１】
2019047326.tif 000003
【図２】
2019047326.tif 000004
【図３】
2019047326.tif 000005
【図４】
2019047326.tif 000006
【図５】
2019047326.tif 000007
【図６】
2019047326.tif 000008
【図７】
2019047326.tif 000009
【図８】
2019047326.tif 000010
【図９】
2019047326.tif 000011
【図１０】
2019047326.tif 000012
【図１１】
2019047326.tif 000013