(57)【要約】 【課題】中継デバイスから送信するデータのエラーを検出して、TLPのデータ完全性を保証できるようにしたPCI ExpressのTLP処理回路、及びこれを備える中継デバイスを提供することを目的とする。【解決手段】TLP処理回路１０は、複数の受信処理部２ａ１韓と、送信処理部２ｂと、受信処理部のいずれかを選択して送信処理部に送信するマルチプレクサ２ｃ１とからなり、すくなくとも、受信処理部は、冗長コード生成回路１２と、LCRC・シーケンス番号検査回路１３と、バッファメモリ１４と、当該TLPの送信先へ正常送信、または無効化するための送信を制御するパケット制御回路部１６とを備え、送信処理部は、シーケンス番号生成回路１９と、LCRC生成回路２０と、中継回路エラー検出回路２１とを備え、送信するTLPのデータ完全性が保証できるようにしたことを特徴とするPCI ExpressのTLP処理回路。【選択図】図１
2010250665.tif 000002
【特許請求の範囲】
【請求項１】
PCI Expressシステムのルートコンプレックスとエンドポイント間、または、エンドポイント間を中継する中継デバイスに設けられるTLP処理回路であって、
前記TLP処理回路には、すくなくとも、受信したTLPの転送データ毎に冗長コードを付加する冗長コード生成回路と、付加した前記冗長コードと送信するTLPとを照合して、送信する当該TLPのエラーを検出する中継回路エラー検出回路とを備え、
前記中継デバイスから送信するTLPのデータ完全性を保証できるようにしたことを特徴とするPCI ExpressのTLP処理回路。
【請求項２】
請求項１に記載の前記PCI ExpressのTLP処理回路を備える中継デバイス。
【請求項３】
PCI Expressシステムのルートコンプレックスとエンドポイント間、または、エンドポイント間を中継する中継デバイスに設けられるTLP処理回路であって、
双方向に設けられる１方向についての前記TLP処理回路は、複数の受信処理部と、送信処理部と、前記受信処理部のいずれかを選択して前記送信処理部に送信するマルチプレクサとからなり、
前記受信処理部は、受信したTLPの制御キャラクタを検出して、当該パケットがTLPであることを検出する制御キャラクタ検出回路と、
前記制御キャラクタ検出回路から出力した前記TLPのヘッダ、データ及びTLPダイジェストのデータについて、予め定められるデータの単位毎に、当該デバイス内のエラーを検出する「冗長コード」を付加する冗長コード生成回路と、
前記冗長コード生成回路で処理された前記TLPに対して、「LCRC」及び「シーケンス番号」を検査するLCRC・シーケンス番号検査回路と、
前記LCRC・シーケンス番号検査回路から出力したTLPと付加した前記冗長コードとを対応付けて記憶するバッファ書き込み回路とそのバッファメモリと、
前記バッファメモリに記憶したTLPにエラーを検出したどうかをACK DLLP／NAK DLLPで前記TLPの送信元デバイスに返信するとともに、前記TLP処理回路から送信先へ正常送信、または無効化するための送信を制御するパケット制御回路部とから成り、
前記送信処理部は、前記パケット制御回路の転送指示出力で前記バッファメモリから
対応するTLPを読み込むバッファ読み込み回路と、
前記バッファ読み込み回路に読み込んだ前記TLPにシーケンス番号を付加するシーケンス番号生成回路と、
前記シーケンス番号生成回路の出力に「LCRC」を付加するLCRC生成回路と、
前記LCRC生成回路の出力と付加した前記冗長コードとを照合し、エラーの修復が可能か否かを判定して、前記パケット制御回路に通知する中継回路エラー検出回路と、
前記パケット制御回路部の指令がNullified TLPの生成である場合、LCRCを反転させ、TLPの末尾に「EDB」を、そうでなければ「END」キャラクタを付加して出力する制御キャラクタ付加回路とから成り、
前記パケット制御回路部は、前記LCRC・シーケンス番号検査回路または前記バッファ書き込み回路において、前記TLPヘッダから送信先を読み取り、前記送信処理部に送信中のパケットがなければ、バッファ読み込み回路に対して送信開始指令を通知し、
前記制御キャラクタ検出回路で「EDB」を検出し、当該送信処理回路から送信先に送信を開始していれば当該TLPを無効とするNullified TLPの生成を前記制御キャラクタ付加回路に指令し、
前記LCRC シーケンス番号検査回路の検査出力が正常であれば、前記中継回路エラー検出回路の結果が出力されるまで当該正常ステータス信号を保持し、前記中継回路エラー検出回路の結果が正常であればACK DLLPを、そうでなければNAK DLLPを送信元に返信するとともに、送信中の前記TLPを無効とするためのNullified TLPの生成を前記制御キャラクタ付加回路に指令するようにし、一方、前記LCRC シーケンス番号検査回路の検査出力が異常であれば、前記中継回路エラー検出回路の判定出力を待たずに、NAK DLLPを前記送信元に返信するとともに、そのTLPが送信先に送信開始されていれば、送信中のTLPを無効とするため前記制御キャラクタ付加回路にNullified TLPの生成を指令し、
前記中継デバイスから送信するTLPのエラーを検出して、TLPにECRCを付加しなくてもデータ完全性が保証できるようにしたことを特徴とするPCI ExpressのTLP処理回路。
【請求項４】
請求項３に記載の前記PCI ExpressのTLP処理回路を備える中継デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、PCI Expressのデバイス、特に、そのトランザクション層パケット（TLP : Transaction Layer Packet）の処理回路に関する。
【背景技術】
【０００２】
PCI Express（登録商標）バスは、コンピュータシステム及び他の電子デバイスのデータを転送するために近年開発された、ポイント・ツー・ポイント接続による高速シリアルインタフェースで、従来のパラレル伝送に比べバスの基板占有面積が少なく一層の小型化が可能で、多分野でその用途が検討されている。
【０００３】
この規格の詳細は、PCI規格の制定母体であるPCI-SIG(Peripheral Component Interconnect-Special Interest Group)によってPCI Express Base Specificationとして規格化され、また、この規格の解説書も出版されている（例えば、非特許文献１参照。）。
【０００４】
先ず、図２乃至図４を参照して、このPCI Expressシステムの概略を説明する。PCI Expressシステムの構成は、例えば、図２に示すように、ルートコンプレックス１、スイッチ２、及びエンドポイント３（３ａ、３ｂ、３ｃ、３ｄ）のデバイスから成る。
【０００５】
また、ルートコンプレックス１、スイッチ２は夫々複数のポートを有し、これらとエンドポイント３の相互間を接続するPCI Expressバス７ａ〜７ｅは、図３に示すような３層のレイヤー構造を備える。
【０００６】
夫々の層は、最上位のドライバ及びアプリケーションソフトウェアからなる上位のソフトウェア層に対して従来のPCI互換サービスとエンド・ツー・エンドでデータの確実な通信を保証するトランザクション層１０１、隣接したコンポーネント間での確実なデータ通信を保障するデータリンク層１０２、通信パケットを物理媒体上で送受信する物理層１０３から成り、送受信するデータをパケットの形式で伝送する。
【０００７】
さらに、ルートコンプレックス１は、PCI Expressシステムのツリー構造の最上位に位置し、システムバスでＣＰＵ５と、メモリバスでメモリ６とそれぞれ接続される。
【０００８】
この構成では、ルートコンプレックス１とエンドポイント３ａの通信では、スイッチ２がTLPの中継デバイスとなり、エンドポイント３ａとエンドポイント３ｄとの通信では、スイッチ２とルートコンプレックス１が中継デバイスとなる。
【０００９】
このように構成されたPCI Expressシステムのデバイス間の伝送路の接続は、ポイント・ツー・ポイント接続となっており、片方向の差動増幅器を２つ使用するデュアル・シンプレックス方式で、リンク速度は２．５Ｇbpsの帯域を有し、双方向では５Ｇbpsの帯域を備える。
【００１０】
さらに、この双方向の伝送路（レーンと呼ぶ）を２組から３組まで増やすことにより、バスの帯域幅をスケーラブルに構成することが可能で、この伝送路上でパケットを送受信することによりデータの伝送を実行する。
【００１１】
各層のパケットは、図３に示すようにトランザクション層及びデータリンク層で生成され、夫々トランザクション層パケット（TLP、Transaction Layer Packet）、データリンク層パケット（DLLP、Data Link Layer Packet）と呼ばれる。
【００１２】
また、物理層においてもリンク制御のために物理層パケット（PLP、Physical Layer Packet）が生成される。
【００１３】
また、各層のパケットは、リンクで接続される相手の同じ層との間でやり取りされ、図４に示すように、下位のプロトコル層で前後に情報を付加され、最終的に伝送路に送信される。受信されたパケットは、各プロトコル層で前後の情報を削除して、上位のプロトコル層に渡される。
【００１４】
詳細には、エンド・ツー・エンドの通信を行うTLPは、トランザクション層でTLPヘッダ、データ・ペイロード、及びオプションのTLPダイジェスト（ECRC、End-to-end CRCと呼ばれる）を構成し、データリンク層で送信時にシーケンス番号とLCRCが付加され、受信時に検査後削除される。
【００１５】
DLLPは、TLPの送達応答（肯定応答ACKと否定応答NAK）など、リンク双方で情報をやり取りする短いパケットである。
【００１６】
さらに、各TLPには、物理層の受信側で開始と終了を検出するための制御キャラクタ（STPとEND）がパケットの両端に付加される。
【００１７】
次に、このように構成されるPCI Expressシステムのトランザクション層でのデータ完全性（Data Integrity：データに誤りがないこと）の問題点について説明する。
【００１８】
PCI Expressの規格によれば、トランザクション層パケット（TLP）のデータ誤りの検出にはLCRCが用いられる。LCRCはデータリンク層の機能であり、これによりリンク上での伝送エラーを検出する。LCRCが異常であれば、リンクで結ばれた２つのコンポーネント間で再送を図ることにより、エンド・ツー・エンドによるTLPの通信の信頼性を確保している。
【００１９】
通常TLPは、エンドポイント３やルートコンプレックス１といった末端のデバイスで生成され、スイッチ２やルートコンプレックス１を経由して最終的な目的のデバイスに送信される。TLPに付加されるシーケンス番号はリンク毎に管理されるため、TLPが中継デバイスを通過する毎にLCRCが検査され、また新しいLCRCが付加される。
【００２０】
従って、データの誤り検出をLCRC機能だけに頼った場合、スイッチ、及びルートコンプレックスの中継回路（ここでは、データリンク層よりも上位に位置する回路を中継回路と呼ぶ）でTLPのデータにエラーが発生した場合は、エラーを含んだTLPでLCRCが正常に生成されるため、TLPの受信先でエラーを検出することができない問題がある。
【００２１】
PCI Expressでは、この問題を回避するため、トランザクション層のオプション機能としてエンド・ツー・エンドのデータ完全性を保証するためのECRCを提供している。ECRC機能を用いる場合、TLPの後尾にあるTLPダイジェストと呼ばれる32ビットのフィールドにECRCが格納される。
【００２２】
しかしながら、PCI ExpressシステムのアプリケーションによってはTLPダイジェストをECRCに用いるのではなく、独自に活用する方が、有用性が高い場合がある（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【００２３】
【特許文献１】米国特許出願公開第２００９／０００６９３２号明細書
【非特許文献】
【００２４】
【非特許文献１】荒井信隆、里美尚志、田中顕裕、「PCI Express  入門講座」、）（株）電波新聞社、２００７年４月１日発行、第１章〜第５章
【発明の概要】
【発明が解決しようとする課題】
【００２５】
既存のPCI Express規格によれば、ECRCと呼ばれるTLPのCRCは、エンド・ツー・エンドのデータ完全性を保証するための手段である。TLPの後尾に設けられるTLPダイジェストはオプションのフィールドで、PCI Expressの規格によれば、ECRCを格納することになっている。
【００２６】
このTLPダイジェストを省略する場合、あるいは、別の目的に用いる場合は、スイッチを経由するルートコンプレックスとエンドポイント間の通信、あるいは、スイッチやルートコンプレックスを経由するエンドポイント間の通信において、TLPを中継するスイッチ、及びルートコンプレックスの中継回路でエラーが発生した場合にTLPのデータ完全性が保証できなくなる問題がある。
【００２７】
本発明は上記問題点を解決するために成されたもので、中継デバイスから送信するデータのエラーを検出して、TLPのデータ完全性を保証できるようにしたPCI ExpressのTLP処理回路、及びこれを備える中継デバイスを提供することを目的とする。
【課題を解決するための手段】
【００２８】
上記目的を達成するために、本発明による請求項１に係るPCI ExpressのTLP処理回路は、PCI Expressシステムのルートコンプレックスとエンドポイント間、または、エンドポイント間を中継する中継デバイスに設けられるTLP処理回路であって、前記TLP処理回路には、すくなくとも、受信したTLPの転送データ毎に冗長コードを付加する冗長コード生成回路と、付加した前記冗長コードと送信するTLPとを照合して、送信する当該TLPのエラーを検出する中継回路エラー検出回路とを備え、前記中継デバイスから送信するTLPのデータ完全性を保証できるようにしたことを特徴とする。
【００２９】
上記目的を達成するために、本発明による請求項３に係るPCI ExpressのTLP処理回路は、PCI Expressシステムのルートコンプレックスとエンドポイント間、または、エンドポイント間を中継する中継デバイスに設けられるTLP処理回路であって、双方向に設けられる１方向についての前記TLP処理回路は、複数の受信処理部と、送信処理部と、前記受信処理部のいずれかを選択して前記送信処理部に送信するマルチプレクサとからなり、前記受信処理部は、受信したTLPの制御キャラクタを検出して、当該パケットがTLPであることを検出する制御キャラクタ検出回路と、前記制御キャラクタ検出回路から出力した前記TLPのヘッダ、データ及びTLPダイジェストのデータについて、予め定められるデータの単位毎に、当該デバイス内のエラーを検出する「冗長コード」を付加する冗長コード生成回路と、前記冗長コード生成回路で処理された前記TLPに対して、「LCRC」及び「シーケンス番号」を検査するLCRC・シーケンス番号検査回路と、前記LCRC・シーケンス番号検査回路から出力したTLPと付加した前記冗長コードとを対応付けて記憶するバッファ書き込み回路とそのバッファメモリと、前記バッファメモリに記憶したTLPにエラーを検出したどうかをACK DLLP／NAK DLLPで前記TLPの送信元デバイスに返信するとともに、前記TLP処理回路から送信先へ正常送信、または無効化するための送信を制御するパケット制御回路部とから成り、前記送信処理部は、前記パケット制御回路の転送指示出力で前記バッファメモリから対応するTLPを読み込むバッファ読み込み回路と、前記バッファ読み込み回路に読み込んだ前記TLPにシーケンス番号を付加するシーケンス番号生成回路と、前記シーケンス番号生成回路の出力に「LCRC」を付加するLCRC生成回路と、前記LCRC生成回路の出力と付加した前記冗長コードとを照合し、エラーの修復が可能か否かを判定して、前記パケット制御回路に通知する中継回路エラー検出回路と、前記パケット制御回路部の指令がNullified TLPの生成である場合、LCRCを反転させ、TLPの末尾に「EDB」を、そうでなければ「END」キャラクタを付加して出力する制御キャラクタ付加回路とから成り、前記パケット制御回路部は、前記LCRC・シーケンス番号検査回路または前記バッファ書き込み回路において、前記TLPヘッダから送信先を読み取り、前記送信処理部に送信中のパケットがなければ、バッファ読み込み回路に対して送信開始指令を通知し、前記制御キャラクタ検出回路で「EDB」を検出し、当該送信処理回路から送信先に送信を開始していれば当該TLPを無効とするNullified TLPの生成を前記制御キャラクタ付加回路に指令し、前記LCRC シーケンス番号検査回路の検査出力が正常であれば、前記中継回路エラー検出回路の結果が出力されるまで当該正常ステータス信号を保持し、前記中継回路エラー検出回路の結果が正常であればACK DLLPを、そうでなければNAK DLLPを送信元に返信するとともに、送信中の前記TLPを無効とするためのNullified TLPの生成を前記制御キャラクタ付加回路に指令するようにし、一方、前記LCRC シーケンス番号検査回路の検査出力が異常であれば、前記中継回路エラー検出回路の判定出力を待たずに、NAK DLLPを前記送信元に返信するとともに、そのTLPが送信先に送信開始されていれば、送信中のTLPを無効とするため前記制御キャラクタ付加回���にNullified TLPの生成を指令し、前記中継デバイスから送信するTLPのエラーを検出して、TLPにECRCを付加しなくてもデータ完全性が保証できるようにしたことを特徴とする。
【発明の効果】
【００３０】
本発明によれば、中継デバイスから送信するデータのエラーを検出してデータ完全性を保証できるようにしたPCI ExpressのTLP処理回路、及びこれを備える中継デバイスを提供することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の中継デバイスのTLPの処理回路図。
【図２】従来のPCI Expressシステムの構成図。
【図３】従来のPCI Expressの構造を説明する図。
【図４】従来のTLPフォーマットの説明する図。
【発明を実施するための形態】
【００３２】
以下、図面を参照して、本実施例について説明する。
【実施例】
【００３３】
図１を参照して本発明の実施例を説明する。図１は、本発明PCI Expressシステムの中継デバイスであるスイッチ２ａを経由してのエンドポイント３ａ〜３ｃからルートコンプレックス１へのアップストリーム方向に送信するデータのTLP処理回路１０の構成図である。ダウンストリーム方向のTLP処理回路１０は、図１の構成と同様の回路であるので省略する。
【００３４】
スイッチ２ａは、ルートコンプレックス１と複数のエンドポイント３ａ〜３ｃの間に設けられ、ルートコンプレックス１とエンドポイント３ａ（または、３ｂ、３ｃ）の経路は、PCI Expressコンフィグレーションソフトウェアにより予め設定されているものとする。
【００３５】
また、ルートコンプレックス１とスイッチ２ａ間のリンクとスイッチ２ａとエンドポイント３ａ（または、３ｂ、３ｃ）間のリンクでは、個別に送達確認とフロー制御が行われている。
【００３６】
このフロー制御は本願の発明の主旨ではないので省略し、ここでは、エンドポイント３ａとルートコンプレックス１とが本発明のスイッチ２ａに接続されているものとして説明する。
【００３７】
先ず、スイッチ２ａの構成について説明する。PCI Expressシステムのエンドポイント３ａとルートコンプレックス１との間を中継するスイッチ２ａは、エンドポイント３ａとルートコンプレックス１の間の双方向にTLP処理回路１０を備える。
【００３８】
TLP処理回路１０は、複数の受信処理部２ａ１〜２ａ３と、送信処理部２ｂ１と、受信処理部２ａ１〜２ａ３のいずれかを選択して送信処理部２ｂ１に送信するマルチプレクサ２ｃ１とからなる。
【００３９】
受信処理部２ａ１は、受信したTLPの制御キャラクタを検出して、当該パケットがTLPであることを認識処理する制御キャラクタ検出回路１１と、制御キャラクタ検出回路１１から出力したTLPのヘッダ、データ・ペイロード及びTLPダイジェストデータについて、予め定められるデータ単位毎に、当該中継デバイスの中継回路で生じたエラーを検出する「冗長コード」を付加する冗長コード生成回路１２と、冗長コード生成回路１２で処理されたTLPに対して、「LCRC」及び「シーケンス番号」を検査するLCRC・シーケンス番号検査回路１３とを備える。
【００４０】
さらに、LCRC・シーケンス番号検査回路１３から出力したTLPと付加した冗長コードとを対応付けて記憶するバッファ書き込み回路１４とそのバッファメモリ１５と、バッファメモリ１５に記憶したTLPについて、エラーを検出したどうかをACK DLLP／NAK DLLPでエンドポイント３ａに返信するとともに、TLP処理回路１０からルートコンプレックス１０へ正常送信、または無効化するための送信を制御するパケット制御回路部１６とから成る。
【００４１】
また、送信処理部２ｂ１は、パケット制御回路部１６からの転送指示出力でバッファメモリ１５から対応するTLPを読み込むバッファ読み込み回路１８と、バッファ読み込み回路１８に読み込んだTLPにシーケンス番号を付加するシーケンス番号生成回路１９と、シーケンス番号生成回路１９の出力に「LCRC」を付加するLCRC生成回路２０と、LCRCの出力を付加した冗長コードと照合して、バッファメモリ１５で発生したエラーの有無を判定してパケット制御回路部１６に通知する中継回路エラー検出回路２１と、パケット制御回路部１６からの指令で「EDB」（EnD Bad、無効TLP（Nullified TLP）の終わりを示す）、もしくは「END」の制御キャラクタを付加して出力する制御キャラクタ付加回路２２とから構成される。
【００４２】
さらに、送信処理部２ｂ１は、詳細を省略するが、複数のパケット制御回路部１６からの送信要求を受信して、夫々のパケット制御回路部１６に対して送信許可を返信する送信権の調停を行う機能も備える。
【００４３】
また、パケット制御回路部１６は、バッファメモリ１５に記憶したTLPについて、送信の指令と、受信したTLPのエラーの有無から送信元へのTLPの正常または異常の応答を制御するパケット制御回路１６ａと、パケット制御回路１６ａの指令で受信したTLPが正常である場合ACK DLLPを生成するACK DLLP生成回路１６ｂ、及び異常である場合NAK DLLPを生成するNAK DLLP生成回路１６ｃとACK DLLPまたはNAK DLLPを送信するDLLP 送信回路１６ｄとから成る。
【００４４】
次に、各回路の詳細について説明する。制御キャラクタ検出回路１１は、PCI Express仕様で定義されているもので、トランザクション・レイヤパケット（TLP）の開始を示す「STP」や、このパケットの終わりを示す「END」、無効パケットの終わりを示す「EDB」などがあり、「STP」を受信した場合、受信したパケットがTLPであると認識する。
【００４５】
もし、TLP末尾の制御キャラクタが「END」でなく「EDB」の場合、このパケットがNullified TLPであることをパケット制御回路１６ａに通知（ｓ１）する。
【００４６】
次に、冗長コード生成回路１２は、スイッチ２ａから送信するTLPのデータ完全性を保証するため、TLPヘッダ、データ・ペイロード、TLPダイジェストから、通常、ＤＷ（Double Word）毎にエラー検出用の「冗長コード」を付加するが、データの単位は、バイト毎、ワード毎、２ＷＤ毎、あるいは、TLP全体などのいずれでも良い。また、冗長コードは、パリティ、ＥＣＣ（Error Correcting Cord）やTLP全体に対するCRCやSUMのいずれでも良い。
【００４７】
LCRC シーケンス番号検査回路１３は、受信したTLPのLCRC及びシーケンス番号の検査結果信号（ｓ２）をパケット制御回路１６ａに通知する。
【００４８】
また、バッファメモリ１５は、送信処理部２ｂ１を他のエンドポイント３ｂまたはエンドポイント３ｃがパケットの送信で使用中の場合に、中継・処理するTLPを一旦バッファ１５に保持するものであり、また、リトライ用のバッファとしても使用できる。
【００４９】
次に、送信処理部２ｂ１のバッファ読み込み回路１８は、パケット制御回路１６ａから送信開始信号（ｓ３）に基づいて、バッファメモリ１５からのTLPを読み出して、ルートコンプレックス１宛に送信を開始する。
【００５０】
また、中継回路エラー検出回路２１は、TLPヘッダ、データ・ペイロード、及びTLPダイジェストについて、冗長コード生成回路１２で付加した冗長コードと照合し、正常または異常のいずれの場合でも修復可能であれば「正常」を、修復不可能であれば「異常」をスイッチ２ａ内でエラーの検出信号（ｓ４）として、パケット制御回路１６ａに通知する。
【００５１】
次に、このように構成されたTLP処理回路１０の動作について説明する。パケット制御回路１６ａは、LCRC・シーケンス番号検査回路１３またはバッファ書き込み回路１４において、TLPのヘッダから送信先を読み取り、スイッチ２ａから他のパケットの送信中で無ければ、バッファ読み込み回路１８に対して送信開始信号（ｓ３）を通知し、制御キャラクタ検出回路１１でEDBを検出（ｓ１）したならば、送信処理部２ｂから送信先に送信中であれば当該TLPを無効にするNullified TLPの生成を制御キャラクタ付加回路２２に指令（ｓ５）し、バッファメモリ１５に格納中であれば、そのTLPを破棄する。
【００５２】
そして、LCRC シーケンス番号検査回路１３の出力（ｓ２）が正常であれば、中継回路エラー検出回路２１の結果が出力されるまで正常ステータス信号を保持し、中継回路エラー検出回路２１から送信された信号（ｓ４）が正常であればACK DLLPを、そうでなければNAK DLLPをエンドポイント３ａに返信するとともに、転送中のTLPを無効とするため、制御キャラクタ付加回路２２に対して、Nullified TLPの出力を指令する。
【００５３】
一方、LCRC シーケンス番号検査回路１３の出力（ｓ２）が異常であれば、中継回路エラー検出回路２１の結果出力を待たずに、即座にNAK DLLPをエンドポイント３ａに返信するとともに、そのTLPがルートコンプレックス１宛に送信開始されていれば、送信中のTLPを無効とするため制御キャラクタ付加回路２２に対して、Nullified TLPの出力を指令し、バッファメモリ１５に格納中であれば、そのTLPを破棄する。
【００５４】
したがって、本発明の中継デバイスを備えるPCI Expressシステムによれば、末端のエンドポイント３ａ〜３ｃやルートコンプレックス１がTLPにECRCを付加しなくてもデータ完全性が保証できるので、システムの冗長化を図るとともに、TLPダイジェストを独自仕様で活用することが容易に行える効果がある。
【００５５】
本発明は、上述したような実施例に何ら限定されるものでなく、PCI ExpressのTLP処理回路において、受信したTLPに「冗長化コード」を生成して付加する冗長性回路と、また、送信するTLPについて冗長回路で付加した「冗長コード」を照合して中継デバイスにおけるデータ完全性を検査するエラー検出回路とを付加したものであれば良く、また、送受信するパケットの制御はPIC Express仕様に基づくもので、検査するデータの単位は種々変更しても良く、本発明の主旨を逸脱しない範囲で種々変形して実施することが出来る。
【符号の説明】
【００５６】
１、  ルートコンプレックス
２、２ａ  スイッチ
２ａ１〜２ａ３  受信処理部
２ｂ１  送信処理部
２ｃ１  ＭＵＸ（マルチプレクサ）
３、３ａ、３ｂ、３ｃ、３ｄ  エンドポイント
５  ＣＰＵ
６  メモリ
７ａ〜７ｅ  PCI Expressバス
１０  TLP処理回路
１１  制御キャラクタ検出回路
１２  冗長コード生成回路
１３  LCRC・シーケンス番号検査回路岐路
１４  バッファ書き込み回路
１５  バッファメモリ
１６  パケット制御回路部
１６ａ  パケット制御回路
１６ｂ  ACK生成回路
１６ｃ  NAK生成回路
１６ｄ  DLLP送信回路
１７  ＭＵＸ（マルチプレクサ）
１８  バッファ読み込み回路
１９  シーケンス番号生成回路
２０  LCRC生成回路
２１  中継回路エラー検出回路
２２  制御キャラクタ付加回路
【図１】
2010250665.tif 000003
【図２】
2010250665.tif 000004
【図３】
2010250665.tif 000005
【図４】
2010250665.tif 000006