(57)【要約】【課題】パケット通信における転送レートの低下を防ぐこと。【解決手段】パケットを送信する送信装置と、前記送信装置とスイッチ装置を介して接続し、前記パケットを受信する受信装置と、を有するシステムにおいて、前記スイッチ装置は、前記送信装置から受信したトランザクションレイヤパケットの値が予め決められている領域である固定値領域の値と該固定値領域の期待値とを比較し、前記固定値領域の値と前記期待値とが異なっている場合に前記送信装置にエラーを応答する。【選択図】図４
2014033318.tif 000002
【特許請求の範囲】
【請求項１】
パケットを送信する送信装置と、前記送信装置とスイッチ装置を介して接続し、前記パケットを受信する受信装置と、を有するシステムにおいて、
前記スイッチ装置は、
トランザクションレイヤパケットにおいて値が予め決められている領域である固定値領域の期待値を示す第１の期待値情報を格納する第１のメモリと、
前記送信装置から受信したトランザクションレイヤパケットの前記固定値領域の値と前記期待値とを比較し、前記固定値領域の値と前記期待値とが異なっている場合に前記送信装置にエラーを応答するスイッチ制御部と、
を備えることを特徴とするシステム。
【請求項２】
前記受信装置は、
前記固定値領域の前記期待値を示す第２の期待値情報を格納する第２のメモリと、
前記スイッチから受信したトランザクションレイヤパケットの固定値領域の値を前記期待値で上書きする上書き部と、
前記期待値で上書きされたトランザクションレイヤパケットのエラーチェックを行うエラーチェック部と、
を備えることを特徴とする請求項１記載のシステム。
【請求項３】
前記第１のメモリは、前記固定値領域の位置を示す第１の固定値領域情報をさらに格納し、
前記スイッチ制御部は、前記第１の固定値領域情報に基づいて、前記トランザクションレイヤパケットの前記固定値領域の位置を判別することを特徴と請求項１または２記載のシステム。
【請求項４】
前記第２のメモリは、前記固定値領域の位置を示す第２の固定値領域情報をさらに格納し、
前記上書き部は、前記第２の固定値領域情報に基づいて、前記トランザクションレイヤパケットの前記固定値領域の位置を判別することを特徴と請求項２または３記載のシステム。
【請求項５】
パケットを送信する送信装置と、前記送信装置とスイッチ装置を介して接続し、前記パケットを受信する受信装置と、を有するシステムが実行する通信方法であって、
前記スイッチ装置は、
トランザクションレイヤパケットにおいて値が予め決められている領域である固定値領域の期待値を示す第１の期待値情報を格納する第１のメモリを備え、
前記送信装置から受信したトランザクションレイヤパケットの前記固定値領域の値と前記期待値とを比較し、
前記固定値領域の値と前記期待値とが異なっている場合に前記送信装置にエラーを応答することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット通信を行うシステムおよび通信方法に関する。
【背景技術】
【０００２】
モジュール間を通信する際のインタフェース(I/F) として高速シリアルインタフェースの一種であるPeripheral Component Interconnect (PCI)-Express を採用している装置がある。
【０００３】
図１は、従来のPCI-Express I/Fを採用したモジュール間通信を行うシステムの構成図である。
システム１００１は、モジュール１０１１−ｉ（ｉ＝１〜１２）およびスイッチ１０３１−ｊ（ｊ＝１〜５）を備える。
【０００４】
スイッチ１０３１−１は、モジュール１０１１−１、１０１１−２、１０１１−３、およびスイッチ１０３１−３と接続している。
【０００５】
スイッチ１０３１−２は、モジュール１０１１−４、１０１１−５、１０１１−６、およびスイッチ１０３１−３と接続している。
【０００６】
スイッチ１０３１−３は、スイッチ１０３１−１、１０３１−２、１０３１−４、１０３１−５と接続している。
【０００７】
スイッチ１０３１−４は、モジュール１０１１−７、１０１１−８、１０１１−９、およびスイッチ１０３１−３と接続している。
【０００８】
スイッチ１０３１−５は、モジュール１０１１−１０、１０１１−１１、１０１１−１２、およびスイッチ１０３１−３と接続している。
【０００９】
また、モジュール１０１１とスイッチ１０３１間、およびスイッチ１０３１間は、PCI-Expressを用いたシリアルバスにより接続されている。
【００１０】
尚、以下の従来技術の説明において、モジュール１０１１−ｉは、モジュールｉと表記し、スイッチ１０３１−ｊは、スイッチｊと表記する場合がある。
【００１１】
図１のシステム１００１において、モジュール１００１同士は直接接続せず、スイッチ１０３１を介して通信を行っている。モジュール１００１間で通信を行う場合、スイッチ１０３１を介してパケットを転送し、さらに送信先モジュールがエラーを検出し、エラーがあった場合は送信元モジュールに対してエラー応答を返している。
【００１２】
PCI-Expressは規格としてレイヤ構造をしており、レイヤ毎に役割が明確に分割されて送受信が行われ、受信処理を行うモジュール１０１１のレイヤ毎にエラーチェックが行われている。
【００１３】
パケット通信を仲介するスイッチ１０３１では、Point-to-Pointでのデータリンクレイヤのエラー処理は行われるが、PCI-Expressの上位レイヤにあたるトランザクションレイヤのエラー処理は行われない。そのため、トランザクションレイヤのエラー処理は、最終段の送信先モジュールで End-to-End でのみトランザクションレイヤのエラー処理が行われている。
【００１４】
図２は、トランザクションレイヤパケットのデータ構造を示す図である。
トランザクションレイヤパケットは、ヘッダー部とペイロード部を含み、さらにパケット全領域に対するデータ保障として、End-to-end Redundancy Check(ECRC)が付与されている。
【００１５】
送信先モジュールがトランザクションレイヤでエラーを検出した際、受信パケットの種類がNon Posted Packetの場合、受信モジュールはCompletion Packet としてエラー応答を送信元モジュールに対して返信する。
【００１６】
図３は、従来のパケット送信処理のシーケンス図である
図３では、送信元モジュール１がスイッチ１、３、４を経由して送信先モジュール７にパケットを送信し、送信先モジュール７でECRCエラーが検出され、エラー応答が返され、エラー応答を受信した送信元モジュール１がエラーしたパケットを再送する場合について説明する。
【００１７】
先ず、モジュール１は、モジュール７へのパケット（送信パケット）をスイッチ１に送信する（ステップＳ１１０１）。
スイッチ１は、送信パケットを受信し（ステップＳ１１０２）、送信パケットをスイッチ３に転送する。スイッチ３は、送信パケットを受信し、送信パケットをスイッチ４に転送する。スイッチ４は、送信パケットを受信し、送信パケットをモジュール７に送信する（ステップＳ１１０３）。
【００１８】
モジュール７は、送信パケットを受信し（ステップＳ１１０４）、トランザクションレイヤパケットに対するECRCチェックを行う（ステップＳ１１０５）。そして、ECRCエラーが検出され（ステップＳ１１０６）、モジュール７は、エラー応答パケットをモジュール１に返信する（ステップＳ１１０７）。
【００１９】
スイッチ４は、エラー応答パケットを受信する（ステップＳ１１０８）。エラー応答パケットは、スイッチ４からスイッチ３を介してスイッチ１に転送される。
スイッチ１は、エラー応答パケットをモジュール１に送信する（ステップＳ１１０９）。
【００２０】
モジュール１は、エラー応答パケットを受信し（ステップＳ１１１０）、パケット（再送パケット）をモジュール７へ再送する（ステップＳ１１１１）。
スイッチ１は、再送パケットを受信する（ステップＳ１１１２）。再送パケットは、スイッチ１からスイッチ３を介してスイッチ４に転送される。
【００２１】
スイッチ４は、再送パケットをモジュール７に送信する（ステップＳ１１１３）。
モジュール７は、再送パケットを受信する（ステップＳ１１１４）。
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】特開２００６−１９５８７０号公報
【特許文献２】特開２００５−１２９１７３号公報
【特許文献３】特開２００９−２９０６８６号公報
【発明の概要】
【発明が解決しようとする課題】
【００２３】
従来技術において、通信中に仲介するスイッチ内部でトランザクションレイヤ上のパケット（トランザクションレイヤパケット）のデータが壊れた場合、スイッチではECRCエラー処理は行われず、送信先モジュールのトランザクションレイヤまでECRCエラーチェックが行われることは無い。
【００２４】
このため、壊れたパケットは通常のパケット同様にデータが壊れたスイッチから最終段の送信先モジュールまで転送される。そのため、データが壊れたスイッチと最終段の送信先モジュール間のPCI-Expressの帯域に負荷を掛けてしまい、その帯域では壊れたパケット量分の転送レートが低下する問題がある。
【００２５】
また、最終段の送信先モジュールで受信したトランザクションレイヤパケットに対して、送信先モジュールのトランザクションレイヤでは、全ての領域を対象にECRCエラーチェックを行う。そのため、トランザクションレイヤパケットの内の装置仕様として全てのモジュールで共通な未使用領域のデータが壊れた場合も、そのパケットはエラーパケットとして処理してしまうことになる。このため、そのエラーリカバリとしてパケットの再送が行われ、それによって再送経路のPCI-Expressの帯域に負荷を掛けることになり、装置仕様としては無駄な再送パケット量分の転送レートが低下する問題がある。
【００２６】
本発明の課題は、パケット通信における転送レートの低下を防ぐことである。
【課題を解決するための手段】
【００２７】
実施の形態の通信システムは、パケットを送信する送信装置と、前記送信装置とスイッチ装置を介して接続し、前記パケットを受信する受信装置と、を有する。
前記スイッチ装置は、第１のメモリとスイッチ制御部とを備える。
【００２８】
第１のメモリは、トランザクションレイヤパケットにおいて値が予め決められている領域である固定値領域の期待値を示す第１の期待値情報を格納する。
前記スイッチ制御部と、前記送信装置から受信したトランザクションレイヤパケットの前記固定値領域の値と前記期待値とを比較し、前記固定値領域の値と前記期待値とが異なっている場合に前記送信装置にエラーを応答する
【発明の効果】
【００２９】
実施の形態の通信システムによれば、パケット通信において転送レートの低下を防ぐことができる。
【図面の簡単な説明】
【００３０】
【図１】従来のPCI-Express I/F を採用したモジュール間通信を行うシステムの構成図である。
【図２】トランザクションレイヤパケットのデータ構造を示す図である。
【図３】従来のパケット送信処理のシーケンス図である。
【図４】実施の形態に係るシステムの構成図である。
【図５】実施の形態に係るトランザクションレイヤパケットの一例である
【図６】実施の形態に係るフィルタパケット情報を示す図である。
【図７】実施の形態に係るモジュールの詳細な構成図である。
【図８】実施の形態に係るスイッチの詳細な構成図である。
【図９】実施の形態に係るシステムの詳細な構成図である。
【図１０】実施の形態に係るパケット通信処理のフローチャートである。
【図１１】実施の形態に係るパケット通信処理を示す図である。
【図１２Ａ】実施の形態に係るスイッチのトランザクションレイヤの処理（エラー未検出時）を示す図である。
【図１２Ｂ】実施の形態に係るスイッチのトランザクションレイヤの処理（エラー検出時）を示す図である。
【図１３】従来技術に係るパケット通信を示す図である。
【図１４】実施の形態に係るパケット通信を示す図である。
【図１５】従来技術に係るトランザクションレイヤパケットの状態とスイッチの処理を示す図である。
【図１６】実施の形態に係るトランザクションレイヤパケットの状態とスイッチの処理を示す図である。
【図１７】実施の形態に係るモジュールのエラーチェック処理を示す図である。
【図１８】従来技術に係るモジュールのエラーチェック処理を示す図である。
【図１９】従来技術に係るトランザクションレイヤパケットの状態とモジュールの処理結果を示す図である。
【図２０】実施の形態に係るトランザクションレイヤパケットの状態とモジュールの処理結果を示す図である。
【発明を実施するための形態】
【００３１】
以下、図面を参照しながら実施の形態について説明する。
図４は、実施の形態に係るシステムの構成図である。
システム１０１は、モジュール２０１−ｉ（ｉ＝１〜１２）およびスイッチ３０１−ｊ（ｊ＝１〜５）を備える。
【００３２】
モジュール２０１−ｉは、例えば、システムボードやI/Oボード等の装置である。モジュール２０１−ｉは、フィルタパケット情報２０２−ｉを有する。モジュール２０１−ｉは、フィルタパケット情報２０２−ｉを用いて、トランザクションレイヤパケットの固定値領域の上書きなどの処理を行う。
【００３３】
スイッチ３０１−ｊは、パケットのエラーチェックやルーティング処理を行う装置である。スイッチ３０１−ｊは、フィルタパケット情報３０２−ｉを有する。
スイッチ３０１−ｊは、フィルタパケット情報３０２−ｉに基づいて、トランザクションレイヤパケットのエラーチェックを行う。
【００３４】
スイッチ３０１−１は、モジュール２０１−１、２０１−２、２０１−３、およびスイッチ３０１−３と接続している。
【００３５】
スイッチ３０１−２は、モジュール２０１−４、２０１−５、２０１−６、およびスイッチ３０１−３と接続している。
【００３６】
スイッチ３０１−３は、スイッチ３０１−１、３０１−２、３０１−４、３０１−５と接続している。
【００３７】
スイッチ３０１−４は、モジュール２０１−７、２０１−８、２０１−９、およびスイッチ３０１−３と接続している。
【００３８】
スイッチ３０１−５は、モジュール２０１−１０、２０１−１１、２０１−１２、およびスイッチ３０１−３と接続している。
【００３９】
また、モジュール２０１とスイッチ３０１間、およびスイッチ３０１間は、PCI-Expressを用いたシリアルバスにより接続されている。モジュール２０１とスイッチ３０１間、およびスイッチ３０１間のパケット通信は、PCI-Express規格に基づいて行われる。
【００４０】
尚、以下の実施の形態の説明において、モジュール２０１−ｉは、モジュールｉと表記し、スイッチ３０１−ｊは、スイッチｊと表記する場合がある。
【００４１】
図５は、実施の形態に係るトランザクションレイヤパケットの一例である。
トランザクションレイヤパケットは、ヘッダー部とペイロード部を含み、さらにパケット全領域に対するデータ保障として、End-to-end Redundancy Check(ECRC)が付与されている。
【００４２】
ヘッダー部は、例えば、レングスサイズ、アドレス、パケットタイプ等の情報が記述されている。
ペイロード部は、ヘッダー部に記述された付加情報等を除いたデータ本体である。
【００４３】
トランザクションレイヤパケットには、装置仕様として可変値で利用する領域（可変値領域）と、装置仕様として固定値で利用する領域（固定値領域）がある。尚、ECRCは可変値であるが、可変値領域および固定値領域のどちらにも含まれないものとして説明する。
【００４４】
図５において、可変値領域は斜線で示し、固定値領域は白で示している。
実施の形態において、トランザクションレイヤパケットのヘッダー部の所定の領域には、装置仕様として予め定められた値（固定値）が記述される。すなわち、固定値領域は、トランザクションレイヤパケットのヘッダー部に含まれている。トランザクションレイヤパケットの固定値領域がどの位置にあるか、および該固定値領域に記述される値が何であるかは、装置仕様として予め決められている。
【００４５】
図６は、実施の形態に係るフィルタパケット情報を示す図である。
図６のフィルタパケット情報４０２は、図５のトランザクションレイヤパケット４０１に対応するフィルタパケット情報である。
【００４６】
フィルタパケット情報４０２は、図４のフィルタパケット情報２０２、３０２に対応する。
フィルタパケット情報４０２は、可変値領域／固定値領域情報テーブル４０３および固定値領域期待値情報テーブル４０４を含む。
【００４７】
可変値領域／固定値領域情報テーブル４０３は、トランザクションレイヤパケット４０１の固定値領域と可変値領域の位置を示す情報である。
可変値領域／固定値領域情報テーブル４０３において、固定値領域は“１”、可変値領域は“０”として表されている。
【００４８】
尚、固定値領域はペイロード部には無く、ヘッダー部にのみ存在するので、可変値領域／固定値領域情報テーブル４０３は、ヘッダー部の固定値領域と可変値領域の位置のみを示し、ペイロード部の可変値領域の位置は省略しても良い。
【００４９】
固定値領域期待値情報テーブル４０４は、トランザクションレイヤパケット４０１において、装置仕様として固定値領域に記述される値（期待値）を示す情報である。
固定値領域期待値情報テーブル４０４において、トランザクションレイヤパケット４０１の固定値領域に対応する領域には、当該固定値領域の期待値（“０”または“１”）が記述されている。また、固定値領域期待値情報テーブル４０４において、斜線で示すトランザクションレイヤパケット４０１の可変値領域に対応する領域には、任意の値を示す“-”が記述されている。
【００５０】
尚、固定値領域はペイロード部には無く、ヘッダー部にのみ存在するので、固定値領域期待値情報テーブル４０４は、ヘッダー部の固定値領域の期待値および可変値領域の任意の値を示す情報のみを示し、ペイロード部の可変値領域の任意の値を示す情報は省略しても良い。
【００５１】
図７は、実施の形態に係るモジュールの詳細な構成図である。
モジュール２０１−ｉは、パケット処理部２１１−ｉおよびRead Only Memory（ＲＯＭ）２７１−ｉを備える。
【００５２】
パケット処理部２１１−ｉは、ＴＬ送信部２２１−ｉ、ＴＬ受信部２３１−ｉ、メモリ制御部２４１−ｉ、ＤＬ制御部２５１−ｉ、およびＰＨＹ制御部２６１−ｉを備える。
パケット処理部２１１−ｉは、パケットの生成やエラーチェック等の処理を行う。パケット処理部２１１−ｉは、例えば、ハードウェア回路やプロセッサ等により実現される。
【００５３】
ＴＬ送信部２２１−ｉおよびＴＬ受信部２３１−ｉは、トランザクションレイヤの送受信制御を行う。
ＴＬ送信部２２１−ｉは、ＴＬパケット生成部２２２−ｉおよびＴＬパケット送信制御部２２４−ｉを備える。
【００５４】
ＴＬパケット生成部２２２−ｉは、ＥＣＲＣ付加回路２２３−ｉを備える。
ＴＬパケット生成部２２２−ｉは、上位層のソフトウェアレイヤからの新規パケット生成リクエスト、または、応答制御部２３５−ｉからの指示に基づいて、トランザクションレイヤパケットを生成する。
【００５５】
ＥＣＲＣ付加回路２２３−ｉは、トランザクションレイヤパケットに対するＥＣＲＣコードを生成し、トランザクションレイヤパケットに付加する。ＥＣＲＣが付加されたトランザクションレイヤパケットは、ＴＬパケット送信制御部２２４−ｉに送信される。
【００５６】
ＴＬパケット送信制御部２２４−ｉは、送信パケット記録部２２５−ｉを備える。
ＴＬパケット送信制御部２２４−ｉは、トランザクションレイヤパケットをＤＬ制御部２５１−ｉに送信する。ＴＬパケット送信制御部２２４−ｉは、再送制御部２３６−ｉから再送指示を受信した場合、送信パケット記録部２２５−ｉの情報からトランザクションレイヤパケットを再送する。
【００５７】
送信パケット記録部２２５−ｉは、ＴＬパケット生成部２２２−ｉから受信したトランザクションレイヤパケットを記録する。
【００５８】
ＴＬ受信部２３１−ｉは、固定値領域上書き部２３２−ｉ、ＥＣＲＣエラーチェック部２３３−ｉ、受信ＴＬパケット解析部２３４−ｉ、応答制御部２３５−ｉ、および再送制御部２３６−ｉを備える。
【００５９】
固定値領域上書き部２３２−ｉは、メモリ制御部２４１−ｉからフィルタパケット情報２７２−ｉを受信し、フィルタパケット情報２７２−ｉに基づいて、トランザクションレイヤパケットの固定値領域の上書きを行う。詳細には、固定値領域上書き部２３２−ｉは、可変値領域／固定値領域情報テーブル４０３に基づいて、ＤＬ制御部２５１−ｉから受信したトランザクションレイヤパケットの固定値領域の位置を判別する。そして、固定値領域上書き部２３２−ｉは、ＤＬ制御部２５１−ｉから受信したトランザクションレイヤパケットの固定値領域を固定値領域期待値情報テーブル４０４の期待値に上書きする。
【００６０】
ＥＣＲＣエラーチェック部２３３−ｉは、固定値領域上書き部２３２−ｉから受信したトランザクションレイヤパケットのＥＣＲＣエラーをチェックする。ＥＣＲＣエラーチェック部２３３−ｉは、トランザクションレイヤパケットとエラーチェックの結果を受信ＴＬパケット解析部２３４−ｉに送信する。
【００６１】
受信ＴＬパケット解析部２３４−ｉは、ＥＣＲＣエラーチェック部２３３−ｉから受信したトランザクションレイヤパケットを解析し、解析結果に基づいた処理を行う。詳細には、トランザクションレイヤパケットがNon Posted Packetの場合、受信ＴＬパケット解析部２３４−ｉは、ＥＣＲＣエラーチェック部２３３−ｉからの結果とトランザクションレイヤパケットの解析結果に基づいて、応答制御部２３５−ｉに応答処理を指示する。トランザクションレイヤパケットが応答Completion Packetの場合、受信ＴＬパケット解析部２３４−ｉは、ＥＣＲＣエラーチェック部２３３−ｉからの結果がエラー検出であれば、再送制御部２３６−ｉに再送処理を指示し、ＥＣＲＣエラーチェック部２３３−ｉからの結果がエラー未検出であれば、上位層のソフトウェアレイヤへ応答内容を送信する。
【００６２】
応答制御部２３５−ｉは、受信ＴＬパケット解析部２３４−ｉからの指示に基づいて、ＴＬパケット生成部２２２−ｉに応答Completion Packetの生成を指示する。
【００６３】
再送制御部２３６−ｉは、受信ＴＬパケット解析部２３４−ｉからの指示に基づいて、ＴＬパケット送信制御部２２４−ｉにパケットの再送を指示する。
【００６４】
メモリ制御部２４１−ｉは、ＲＯＭ２７１−ｉからフィルタパケット情報２７２−ｉを読み出し、読み出したフィルタパケット情報２７２−ｉをフィルタパケット情報格納部２４２−ｉに格納する。また、メモリ制御部２４１−ｉは、フィルタパケット情報２７２−ｉを固定値領域上書き部２３２−ｉに出力する。
【００６５】
フィルタパケット情報格納部２４２−ｊは、ＲＯＭ２７１−ｉから読み出されたフィルタパケット情報２７２−ｉを格納する。
【００６６】
ＤＬ制御部２５１−ｉは、データリンクレイヤの送受信制御を行う。
ＰＨＹ制御部２６１−ｉは、フィジカルレイヤの送受信制御を行う。
【００６７】
ＲＯＭ２７１−ｉは、フィルタパケット情報２７２−ｉを格納する。フィルタパケット情報２７２−ｉは、図４のフィルタパケット情報２０２−ｉ、図６のフィルタパケット情報４０２に対応する。
ＲＯＭ２７１−ｉは、メモリの一例であり、Random Access Memory（ＲＡＭ）等を用いても良い。
【００６８】
図８は、実施の形態に係るスイッチの詳細な構成図である。
スイッチ３０１−ｊは、スイッチ回路３１１−ｊおよびＲＯＭ３７１を備える。
スイッチ回路３１１−ｊは、ポート３２１−ｊ−ｋ（ｋ＝１〜４）、メモリ制御部３５１−ｊ、およびルーティング部３６１−ｊを備える。
【００６９】
ポート３２１−ｊ−ｋは、スイッチ３０１−ｊと接続する装置との間のデータの入出力を行うインタフェースである。
ポート３２１−ｊ−２〜３２１−ｊ−４は、ポート３２１−ｊ−１と同様の構成および機能を有するため、図８ではポート３２１−ｊ−１のみ詳細を記載する。
ポート３２１−ｊ−１は、ＰＨＹ制御部３２２−ｊ−１、ＤＬ制御部３２３−ｊ−１、ＴＬ受信部３３１−ｊ−１、およびＴＬ送信部３４１−ｊ−１を備える。
【００７０】
ＰＨＹ制御部３２２−ｊ−１は、フィジカルレイヤの送受信制御を行う。
ＤＬ制御部３２３−ｊ−１は、データリンクレイヤの送受信制御を行う。
【００７１】
ＴＬ受信部３３１−ｊ−１およびＴＬ送信部３４１−ｊ−１は、トランザクションレイヤの送受信制御を行う。
【００７２】
ＴＬ受信部３３１−ｊ−１は、固定値領域期待値チェック部３３２−ｊ−１およびエラー応答制御部３３３−ｊ−１を備える。
【００７３】
固定値領域期待値チェック部３３２−ｊ−１は、メモリ制御部３５１−ｊからフィルタパケット情報３７２−ｊを受信し、フィルタパケット情報３７２−ｊに基づいて、トランザクションレイヤパケットの固定値領域の値をチェックする。詳細には、固定値領域期待値チェック部３３２−ｊ−１は、可変値領域／固定値領域情報テーブル４０３に基づいて、ＤＬ制御部３２３−ｊ−１から受信したトランザクションレイヤパケットの固定値領域の位置を判別する。そして、固定値領域期待値チェック部３３２−ｊ−１は、ＤＬ制御部３２３−ｊ−１から受信したトランザクションレイヤパケットの固定値領域の値と固定値領域期待値情報テーブル４０４の期待値とを比較し、固定値領域の値と期待値とが一致するか否かチェックする（期待値チェック）。
【００７４】
固定値領域の値と期待値とが一致した場合（エラーを検出しなかった場合）、固定値領域期待値チェック部３３２−ｊ−１は、ルーティング部３６１−ｊにトランザクションレイヤパケットを転送する。
【００７５】
固定値領域の値と期待値とが一致しなかった場合（エラーを検出した場合）、固定値領域期待値チェック部３３２−ｊ−１は、エラー応答制御部３３３−ｊ−１にエラー応答を指示する。
【００７６】
エラー応答制御部３３３−ｊ−１は、固定値領域期待値チェック部３３２−ｊ−１からの指示に応じて、エラー応答パケット生成部３４２−ｊ−１にエラー応答パケットの生成を指示する。
【００７７】
ＴＬ送信部３４１−ｊ−１は、エラー応答パケット生成部３４２−ｊ−１およびＴＬパケット送信制御部３４３−ｊ−１を備える。
【００７８】
エラー応答パケット生成部３４２−ｊ−１は、ＥＣＲＣ付加回路３４４−ｊ−１を備える。
エラー応答パケット生成部３４２−ｊ−１は、エラー応答制御部３３３−ｊ−１から指示に基づいて、エラー応答のトランザクションレイヤパケットを生成する。
【００７９】
ＥＣＲＣ付加回路３４４−ｊ−１は、エラー応答のトランザクションレイヤパケットに対するＥＣＲＣコードを生成し、トランザクションレイヤパケットに付加する。ＥＣＲＣが付加されたトランザクションレイヤパケットは、ＴＬパケット送信制御部３４３−ｊ−１に送信される。
【００８０】
ＴＬパケット送信制御部３４３−ｊ−１は、受信したトランザクションレイヤパケットをＤＬ制御部３２３−ｊ−１に送信する。
【００８１】
メモリ制御部３５１−ｊは、フィルタパケット情報格納部３５２−ｊを備える。
メモリ制御部３５１−ｊは、ＲＯＭ３７１−ｉからフィルタパケット情報３７２−ｊを読み出し、読み出したフィルタパケット情報３７２−ｊをフィルタパケット情報格納部３５２−ｊに格納する。また、メモリ制御部３５１−ｊは、フィルタパケット情報３７２−ｊを各ポート３２１−ｊ−ｋの固定値領域期待値チェック部３３２に出力する。
【００８２】
フィルタパケット情報格納部３５２−ｊは、ＲＯＭ３７１−ｉから読み出されたフィルタパケット情報３７２−ｊを格納する。
【００８３】
ルーティング部３６１−ｊは、各ポート３２１−ｊ−ｋのＴＬ受信部３３１から受信したトランザクションレイヤパケットを解析し、パケットの送信先に該当するポート３２１−ｊ−ｋのＴＬ送信部３４１にパケットをルーティングする。
【００８４】
ＲＯＭ３７１−ｉは、フィルタパケット情報３７２−ｉを格納する。フィルタパケット情報３７２−ｉは、図４のフィルタパケット情報３０２−ｉ、図６のフィルタパケット情報４０２に対応する。
ＲＯＭ３７１−ｉは、メモリの一例であり、ＲＡＭ等を用いても良い。
【００８５】
図９は、実施の形態に係るシステムの詳細な構成図である。
図９のシステム１０１においては、モジュール２０１−１、２０１−２、２０１−７、２０１−８およびスイッチ３０１−１、３０１−３、３０１−４のみ記載し、モジュール２０１−３〜２０１−６、２０１−９〜２０１−１２およびスイッチ３０１−２、３０１−５の記載は省略している。また、スイッチ３０１−３の詳細な構成の記載は省略している。
【００８６】
図１０は、実施の形態に係るパケット通信処理のフローチャートである。
ここでは、モジュール２０１−１（送信元モジュール）からスイッチ３０１−ｍ（ｍ＝１、３、４）を介してモジュール２０１−７（送信先モジュール）にパケットを送信する場合の処理について説明する。
【００８７】
ステップＳ５０１において、モジュール２０１−１のメモリ制御部２４１−１は、ＲＯＭ２７１−１からフィルタパケット情報２７２−１を読み出し、フィルタパケット情報２７２−１に固定値領域上書き部２３２に送信する。これにより、固定値領域上書き部２３２は、フィルタパケット情報２７２−１を認識し、フィルタパケット情報２７２−１を利用可能となる。
【００８８】
ステップＳ５０２において、スイッチ３０１−ｍのメモリ制御部３５１−ｍは、ＲＯＭ３７１−ｍからフィルタパケット情報３７２−ｍを読み出し、固定値領域期待値チェック部３３２−ｍ−ｋに送信する。これにより、固定値領域期待値チェック部３３２−ｍ−ｋは、フィルタパケット情報３７２−ｍを認識し、フィルタパケット情報３７２−ｍを利用可能となる。
【００８９】
ステップＳ５０３において、モジュール２０１−７のメモリ制御部２４１−７は、ＲＯＭ２７１−７からフィルタパケット情報２７２−７を読み出し、フィルタパケット情報２７２−７に固定値領域上書き部２３２−７に送信する。これにより、固定値領域上書き部２３２−７は、フィルタパケット情報２７２−７を認識し、フィルタパケット情報２７２−７を利用可能となる。
【００９０】
上述のフィルタパケット情報２７２−１、２７２−２、３７２−ｍの読み出しは、例えば、それぞれモジュール２０１−１、２０１−７またはスイッチ３０１−ｍの電源がオンとなったときに実行される。
【００９１】
ステップＳ５０４において、モジュール２０１−１は、モジュール２０１−７へパケット（送信パケット）を送信する。
【００９２】
ステップＳ５０５において、スイッチ３０１−１は、送信パケットを受信する。そして、ＴＬ受信部３３１−１−１は、ＰＨＹ制御部３２２−１−１およびＤＬ制御部３２３−１−１を介して、トランザクションレイヤパケットを受信する。
【００９３】
ステップＳ５０６において、固定値領域期待値チェック部３３２−１−１は、トランザクションレイヤパケットの固定値領域の値とフィルタパケット情報３７２−１の固定値領域期待値情報テーブル４０４の期待値とを比較し、一致するか否かチェックする（期待値チェック）。尚、固定値領域期待値チェック部３３２−１−１は、トランザクションレイヤパケット４０１の固定値領域の位置を、フィルタパケット情報３７２−１の可変値領域／固定値領域情報テーブル４０３を参照して判断する。固定値領域の値と期待値が一致する場合、すなわちエラー未検出（エラー無し）の場合、制御はステップＳ５１０に進み、固定値領域の値と期待値が一致しない場合、すなわちエラー検出（エラー有り）の場合、制御はステップＳ５０７に進む。
【００９４】
ステップＳ５０７において、固定値領域期待値チェック部３３２−１−１は、エラー応答制御部３３３−１−１にエラー応答を指示する。エラー応答制御部３３３−１−１は、エラー応答パケット生成部３４２−１−１にエラー応答パケットの生成を指示する。生成されたエラー応答パケットは、スイッチ３０１−１からモジュール２０１−１に送信される。
【００９５】
ステップＳ５０８において、モジュール２０１−１は、エラー応答パケットを受信する。
ステップＳ５０９において、モジュール２０１−１は、パケット（再送パケット）を再送する。以下、再送パケットを送信パケットとして、ステップＳ５０５以降と同様の処理が実行される。
【００９６】
ステップＳ５１０において、固定値領域期待値チェック部３３２−１−１は、トランザクションレイヤパケットをルーティング部３６１−１に転送する。トランザクションレイヤパケットは、ルーティング部３６１−１からポート３２１−１−４に転送され、ポート３２１−１−４において、トランザクションレイヤやデータリンクレイヤ等の処理が行われる。そして、ポート３２１−１−４からスイッチ３０１−３に送信パケットが送信される。
【００９７】
以下、スイッチ３０１−３において、スイッチ３０１−１と同様に、固定値領域の期待値チェック等の処理が行われ、送信パケットは、スイッチ３０１−４へ転送される。さらに、スイッチ３０１−４においても、スイッチ３０１−１と同様に、固定値領域の期待値チェック等の処理が行われ、送信パケットは、モジュール２０１−７へ転送される。
【００９８】
ステップＳ５１１において、モジュール２０１−７は、送信パケットを受信する。そして、ＴＬ受信部２３１−７は、ＰＨＹ制御部２６１−１およびＤＬ制御部２５１−１を介して、トランザクションパケット４０１を受信する。
【００９９】
ステップＳ５１２において、固定値領域上書き部２３２−７は、トランザクションパケット４０１の固定値領域の値をフィルタパケット情報２７２−７の固定値領域期待値情報テーブル４０４の期待値で上書きする。尚、固定値領域上書き部２３２−７は、トランザクションレイヤパケット４０１の固定値領域の位置を、フィルタパケット情報２７２−７の可変値領域／固定値領域情報テーブル４０３を用いて判断する。
【０１００】
ステップＳ５１３において、ＥＣＲＣエラーチェック部２３３−７は、固定値領域が上書きされたトランザクションパケットに対するエラーをチェックする。エラーが検出された場合、制御はステップＳ５１４に進み、エラーが検出されなかった場合、制御はステップＳ５１５に進む。
【０１０１】
ステップＳ５１４において、モジュール２０１−７は、エラー応答パケットをモジュール２０１−１に送信する。
ステップＳ５１５において、モジュール２０１−７は、正常応答パケットをモジュール２０１−１に送信する。
【０１０２】
ステップＳ５１６において、スイッチ３０１−４は、応答パケット（正常応答パケットまたはエラー応答パケット）を受信する。そして、ＴＬ受信部３３１−４−１は、ＰＨＹ制御部３２２−４−１およびＤＬ制御部３２３−４−１を介して、トランザクションレイヤパケットを受信する。
【０１０３】
ステップＳ５１７において、ＴＬ受信部３３１−４−１は、応答パケットのトランザクションレイヤパケットに対する期待値チェックを行う。期待値チェックの処理は、ステップＳ５０６と同様であるので説明は省略する。固定値領域の値と期待値が一致する場合、すなわちエラー未検出（エラー無し）の場合、制御はステップＳ５１９に進み、固定値領域の値と期待値が一致しない場合、すなわちエラー検出（エラー有り）の場合、制御はステップＳ５１８に進む。
【０１０４】
ステップＳ５１８において、ＴＬ送信部３４１−４−１は、エラー応答パケットを生成する。生成されたエラー応答パケットは、スイッチ３０１−４からモジュール２０１−７に送信される。
【０１０５】
ステップＳ５１９において、固定値領域期待値チェック部３３２−４−１は、トランザクションレイヤパケットをルーティング部３６１−４に転送する。トランザクションレイヤパケットは、ルーティング部３６１−１からポート３２１−４−４に転送され、ポート３２１−４−４において、トランザクションレイヤやデータリンクレイヤ等の処理が行われる。そして、ポート３２１−４−４からスイッチ３０１−３に応答パケットが送信される。
【０１０６】
以下、スイッチ３０１−３において、スイッチ３０１−４と同様に、固定値領域の期待値チェック等の処理が行われ、応答パケットは、スイッチ３０１−１へ転送される。さらに、スイッチ３０１−１においても、スイッチ３０１−４と同様に、固定値領域の期待値チェック等の処理が行われ、応答パケットは、モジュール２０１−１へ転送される。
【０１０７】
ステップＳ５２０において、モジュール２０１−１は、応答パケットを受信する。
ステップＳ５２１において、モジュール２０１−１は、ステップＳ５２０で受信した応答パケットがエラー応答パケットである場合、パケット（再送パケット）を再送する。以下、再送パケットを送信パケットとして、ステップＳ５０５以降と同様の処理が実行される。
【０１０８】
図１１は、実施の形態に係るパケット通信処理を示す図である。
図１１では、モジュール２０１−１（送信元モジュール）からスイッチ３０１−ｍ（ｍ＝１、３、４）を介してモジュール２０１−７（送信先モジュール）にパケットを送信する場合の処理について記載している。
【０１０９】
モジュール２０１−１において、トランザクションレイヤは、ソフトウェアレイヤからリクエストを受信し、トランザクションレイヤパケット（ＴＬＰ）を生成する。トランザクションレイヤパケットは、データリンクレイヤに送られ、データリンクレイヤでデータリンクレイヤパケット（ＤＬＬＰ）が生成される。
【０１１０】
データリンクレイヤパケットは、フィジカルレイヤに送られ、フィジカルレイヤでオーダードセットが生成される。
ＴＬＰ、ＤＬＬＰ、およびオーダードセットを含む送信パケットは、メカニカルレイヤに送られ、スイッチ３０１−１に送信される。
【０１１１】
スイッチ３０１−１のメカニカルレイヤは送信パケットを受信し、フィジカルレイヤへ送信する。フィジカルレイヤは、データリンクレイヤパケットおよびトランザクションレイヤパケットをデータリンクレイヤに送信する。データリンクレイヤは、トランザクションレイヤパケットをトランザクションレイヤに送信する。
【０１１２】
スイッチ３０１−１のトランザクションレイヤは、フィルタパケット情報に基づいてトランザクションレイヤパケットの期待値チェックを行う。エラーが無い場合、トランザクションレイヤパケットはルーティング部３６１−１に送信される。
【０１１３】
以下、データリンクレイヤでのＤＬＬＰの生成やフィジカルレイヤでのオーダードセットの生成が行われ、送信パケットは、スイッチ３０１−３に送信され、さらにスイッチ３０１−３からスイッチ３０１−４を介して、モジュール２０１−７に送信される。
【０１１４】
尚、スイッチ３０１−３、３０１−４のトランザクションレイヤでは、スイッチ３０１−１と同様に、フィルタパケット情報に基づくトランザクションレイヤパケットの期待値チェックが行われる。
【０１１５】
モジュール２０１−７のトランザクションレイヤでは、フィルタパケット情報を用いた固定値領域に対する期待値の上書き、およびＥＣＲＣエラーチェックが実施される。
【０１１６】
次に、トランザクションレイヤパケットの固定値領域のデータが壊れなかった場合（正常ケース）とデータが壊れた場合のスイッチのトランザクションレイヤの処理について説明する。
【０１１７】
図１２Ａは、実施の形態に係るスイッチのトランザクションレイヤの処理（エラー未検出時）を示す図である。
図１２Ａでは、データが壊れなかった場合のスイッチ３０１−１のトランザクションレイヤにおける処理を示す。
【０１１８】
スイッチ３０１−１のＴＬ受信部３３１−１−１は、トランザクションレイヤパケット４０１を受信する。
固定値領域期待値チェック部３３２−１−１は、トランザクションレイヤパケット４０１の固定値領域の値と固定値領域期待値情報テーブル４０４の期待値とを比較し、一致するか否かチェックする（期待値チェック）。尚、トランザクションレイヤパケット４０１の固定値領域の位置は、フィルタパケット情報３７２−１の可変値領域／固定値領域情報テーブル４０３を参照して判断する。
【０１１９】
図１２Ａでは、トランザクションレイヤパケット４０１のデータは壊れていないので、トランザクションレイヤパケット４０１の固定値領域の値と固定値領域期待値情報テーブル４０４の期待値とは一致し、エラー無しと判定される。
【０１２０】
固定値領域期待値チェック部３３２−１−１は、トランザクションレイヤパケット４０１をルーティング部３６１−１に転送する。
【０１２１】
図１２Ｂは、実施の形態に係るスイッチのトランザクションレイヤの処理（エラー検出時）を示す図である。
図１２Ｂでは、トランザクションレイヤパケットの固定値領域のデータが壊れた場合のスイッチ３０１−１のトランザクションレイヤにおける処理を示す。
【０１２２】
スイッチ３０１−１のＴＬ受信部３３１−１−１は、トランザクションレイヤパケット４０１を受信する。
ここで、スイッチ３０１−１内において、トランザクションレイヤパケット４０１の固定値領域のデータが壊れたものとする。
【０１２３】
固定値領域期待値チェック部３３２−１−１は、トランザクションレイヤパケット４０１の固定値領域の値と固定値領域期待値情報テーブル４０４の期待値とを比較し、一致するか否かチェックする（期待値チェック）。尚、トランザクションレイヤパケット４０１の固定値領域の位置は、フィルタパケット情報３７２−１の可変値領域／固定値領域情報テーブル４０３を参照して判断する。
【０１２４】
図１２Ｂでは、トランザクションレイヤパケット４０１の固定値領域のデータは壊れているので、トランザクションレイヤパケット４０１の固定値領域の値と固定値領域期待値情報テーブル４０４の期待値とは一致せず、エラー検出と判定される。
【０１２５】
固定値領域期待値チェック部３３２−１−１は、エラー応答制御部３３３−１−１にエラー応答を指示する。
エラー応答制御部３３３−３−１は、固定値領域期待値チェック部３３２−１−１からの指示に応じて、エラー応答パケット生成部３４２−１−１にエラー応答パケットの生成を指示する。
【０１２６】
指示を受けたエラー応答パケット生成部３４２−１−１は、エラー応答パケットを生成する。
生成されたエラー応答パケットは、送信元モジュールに送信される。
【０１２７】
次に、実施の形態と従来技術のトランザクションレイヤパケットの固定値領域のデータが壊れた場合のスイッチの処理について比較する。
【０１２８】
図１３は、従来技術に係るパケット通信を示す図である。
図１３では、モジュール（送信元モジュール）１０１１−１からモジュール（送信先モジュール）１０１１−７にパケットを送信する場合について説明する。
先ず、モジュール１０１１−１は、トランザクションレイヤパケットを含む送信パケットＰ１を生成し、モジュール１０１１−７に送信する。
【０１２９】
送信パケットＰ１は、スイッチ１０３１−１に到着する。
スイッチ１０３１−１の内部において、送信パケットのトランザクションレイヤパケットの固定値領域のデータが壊れたものとする。
【０１３０】
データが壊れた送信パケットＰ１’は、スイッチ１０３１−１からスイッチ１０３１−３に転送され、さらにスイッチ１０３１−４を介して、モジュール１０１１−７に到着する。
【０１３１】
モジュール１０１１−７では、データが壊れた送信パケットＰ１’に対するＥＣＲＣエラーチェックが行われ、エラーが検出される。モジュール１０１１−７は、送信元モジュール１０１１−１にエラー応答Completion Packet（ＣＰ）を送信する。
【０１３２】
エラー応答ＣＰは、スイッチ１０３１−４、１０３１−３、１０３１−１を介して、モジュール１０１１−１に到着する。
モジュール１０１１−１は、エラー応答ＣＰを受信すると、再送パケット（Retry Packet:ＲＰ）をモジュール１０１１−７に送信する。
【０１３３】
再送パケットは、スイッチ１０３１−１、１０３１−３、１０３１−４を介してモジュール１０１１−７に到着する。
【０１３４】
図１４は、実施の形態に係るパケット通信を示す図である。
図１４では、モジュール（送信元モジュール）２０１−１からモジュール（送信先モジュール）２０１−７にパケットを送信する場合について説明する。
尚、図１４では、モジュール２０１−４〜２０１−６、２０１−１０〜２０１−１２の記載は省略している。
【０１３５】
先ず、モジュール２０１−１は、送信パケットＰ１を生成し、モジュール３０１−７に送信する。
送信パケットＰ１は、スイッチ３０１−１に到着する。
【０１３６】
スイッチ３０１−１の内部において、送信パケットＰ１のトランザクションレイヤパケットの固定値領域のデータが壊れたものとする。
スイッチ３０１−１は、データが壊れた送信パケットＰ１’のトランザクションレイヤパケットの固定値領域の期待値チェックをフィルタパケット情報３０２−１に基づいて行う。
【０１３７】
スイッチ３０１−１は、期待値エラーを検出し、エラー応答Completion Packet（ＣＰ）をモジュール２０１−１に送信する。
モジュール２０１−１は、エラー応答ＣＰを受信すると、再送パケット（Retry Packet:ＲＰ）をモジュール２０１−７に送信する。
【０１３８】
再送パケットは、スイッチ３０１−１、３０１−３、３０１−４を介してモジュール２０１−７に到着する。
【０１３９】
図１３で示す従来のパケット通信では、スイッチ１０３１−１の内部で壊れたパケットＰ１’は、スイッチ１０３１−１から後段の送信先モジュール１０１１−７まで転送される。そして、モジュール１０１１−７で初めてＥＣＲＣエラーが検出され、モジュール１０１１−７からモジュール１０１１−１にエラー応答が返される。そして、エラー応答を受信したモジュール１０１１−１は、パケットを再送する。
【０１４０】
それに対し、図１４に示す実施の形態のパケット通信では、スイッチ３０１−１はフィルタパケット情報３０２−１を用いて、固定値領域の期待値チェックを行い、エラーを検出し、エラー応答をモジュール２０１−１に応答している。エラー応答を受信したモジュール２０１−１は、パケットを再送する。
【０１４１】
このように、実施の形態のパケット通信では、スイッチ３０１−１内部で壊れたパケットＰ１’は、後段のスイッチ３０１−３、３０１−４、およびモジュール２０１−７に転送されないので、後段のネットワークの帯域の転送レートが低下するのを抑止できる。
【０１４２】
次に、従来技術と実施の形態におけるデータの壊れ方に対するスイッチの処理について比較する。
図１５は、従来技術に係るトランザクションレイヤパケットの状態とスイッチの処理を示す図である。
【０１４３】
図１６は、実施の形態に係るトランザクションレイヤパケットの状態とスイッチの処理を示す図である。
図１５、１６は、スイッチが受信したトランザクションレイヤパケットの可変値領域と固定値領域がそれぞれ正常な場合とエラー（異常）がある場合に対するスイッチの処理を示している。
【０１４４】
尚、図１５はモジュール（送信元モジュール）１０１１−１からモジュール（送信先モジュール）１０１１−７への送信パケットを受信したスイッチ１０３１−１の処理を示し、図１６はモジュール（送信元モジュール）２０１−１からモジュール（送信先モジュール）２０１−７への送信パケットを受信したスイッチ３０１−１の処理を示す。
【０１４５】
図１５、１６を参照すると、ケース１（可変値領域が正常、固定値領域が正常）およびケース３（可変値領域が異常、固定値領域が正常）の場合、従来技術および実施の形態において、処理に差異は無い。すなわち、従来技術および実施の形態の両方ともに送信パケットは、送信先モジュールまで転送される。
【０１４６】
ケース２（可変値領域が正常、固定値領域が異常）およびケース４（可変値領域が異常、固定値領域が異常）の場合、従来技術では、スイッチ１０３１−１においてトランザクションレイヤパケットのエラーチェックは行われない。よって、トランザクションレイヤパケットは、スイッチ１０３１−１からスイッチ１０３１−３に転送され、さらにスイッチ１０３１−４を介してモジュール１０１１−７に到着する。
【０１４７】
一方、ケース２（可変値領域が正常、固定値領域が異常）およびケース４（可変値領域が異常、固定値領域が異常）の場合、実施の形態では、スイッチ３０１−１は、トランザクションレイヤパケットの固定値領域のエラーチェックを行う。そのため、ケース２およびケース４では、スイッチ３０１−１でエラーが検出され、送信元のモジュール２０１−１にエラー応答が返送される。すなわち、後段のスイッチ３０１−３、３０１−４、およびモジュール２０１−７には、送信パケットは転送されない。
【０１４８】
上述のように、ケース２（可変値領域が正常、固定値領域が異常）およびケース４（可変値領域が異常、固定値領域が異常）の場合、実施の形態では、固定値領域のエラーが検出されたスイッチの後段の装置へ送信パケットは転送されないので、後段のネットワークの帯域の転送レートが低下するのを抑止できる。
【０１４９】
次に、実施の形態と従来技術のトランザクションレイヤパケットの固定値領域のデータが壊れた場合のモジュールの処理について比較する。
【０１５０】
図１７は、実施の形態に係るモジュールのエラーチェック処理を示す図である。
図１７では、モジュール（送信元モジュール）２０１−１からモジュール（送信先モジュール）２０１−７にパケットを送信する場合について説明する。
先ず、モジュール２０１−１は、トランザクションレイヤパケット４０１を生成し、モジュール２０１−７に送信する。
【０１５１】
トランザクションレイヤパケット４０１は、送信経路の途中で固定値領域のデータが壊れたとする。また、可変値領域のデータは、壊れなかったものとする。尚、送信経路のスイッチ３０１−１、３０１−３、３０１−４において、期待値チェックは行なわれないものとする。
【０１５２】
固定値領域のデータが壊れたトランザクションレイヤパケット４０１’は、モジュール２０１−７に到着する。
モジュール２０１−７は、フィルタパケット情報２０２−７の固定値領域期待値情報テーブル４０４を用いて、トランザクションレイヤパケット４０１’の固定値領域を固定値領域期待値情報テーブル４０４の期待値で上書きする。
【０１５３】
それにより、固定値領域のデータが壊れたトランザクションレイヤパケット４０１’は、正常なトランザクションレイヤパケット４０１となる。
固定値領域が期待値で上書きされたトランザクションレイヤパケット４０１に対して、モジュール２０１−７でＥＣＲＣエラーチェックが行われ、エラーは検出されず、パケットは正常に受信されたと判断される。
モジュール２０１−７は、モジュール２０１−１にCompletion Packet（正常応答パケット）を送信する。
【０１５４】
図１８は、従来技術に係るモジュールのエラーチェック処理を示す図である。
図１８では、モジュール（送信元モジュール）１０１１−１からモジュール（送信先モジュール）１０１１−７にパケットを送信する場合について説明する。
先ず、モジュール１０１１−１は、トランザクションレイヤパケット４０１を生成し、モジュール１０１１−７に送信する。
【０１５５】
トランザクションレイヤパケット４０１は、送信経路の途中で固定値領域のデータが壊れたとする。また、可変値領域のデータは、壊れなかったものとする。
固定値領域のデータが壊れたトランザクションレイヤパケット４０１’は、モジュール１０１１−７に到着する。
【０１５６】
固定値領域のデータが壊れたトランザクションレイヤパケット４０１’に対して、モジュール１０１１−７でＥＣＲＣエラーチェックが行われ、エラーが検出される。
モジュール１０１１−７は、モジュール１０１１−１にエラー応答を行い、モジュール１０１１−１は、パケット（Retry Packet）を再送する。
【０１５７】
上述のように、従来の送信先モジュールは装置仕様として固定値で利用する領域（固定値領域）のデータのみが壊れた場合であっても、トランザクションレイヤではパケット全ての領域を対象にＥＣＲＣエラーチェックを行うため、このパケットをエラーとして処理してしまう。エラー応答を受けた送信元モジュールは再送を行うため、ネットワークに再送処理分の負荷がかかってしまう。
【０１５８】
一方、図１７の実施の形態では、送信先モジュールは、固定値領域をフィルタパケット情報で定義された期待値に強制的に上書きして修正し、トランザクションレイヤ全体のＥＣＲＣエラーチェックを行っている。そのため、装置仕様として固定値で利用する領域のデータのみが壊れていた場合でも、結果として正常パケットとして処理されるため、送信元モジュールの再送が実施されなくてすみ、その再送処理分の負荷が軽減される。
【０１５９】
次に、従来技術と実施の形態におけるデータの壊れ方に対するモジュールの処理について比較する。
図１９は、従来技術に係るトランザクションレイヤパケットの状態とモジュールの処理結果を示す図である。
【０１６０】
図２０は、実施の形態に係るトランザクションレイヤパケットの状態とモジュールの処理結果を示す図である。
図１９、２０は、モジュールが受信したトランザクションレイヤパケットの可変値領域と固定値領域がそれぞれ正常な場合とエラー（異常）がある場合に対するモジュールの処理結果を示している。
【０１６１】
図１９、２０を参照すると、ケース１（可変値領域が正常、固定値領域が正常）、ケース３（可変値領域が異常、固定値領域が正常）、およびケース４（可変値領域が異常、固定値領域が異常）の場合、従来技術および実施の形態において、処理結果に差異は無い。
【０１６２】
ケース２（可変値領域が正常、固定値領域が異常）の場合、従来技術では、モジュールにおいてＥＣＲＣエラーが検出され、パケットの再送が行われる。一方、ケース２（可変値領域が正常、固定値領域が異常）の場合、実施の形態では、モジュールが受信したトランザクションレイヤの固定値領域は期待値で上書きされるため、固定値領域の値は正常な値となる。それにより、ＥＣＲＣエラーは検出されず、正常なパケットの受信処理が行われる。
【０１６３】
上述のように、ケース２（可変値領域が正常、固定値領域が異常）の場合、従来技術では、パケットの再送が行われていたが、実施の形態では、パケットの再送が行われないため、転送レートの低下が抑止される。
【０１６４】
実施の形態のスイッチによれば、受信したトランザクションレイヤパケットの固定値領域の期待値チェックを行い、エラーが検出された場合に、可変値領域のデータも壊れている可能性があるので、エラー応答を送信元モジュールに応答する。このように、実施の形態のスイッチは、エラーが検出されたパケットを後段の装置に転送しないため、エラーを検出したスイッチと送信先のモジュールとの間の転送レートが低下するのを防ぐことができる。
【０１６５】
実施の形態のモジュールによれば、受信したトランザクションレイヤパケットの固定値領域のデータが壊れていたとしても、固定値領域を期待値で上書きするため、エラーが検出されず、パケットの再送が行われない。それにより、転送レートの低下を防ぐことができる。
【０１６６】
本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成を取ることができる。
実施の形態のシステムにおいて、実施の形態のモジュールおよびスイッチを同時に用いる構成でなくても良い。例えば、実施の形態のシステムにおいて、モジュールは実施の形態のモジュールを用い、スイッチは従来のスイッチを用いる構成でもよい。また、実施の形態のシステムにおいて、モジュールは従来のモジュールを用い、スイッチは実施の形態のスイッチを用いる構成でも良い。
【０１６７】
また、実施の形態のシステムにおいて、送信元モジュールと送信先モジュールをスイッチを介さずに直接接続する構成としても良い。
【０１６８】
以上の実施の形態に関し、更に以下の付記を開示する。
（付記１）
パケットを送信する送信装置と、前記送信装置とスイッチ装置を介して接続し、前記パケットを受信する受信装置と、を有するシステムにおいて、
前記スイッチ装置は、
トランザクションレイヤパケットにおいて値が予め決められている領域である固定値領域の期待値を示す第１の期待値情報を格納する第１のメモリと、
前記送信装置から受信したトランザクションレイヤパケットの前記固定値領域の値と前記期待値とを比較し、前記固定値領域の値と前記期待値とが異なっている場合に前記送信装置にエラーを応答するスイッチ制御部と、
を備えることを特徴とするシステム。
（付記２）
前記受信装置は、
前記固定値領域の前記期待値を示す第２の期待値情報を格納する第２のメモリと、
前記スイッチから受信したトランザクションレイヤパケットの固定値領域の値を前記期待値で上書きする上書き部と、
前記期待値で上書きされたトランザクションレイヤパケットのエラーチェックを行うエラーチェック部と、
を備えることを特徴とする付記１記載のシステム。
（付記３）
前記第１のメモリは、前記固定値領域の位置を示す第１の固定値領域情報をさらに格納し、
前記スイッチ制御部は、前記第１の固定値領域情報に基づいて、前記トランザクションレイヤパケットの前記固定値領域の位置を判別することを特徴と付記１または２記載のシステム。
（付記４）
前記第２のメモリは、前記固定値領域の位置を示す第２の固定値領域情報をさらに格納し、
前記上書き部は、前記第２の固定値領域情報に基づいて、前記トランザクションレイヤパケットの前記固定値領域の位置を判別することを特徴と付記２または３記載のシステム。
（付記５）
パケットを送信する送信装置と、前記送信装置とスイッチ装置を介して接続し、前記パケットを受信する受信装置と、を有するシステムが実行する通信方法であって、
前記スイッチ装置は、
トランザクションレイヤパケットにおいて値が予め決められている領域である固定値領域の期待値を示す第１の期待値情報を格納する第１のメモリを備え、
前記送信装置から受信したトランザクションレイヤパケットの前記固定値領域の値と前記期待値とを比較し、
前記固定値領域の値と前記期待値とが異なっている場合に前記送信装置にエラーを応答することを特徴とする通信方法。
（付記６）
前記受信装置は、
前記固定値領域の前記期待値を示す第２の期待値情報を格納する第２のメモリを備え、
前記スイッチから受信したトランザクションレイヤパケットの固定値領域の値を前記期待値で上書きし、
前記期待値で上書きされたトランザクションレイヤパケットのエラーチェックを行うことを特徴とする付記５記載の通信方法。
（付記７）
前記第１のメモリは、前記固定値領域の位置を示す第１の固定値領域情報をさらに格納し、
前記スイッチ装置は、前記第１の固定値領域情報に基づいて、前記トランザクションレイヤパケットの前記固定値領域の位置を判別することを特徴と付記５または６記載の通信方法。
（付記８）
前記第２のメモリは、前記固定値領域の位置を示す第２の固定値領域情報をさらに格納し、
前記受信装置は、前記第２の固定値領域情報に基づいて、前記トランザクションレイヤパケットの前記固定値領域の位置を判別することを特徴と付記６または７記載の通信方法。
【符号の説明】
【０１６９】
１０１    システム
２０１    モジュール
２０２    フィルタパケット情報
２１１    パケット処理部
２２１    ＴＬ送信部
２２２    ＴＬパケット生成部
２２３    ＥＣＲＣ付加回路
２２４    ＴＬパケット送信制御部
２２５    送信パケット記録部
２３１    ＴＬ受信部
２３２    固定値領域上書き部
２３３    ＥＣＲＣエラーチェック部
２３４    受信ＴＬパケット解析部
２３５    応答制御部
２３６    再送制御部
２４１    メモリ制御部
２５１    ＤＬ制御部
２６１    ＰＨＹ制御部
２７１    ＲＯＭ
３０１    スイッチ
３０２    フィルタパケット情報
３１１    スイッチ回路
３２１    ポート
３２２    ＰＨＹ制御部
３２３    ＤＬ制御部
３３１    ＴＬ受信部
３３２    固定値領域期待値チェック部
３３３    エラー応答制御部
３４１    ＴＬ送信部
３４２    エラー応答パケット生成部
３４３    ＴＬパケット送信制御部
３４４    ＥＣＲＣ付加回路
３５１    メモリ制御部
３５２    フィルタパケット情報格納部
３６１    ルーティング部
３７１    ＲＯＭ
４０１    トランザクションレイヤパケット
４０２    パケットフィルタ情報
４０３    可変値領域／固定値領域情報テーブル
４０４    固定値領域期待値情報テーブル
１００１    システム
１０１１    モジュール
１０３１    スイッチ
【図１】
2014033318.tif 000003
【図２】
2014033318.tif 000004
【図３】
2014033318.tif 000005
【図７】
2014033318.tif 000006
【図８】
2014033318.tif 000007
【図９】
2014033318.tif 000008
【図１０】
2014033318.tif 000009
【図１３】
2014033318.tif 000010
【図４】
2014033318.tif 000011
【図５】
2014033318.tif 000012
【図６】
2014033318.tif 000013
【図１１】
2014033318.tif 000014
【図１２Ａ】
2014033318.tif 000015
【図１２Ｂ】
2014033318.tif 000016
【図１４】
2014033318.tif 000017
【図１５】
2014033318.tif 000018
【図１６】
2014033318.tif 000019
【図１７】
2014033318.tif 000020
【図１８】
2014033318.tif 000021
【図１９】
2014033318.tif 000022
【図２０】
2014033318.tif 000023