JP2008544389A - PCIExpressデバイスのデータ完全性の並列検査方法 - Google Patents

PCIExpressデバイスのデータ完全性の並列検査方法 Download PDF

Info

Publication number
JP2008544389A
JP2008544389A JP2008517686A JP2008517686A JP2008544389A JP 2008544389 A JP2008544389 A JP 2008544389A JP 2008517686 A JP2008517686 A JP 2008517686A JP 2008517686 A JP2008517686 A JP 2008517686A JP 2008544389 A JP2008544389 A JP 2008544389A
Authority
JP
Japan
Prior art keywords
packet
layer
data link
layers
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008517686A
Other languages
English (en)
Other versions
JP4629775B2 (ja
Inventor
ウッド ケイシー
シーザー ボブ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP BV
Original Assignee
NXP BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NXP BV filed Critical NXP BV
Publication of JP2008544389A publication Critical patent/JP2008544389A/ja
Application granted granted Critical
Publication of JP4629775B2 publication Critical patent/JP4629775B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

PCI Expressをサポートする装置および方法を開示する。物理層は、PCI Express互換通信媒体からデータを受信するためのPCI Expressインターフェイスを有する。データはパケット形式である。パケット内で受信されたCRC値およびシーケンス番号を検査するデータリンク層が開示される。パケットをデータリンク層から受信し、処理するトランザクション層が開示される。トランザクション層は、データリンク層と並列にパケットデータの少なくとも一部を処理する。

Description

本発明は、高速シリアルバス上のパケット伝送、特にPCI Expressバス内のパケット伝送のレイテンシを減少することに関するものである。
PCIエクスプレスバスは、コンピューターシステムおよび他の電子デバイスのデータを転送するために近年開発された高速相互接続である。PCI 2.2またはPCI−Xを含む既存のPCIバスは、現在のプロセッサに必要な増加したI/O帯域幅についていくことができない。PCI Expressは、現在のソフトウェアアプリケーション(例えばプラットフォーム・ハードウェアおよびI/Oサブシステム上のビデオ・オン・デマンドおよびオーディオ・リディストリビューション)による高い要求を扱う。
更に、PCI Expressは、全データが設定速度で送信される単一のパラレルデータバスでないという点で、以前のPCIバスと異なる。むしろ、PCI Expressは、ポイント・ツー・ポイント接続の、個々にクロックされるシリアル「レーン」の集合であり、各レーンはデータをアップストリームおよびダウンストリームに運ぶための2対のデータラインから成る。この双方向シリアル接続は、データをパケットで送信する。パケットはPCI Express1.0a仕様書で文書化されている所定のタイプおよび構造を有する。
さらに、PCI Expressアーキテクチャは、3つのプロトコル層を具える。これらの各層内で、PCI Expressパケットの処理における指定された役割が実行される。3つの層は、トランザクション層、データリンク層および物理層からなる。第1層は、シリアルビットストリームへの/からの、シンボルのエンコーディングおよびデコーディングが実行される物理層である。このプロセスは、フレーミング・シンボルを、データリンク層から受信したパケットの前後に追加することによって実行される。この追加データは、シリアルリンクを経て伝送されるデータを明らかにするために物理層内で使われる。
第2層は、高水準機能およびデータ完全性が扱われるデータリンク層を構成する。データリンク層内では、パケット伝送前に、追加の情報が各パケットの前後に追加され、このデータが受信時に検査される。この情報は巡回冗長検査(CRC)およびシーケンス番号を含む。CRCは発生した任意のビットエラーを検出するためであり、シーケンス番号は、パケットが失われていないことを検査できるように、送信されるパケットの順番を示す。
代表的なPCI Expressバスにおいて、データリンク層内のパケットのシーケンス番号は、パケットヘッダの最初の2バイトを受信すると検査できるが、トランザクション層パケットの全バイトを用いてCRC値を計算するので、全パケットが受信されるまでCRCは検査できない。一旦全パケットが受信されると、計算されたCRCはパケットに存在するCRCと比較される。CRCが一致し、シーケンス番号が次の予想されるシーケンス番号である場合、パケットはエラーなしで受信されたことが分かる。次に、パケットはさらなる確認のためにトランザクション層に送信される。
PCI Expressアーキテクチャの第3層はトランザクション層を構成する。トランザクション層内では、パケットのエンコーディングおよびデコーディングが実行される。データリンク層からパケットを受信すると、さらなる高水準検査がパケット自体に実行される。これらは、有効な、あるいは許容されたパケットタイプか、適正なトラフィック・クラスか、および適正長さのエンコーディングかに関する複数の検査を具える。従来、パケットタイプは、ホストデバイスに転送される前に、トランザクション層内で検査される。この方法では、実際のパケット長がパケットヘッダ内にエンコードされた長さに一致すること、および、パケットヘッダ内のダイジェストフィールドがパケットの終わりにあるダイジェストに対応することを確認するために、パケット全体がバッファされる。
パケットを受信するための上記のプロトコルの1つの制限は、各パケットがCRC検査を実行するためにデータリンク層内で完全にバッファされ、長さ検査を実行するためにトランザクション層内で完全にバッファされるということである。従って、その結果、ここで記載したトランザクション層およびデータリンク層内のパケット・レイテンシは、全パケットをバッファするために必要な時間の少なくとも2倍になる。2つのバッファを利用する上記の方法は、さらに、各バッファがデータリンク層およびトランザクション層の各層の最大許容可能なパケットサイズに少なくとも足りるメモリを有し、サイズおよび設計コストの増加をまねく不利がある。
パケット処理のレイテンシを減少する1つの方法は、アマガイ等によってカナダの特許公開公報2283999号に記載されている。それに記載されるパケット処理方法では、パケットデータは複数の層で交換され、第2層および第3層に関する各パケットの一部がマルチポート共有メモリ内に格納される方法である。次に、マルチポート共有メモリは、第2層および第3層の各々によって互いに妨害しない方法でアクセスされる。残念なことに、上記の方法は、マルチポートRAMを使用する複雑性およびオーバーヘッドを含むという制限を有する。
レイテンシの減少をサポートする、PCI Expressバス内のパケットの受信およびエラー検査の方法を提供することは有利である。
本発明は、高速シリアルインタフェース内のパケット処理方法であって、複数の層の、前記高速シリアルインタフェースのリンクを構成する第1層でパケットを受信し、前記複数の層でパケットを処理し、前記複数の層の一つの層に関する前記パケットのエラー検査と並列に、前記複数の層の他の層に関する前記パケットのエラー検査を実行する、ことを特徴とする方法を提供し、この方法は有用であることが見出された。
本発明によれば、高速シリアルインタフェース内のパケット処理方法であって、複数の層の、前記高速シリアルインタフェースのリンクを構成する第1層でパケットを受信し、第1の期間中に、前記複数の層の第2層に関する前記パケットのエラー検査を実行し、第2の期間中に、前記パケットの少なくとも一部を前記複数の層の第3層に送信し、前記第2の期間の少なくとも一部は、前記第1の期間に重複している、
ことを特徴とする方法が提供される。
本発明の他の態様によれば、パケットデータを複数の層を経て送受信するパケット処理装置を具える装置が提供され、前記パケット処理装置は、第1の期間中に、前記パケットの、最大受信パケットサイズより小さい少なくとも第1の部分を格納するための、前記複数の層の第2層内に位置する第1のパケットメモリと、同じ第1の期間に、前記パケットの少なくとも一部を格納するための、前記複数の層の第3層内に位置する第2のパケットメモリと、を具えることを特徴とする。
本発明によれば、パケットを構成するデータをPCI Expressコンパチブル通信媒体から受信するためのPCI Expressインターフェイスを構成する物理層と、前記パケット内のCRCおよびシーケンス番号を検査するためのデータリンク層と、前記データリンク層から前記パケットを受信し、前記データリンク層と並列に、前記パケットの少なくとも一部を処理するためのトランザクション層と、を具えることを特徴とする装置が提供される。
本発明の実施例を、以下の図面とともに記載する。
図1は、物理層、データリンク層およびトランザクション層の各々の間でパケットを送受信する方法の流れ図を示す。図1に示したように、PCI Expressは、送信及び受信データパスの両方を含む双方向プロトコルである。例えば、受信パスでは、パケットがPCI Expressシリアルリンクから受信され、物理層、データリンク層およびトランザクション層に渡される。上述したように、物理層内では、シリアルビットストリームへの/からの、シンボルのエンコーディングおよびデコーディングが処理され、データリンク層内では、全データの完全性が検査される。さらに、トランザクション層内では、パケットが検査され、パケットのエンコーディングおよびデコーディングが、パケットがホストデバイスに転送される前に実行される。
図2A、2Bおよび2Cは、受信したパケット200がPCI Expressデバイスの層を通ってどのように動くかについて説明している一般的な従来技術のプロセスを示す。これらの図に示すように、パケット200の一部分は、ホストデバイスへの途中で各層で消費される。図2Aは、物理層202で受信される際のパケット200を示す。物理層202内では、受信されたデータストリームのスタート・パケット・フレーミング・シンボル218およびエンド・パケットフレーミング・シンボル208が認識される。これらのフレーミング・シンボルは取り除かれ、フレーミング・シンボル間のデータは更なる処理のためのデータリンク層204に渡される。
図2Bは、パケット情報がデータリンク層204に渡される際のプロセスの簡略化した流れ図である。上述したように、データリンク層204内では、全体のデータ完全性が、パケット・シーケンス番号216が次の予想されるシーケンス番号に一致することを検査することによって、そして、パケットヘッダのバイトおよびパケットのデータ部分からCRC値を計算することによって検査される。データリンク層204内では、パケットの終わりに位置するパケットCRC210が、データ完全性を確認するために、計算されたCRC値と比較される。シーケンス番号216が予想されたシーケンス番号に一致し、パケットのCRC210が計算されたCRCに一致する場合、シーケンス番号216およびCRC210のフィールドは、パケット200から取り除かれ、続いて、パケットのヘッダ214およびデータ212部分が更なる処理のためのトランザクション層206へ送信される。図2Cは、パケット情報がトランザクション層206によって受信されるプロセスを示す。ここで、トランザクション層内では、少なくともパケット長検査を含む検査が続行される。
図3は、PCI Expressデバイスのトランザクション層301およびデータリンク層302内で実行される、パケット検査およびバッファリングの従来の方法を示す。図2A〜2C-につき説明したように、トランザクション層301およびデータリンク層302内では、予め定められたパケット検査が独立に実行され、各検査はパケットバッファ304および306を使用する。ここで、各バッファのサイズは、少なくとも最大サイズのパケットに等しい。さらに、全てのデータリンク層の検査は、パケットがトランザクション層301に送信される前に、バッファされたパケットを使用して実行される。この結果、各層内のパケット検査に関するPCI Express規則のために、トランザクション層301の検査とデータリンク層302の検査がシリアルになる。この規則は、データリンク層302によって破損したと検出されたパケットがトランザクション層301に関連する状態またはレジスタに影響を及ぼしてはならないことを示す。
それゆえ、各パケットは、CRC検査308を実行するためにデータリンク層302内に完全にバッファされ、少なくとも長さ検査312を実行するためにトランザクション層301内で完全にバッファされるので、トランザクション層およびデータリンク層内のパケット・レイテンシは、パケット全体をバッファするのに必要な時間の少なくとも2倍である。
それゆえ、上述したこの方法では、トランザクション層およびデータリンク層の両方で、各々が受信したパケットごとにバッファリングすることになるので、不利である。この結果、パケット・レイテンシは全パケットサイズの増加とともに線形に増加する。例えば、厳密なリアルタイム要求のないシステムでは、この増加したレイテンシは許容できるが、PCI Expressリンクを介するデータへの高速アクセスを必要とするシステムでは、レイテンシは最小化されることが好ましい。更に、上記の方法では、最大許容パケットサイズに等しいバッファがデータリンク層302およびトランザクション層301の両方に存在し、所要記憶領域が2倍になる。この記憶領域の増加は、設計実装においてサイズおよびコストを増加する。
図4Aおよび4Bは、従来技術に従う、PCI Expressのデータリンク層416およびトランザクション層418を通るパケット伝送のプロセス400および401を示す。これらの図は、上述した図3の記載と整合している。図4Aに示す入力パケット406は、パケットがデータリンク層のメモリ402に格納されるとき、そのCRCが検査される。CRCが検査された後、次に、図4Bに示すように、パケットはトランザクション層418の記憶領域404に転送される。この方法では、パケット406がトランザクション層418で受信されると、受信されたパケット406の内容は全フィールドが正しい値を有することを確認するために検査される。従って、パケットは、次の層に渡される前に、データリンク層416およびトランザクション層418の各々において完全にバッファされる。
図4Cは、本発明の一実施例による、PCI Expressパケットを受信するプロセス403を示す。本実施例によれば、図に示されているように、受信したパケット414の小部分が非常に小さいデータリンク層メモリ410を経由してトランザクション層メモリ412に渡される。従って、データリンク層426およびトランザクション層428のパケット検査は、前の層に関するパケット検査の完了を待たずに、同時に実行される。さらに、全パケットの一部だけがデータリンク層426のメモリに格納される。本実施例によれば、図4Cに示すパケット検査は、データリンク層426に関するものとして、CRCおよびシーケンス番号の検査を、トランザクション層428に関するものとして、少なくとも、パケット長の検査および複数の有効パケットタイプの検査を含む。図5にさらに示されるように、トランザクション層の検査と並列にデータリンク層の検査を実行することによって、トランザクション層428およびデータリンク層426の各層内で各々受信したパケット414を二重にバッファリングする必要がなくなる。
例えば、本実施例によれば、受信したパケット414のレイテンシは、基礎を成すアーキテクチャに応じて、約50%減少する。このレイテンシの減少はシステム全体にわたる消費電力の減少をもたらす。例えば、プロセッサがPCI Expressリンク全体にわたって処理の完了を待っている場合、より速い応答時間、すなわち減少したレイテンシによって、処理が完了するとすぐに、プロセッサがローパワー状態に戻ることができる。このローパワー要求は、エネルギーコストの削減および電池部品コストの削減につながる。
更に、本発明の実施は、図4Aおよび4Bに示される従来技術の機能と等価な機能を実行するために、従来技術と比較して使用する論理回路が減少する。例えば、代表的なPCI Expressコア内で本発明を実施すると、改善は、全領域において、約2〜5%の減少になる。最終結果は、シリコン面積の減少という形のコスト削減になる。また、必要な論理回路が減少するので、製造不良が減少し、ICの歩留まりが上昇する。さらに、論理回路が減少すると、一般的に、同じ機能を維持するのに必要なパワーが減少する。
図5は、本発明の一実施例による、データ完全性の並列検査方法を示し、上述した図4Cの記載と整合している。図5につき説明すると、各入力パケットは、追加のレイテンシまたはバッファリングなしでデータリンク層502を通過し、トランザクション層504に送信される。シーケンス番号およびCRC検査の全てが、トランザクション層504へのパケット転送を遅延させずに、データリンク層502内で実行される。その結果、トランザクション層504内で、必要なトランザクション層パケットの検査が、データリンク層502のパケット検査と並列に実行される。
本発明のこの実施例によれば、データリンク層502の全検査が完了すると、データリンク層502はトランザクション層504にステータス値510を送信する。ステータス値510は、受信したパケットのシーケンス番号が予想されたシーケンス番号に一致し、かつ、データリンク層502内で受信されたパケットの計算されたCRCがパケット内に存在するCRCフィールドと等しい場合、「DL Good」である。逆に、ステータス値510は、受信したパケットのシーケンス番号が予想されたシーケンス番号に一致しない場合、あるいは、受信したパケットの計算されたCRCがパケット内のCRCフィールドの値と一致しない場合、「DL Bad」である。次に、ステータス値510はトランザクション層504に送信される。
次に、この情報は、トランザクション層504の検査と合成され、トランザクション層504内のバッファ514を制御する。例えば、ステータス値「510」が「DL Bad」であるとき及び/又は上述の複数のトランザクション層の検査がトランザクション層のパケットエラーを示すとき、パケットは層502または504のいずれかで不適切と決められ、パケットは廃棄される。
しかし、場合によっては、データリンク層502の遅延したパケット検査は、潜在的に破損したパケットがトランザクション層504に転送可能となる。従来のPCI Express仕様書は、パケットが下層(例えばデータリンク層)によって不適切と決められる場合、そのパケットは、上層(例えばトランザクション層)によってさらに検出されたり、記録されてはならないと定めている。それゆえ、本実施例によれば、最小量の追加論理回路がトランザクション層504に追加され、他層で検出されたエラーを有するパケットを無視する。例えば、データ検査は部分的に並列に実行されるが、エラーが検出されると、トランザクション層504内のパケットが消去され、トランザクション層504内のレジスタ等は、パケット受信前の値に戻される。このことは、データリンク層502からの検査結果が受信されるまで、レジスタが変化しないことを確実にすることによって達成される。代案として、このことは、レジスタ値のプッシュおよびポップによって達成される。
当業者は、本明細書に記載の本発明の実施例は、PCI Expressリンクを実装する複数のデバイス内で、および、ルート、エンドポイント、スイッチおよびブリッジ構成のような複数の構成内で、本発明の使用を明らかにサポートすることを認識するであろう。例えば、PCI Expressリンクを、パーソナルコンピュータ、ノートブック・コンピュータ、テレビ、セットトップボックス、衛星受信機、プリンタおよびスキャナのような、比較的高帯域の接続が必要な複数のアプリケーションで用いることができる。
本発明の精神あるいは範囲から逸脱することなく、多数の他の実施例が考えられる。
従来技術に従うパケットの送受信パスを示す。 (a)は物理層でパケットを受信する従来技術のプロセスを示す回路図であり、(b)はデータリンク層でパケットを受信する従来技術のプロセスを示す回路図であり、(c)はトランザクション層でパケットを受信する従来技術のプロセスを示す回路図である。 PCI Expressデバイスのための、トランザクション層30およびデータリンク層302内のパケット検査の従来の方法を示す概略図である。 (a)は従来技術に従うPCI Expressのデータリンク層によるパケット伝送のプロセスを示し、(b)は従来技術に従うPCI Expressのトランザクション層によるパケット伝送のプロセスを示し、(c)は、本発明の一実施例によるPCI Expressのデータリンク層およびトランザクション層によるパケット伝送のプロセスを示す。 本発明の一実施例による、データ完全性の並列検査方法を示す。

Claims (17)

  1. 高速シリアルインタフェース内のパケット処理方法であって、
    複数の層の、前記高速シリアルインタフェースのリンクを構成する第1層でパケットを受信し、
    前記複数の層でパケットを処理し、
    前記複数の層の一つの層に関する前記パケットのエラー検査と並列に、前記複数の層の他の層に関する前記パケットのエラー検査を実行する、
    ことを特徴とする方法。
  2. 請求項1に記載の方法であって、PCI Express標準規格に準拠することを特徴とする方法。
  3. 請求項1または2に記載の方法であって、前記複数の層が、物理層、データリンク層およびトランザクション層を具えることを特徴とする方法。
  4. 請求項3に記載の方法であって、前記並列に実行されるエラー検査が、前記データリンク層および前記トランザクション層のエラー検査であることを特徴とする方法。
  5. 請求項1〜4のいずれかに記載方法であって、一つの層に関する前記パケットのエラー検査は、
    前記パケットのCRCフィールドを前記パケットの計算されたCRCと比較し、
    前記パケットのシーケンス番号を前記パケットの予想されるシーケンス番号と比較し、
    前記パケットのCRCフィールドと前記パケットの計算されたCRCとの前記比較に応じて、および、前記パケットのシーケンス番号と前記パケットの予想されるシーケンス番号との前記比較に応じて、第1のステータス値を前記他の層に提供する、
    ことを特徴とする方法。
  6. 請求項5に記載の方法であって、
    前記他の層に関する前記パケットのエラー検査の実行に応じて、前記他の層に第2のステータス値を供給し、
    前記第1のステータス値および前記第2のステータス値のうちの少なくとも一つが前記パケット内のエラーを表すとき、前記パケットを廃棄する、
    ことを特徴とする方法。
  7. 請求項6に記載の方法であって、
    前記第1のステータス値および前記第2のステータス値のいずれもが前記パケット内のエラーを表さないとき、前記パケットをホストデバイスに転送することを特徴とする方法。
  8. 請求項5に記載の方法であって、
    前記第1のステータス値が前記パケット内のエラーを表すとき、前記他の層を、前記パケットを受信する前の状態に戻すことを特徴とする方法。
  9. 請求項1〜8のいずれかに記載の方法であって、
    前記パケットの少なく一部を前記他の層に転送する前に、前記パケットの一部を当該層内に位置するFIFOメモリによって処理することを特徴とする方法。
  10. 請求項1〜9のいずれかに記載の方法であって、
    前記パケットの全体を当該層の前記メモリ内に同時に格納することがないことを特徴とする方法。
  11. 高速シリアルインタフェース内のパケット処理方法であって、
    複数の層の、前記高速シリアルインタフェースのリンクを構成する第1層でパケットを受信し、
    第1の期間中に、前記複数の層の第2層に関する前記パケットのエラー検査を実行し、
    第2の期間中に、前記パケットの少なくとも一部を前記複数の層の第3層に送信し、前記第2の期間の少なくとも一部は、前記第1の期間に重複している、
    ことを特徴とする方法。
  12. 請求項11に記載の方法であって、
    第3の期間中に、前記複数の層の前記第3層に関する前記パケットのエラー検査を実行し、前記第3の期間の少なくとも一部は、前記第1の期間および前記第2の期間に重複している、
    ことを特徴とする方法。
  13. パケットデータを複数の層を経て送受信するためのパケット処理装置を具える装置であって、前記パケット処理装置は、
    第1の期間中に、前記パケットの、最大受信パケットサイズより小さい少なくとも第1の部分を格納するための、前記複数の層の第2層内に位置する第1のパケットメモリと、
    同じ第1の期間中に、前記パケットの少なくとも一部を格納するための、前記複数の層の第3層内に位置する第2のパケットメモリと、
    を具えることを特徴とする装置。
  14. パケットを構成するデータを、PCI Expressコンパチブル通信媒体から受信するためのPCI Expressインターフェイスを構成する物理層と、
    前記パケット内のCRCおよびシーケンス番号を検査するためのデータリンク層と、
    前記データリンク層から前記パケットを受信し、前記データリンク層と並列に、前記パケットの少なくとも一部を処理するためのトランザクション層と、
    を具えることを特徴とする装置。
  15. 請求項14に記載の装置であって、
    前記データリンク層および前記トランザクション層の各々は記憶領域を具え、前記データリンク層内の記憶領域は、前記データリンク層で受信されるパケットの全体より小さい一部分を格納することを特徴とする装置。
  16. 請求項14または15に記載の装置であって、
    前記データリンク層と前記トランザクション層との間で、現在のパケットの有効性を表すデータを通信するための通信回路を具えることを特徴とする装置。
  17. 請求項14〜16のいずれかに記載の装置であって、
    前記トランザクション層は、前記データリンク層から現在のパケットが無効であることを示す信号を受信すると、前記トランザクション層を、現在のパケットを処理する前のトランザクション層の状態に戻すための回路を具えることを特徴とする装置。
JP2008517686A 2005-06-21 2006-06-21 PCIExpressデバイスのデータ完全性の並列検査方法 Expired - Fee Related JP4629775B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US69280005P 2005-06-21 2005-06-21
PCT/IB2006/052016 WO2006137029A1 (en) 2005-06-21 2006-06-21 Method for parallel data integrity checking of pci express devices

Publications (2)

Publication Number Publication Date
JP2008544389A true JP2008544389A (ja) 2008-12-04
JP4629775B2 JP4629775B2 (ja) 2011-02-09

Family

ID=37188903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008517686A Expired - Fee Related JP4629775B2 (ja) 2005-06-21 2006-06-21 PCIExpressデバイスのデータ完全性の並列検査方法

Country Status (6)

Country Link
US (1) US8117525B2 (ja)
EP (1) EP1897333B1 (ja)
JP (1) JP4629775B2 (ja)
KR (1) KR100974105B1 (ja)
CN (1) CN101204070A (ja)
WO (1) WO2006137029A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165532A (ja) * 2009-01-14 2010-07-29 Mitsumi Electric Co Ltd フューエルゲージ回路及びバッテリパック
WO2010119695A1 (ja) * 2009-04-17 2010-10-21 株式会社 東芝 PCI ExpressのTLP処理回路、及びこれを備える中継デバイス
JP2012529094A (ja) * 2009-06-02 2012-11-15 インターナショナル・ビジネス・マシーンズ・コーポレーション ペリフェラル・コンポーネント・インターコネクト(pci)エクスプレス・ネットワークにおける損失されたポステッド・ライト・パケットおよび順序の狂ったポステッド・ライト・パケットの検出
JP2013196615A (ja) * 2012-03-22 2013-09-30 Ricoh Co Ltd データ中継装置
JP2019133567A (ja) * 2018-02-02 2019-08-08 富士通株式会社 データ受信装置、データ送受信システム、及びデータ送受信システムの制御方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577609B (zh) * 2008-05-09 2014-03-05 深圳富泰宏精密工业有限公司 用于处理因特网语音协议封包的方法和装置
US8832331B2 (en) 2011-08-29 2014-09-09 Ati Technologies Ulc Data modification for device communication channel packets
US9792651B2 (en) * 2011-12-09 2017-10-17 Fair Trading Devices Llc System and method for delaying execution of financial transactions
CN103176118A (zh) * 2011-12-24 2013-06-26 鸿富锦精密工业(深圳)有限公司 Pci-e信号测试装置
KR102173089B1 (ko) 2014-08-08 2020-11-04 삼성전자주식회사 인터페이스 회로 및 그것의 패킷 전송 방법
US9560078B2 (en) * 2015-02-04 2017-01-31 Intel Corporation Technologies for scalable security architecture of virtualized networks
US9354967B1 (en) 2015-11-30 2016-05-31 International Business Machines Corporation I/O operation-level error-handling
US9384086B1 (en) 2015-11-30 2016-07-05 International Business Machines Corporation I/O operation-level error checking
CN105608029B (zh) * 2015-12-17 2018-08-21 深圳市紫光同创电子有限公司 处理层数据包生成方法、装置及PCI Express系统
CN106502932B (zh) * 2016-09-20 2019-05-24 中国科学院自动化研究所 基于分层结构的片间互联接口及其写操作和读操作的方法
US11295036B2 (en) 2019-12-09 2022-04-05 Nxp Usa, Inc. Method of using protocol CRC to implement end to end protection of a CAN message
US11175977B2 (en) 2020-01-14 2021-11-16 Nxp Usa, Inc. Method and system to detect failure in PCIe endpoint devices
CN114826995A (zh) * 2022-04-22 2022-07-29 电子科技大学 一种基于UVM的支持PCIe的千兆以太网芯片的验证平台

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5783948A (en) * 1980-11-14 1982-05-26 Hitachi Ltd Information processing system
JPH0637852A (ja) * 1992-02-14 1994-02-10 Toshiba Corp 通信制御装置
JPH11168451A (ja) * 1997-09-25 1999-06-22 Hewlett Packard Co <Hp> ネットワークプロトコルスタックのためのハードウェアによるチェックサム支援機構
JP2000174850A (ja) * 1998-12-09 2000-06-23 Toshiba Corp 高速シリアルバスコントローラ装置、及び同装置に於ける送信制御方法
JP2001268159A (ja) * 2000-01-19 2001-09-28 Wiznot Corp Tcp/ipをハードウェア的に処理する装置及びその動作方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430188B1 (en) 1998-07-08 2002-08-06 Broadcom Corporation Unified table for L2, L3, L4, switching and filtering
JP3397144B2 (ja) 1998-09-29 2003-04-14 日本電気株式会社 パケット処理装置とパケット処理方法とパケット交換機
US6976205B1 (en) * 2001-09-21 2005-12-13 Syrus Ziai Method and apparatus for calculating TCP and UDP checksums while preserving CPU resources
US6996126B2 (en) * 2001-10-09 2006-02-07 Motorola, Inc. Performance improvements for ATM AAL2/5 to IP packet processing
US7269661B2 (en) * 2002-02-12 2007-09-11 Bradley Richard Ree Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US20050108518A1 (en) * 2003-06-10 2005-05-19 Pandya Ashish A. Runtime adaptable security processor
US6879598B2 (en) 2003-06-11 2005-04-12 Lattice Semiconductor Corporation Flexible media access control architecture
US7782325B2 (en) * 2003-10-22 2010-08-24 Alienware Labs Corporation Motherboard for supporting multiple graphics cards
US7904779B2 (en) * 2004-12-29 2011-03-08 Intel Corporation Forward error correction and automatic repeat request joint operation for a data link layer
US20060274789A1 (en) * 2005-06-07 2006-12-07 Fong Pong Apparatus and methods for a high performance hardware network protocol processing engine

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5783948A (en) * 1980-11-14 1982-05-26 Hitachi Ltd Information processing system
JPH0637852A (ja) * 1992-02-14 1994-02-10 Toshiba Corp 通信制御装置
JPH11168451A (ja) * 1997-09-25 1999-06-22 Hewlett Packard Co <Hp> ネットワークプロトコルスタックのためのハードウェアによるチェックサム支援機構
JP2000174850A (ja) * 1998-12-09 2000-06-23 Toshiba Corp 高速シリアルバスコントローラ装置、及び同装置に於ける送信制御方法
JP2001268159A (ja) * 2000-01-19 2001-09-28 Wiznot Corp Tcp/ipをハードウェア的に処理する装置及びその動作方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165532A (ja) * 2009-01-14 2010-07-29 Mitsumi Electric Co Ltd フューエルゲージ回路及びバッテリパック
WO2010119695A1 (ja) * 2009-04-17 2010-10-21 株式会社 東芝 PCI ExpressのTLP処理回路、及びこれを備える中継デバイス
JP2010250665A (ja) * 2009-04-17 2010-11-04 Toshiba Corp PCIExpressのTLP処理回路、及びこれを備える中継デバイス
JP2012529094A (ja) * 2009-06-02 2012-11-15 インターナショナル・ビジネス・マシーンズ・コーポレーション ペリフェラル・コンポーネント・インターコネクト(pci)エクスプレス・ネットワークにおける損失されたポステッド・ライト・パケットおよび順序の狂ったポステッド・ライト・パケットの検出
JP2013196615A (ja) * 2012-03-22 2013-09-30 Ricoh Co Ltd データ中継装置
JP2019133567A (ja) * 2018-02-02 2019-08-08 富士通株式会社 データ受信装置、データ送受信システム、及びデータ送受信システムの制御方法
JP7087419B2 (ja) 2018-02-02 2022-06-21 富士通株式会社 データ受信装置、データ送受信システム、及びデータ送受信システムの制御方法

Also Published As

Publication number Publication date
EP1897333A1 (en) 2008-03-12
JP4629775B2 (ja) 2011-02-09
KR20080021794A (ko) 2008-03-07
US8117525B2 (en) 2012-02-14
US20110004816A1 (en) 2011-01-06
CN101204070A (zh) 2008-06-18
EP1897333B1 (en) 2013-03-27
WO2006137029A1 (en) 2006-12-28
KR100974105B1 (ko) 2010-08-04

Similar Documents

Publication Publication Date Title
JP4629775B2 (ja) PCIExpressデバイスのデータ完全性の並列検査方法
KR100611268B1 (ko) 가상 채널 설정을 위한 강화된 일반 입출력 아키텍처 및관련 방법
US8514885B2 (en) Using variable length packets to embed extra network control information
US7821919B2 (en) Data processing apparatus and data processing method
US10459875B2 (en) Hybrid remote direct memory access
US20140189174A1 (en) General input/output architecture, protocol and related methods to implement flow control
US8166227B2 (en) Apparatus for processing peripheral component interconnect express protocol
KR101298862B1 (ko) Pci 익스프레스를 통해 ⅰd 기반 스트림을 가능하게 하는 방법 및 장치
JPH06511338A (ja) 並行パケットバスに関する方法及び装置
CN105357147B (zh) 一种高速高可靠的片上网络适配单元
US20120030402A1 (en) Pci express tlp processing circuit and relay device provided with this
US20030115513A1 (en) Error forwarding in an enhanced general input/output architecture and related methods
US8675683B2 (en) Implementing end-to-end credit management for enhanced large packet reassembly
US7770095B2 (en) Request processing between failure windows
US20190379573A1 (en) Interconnection network for integrated circuit
US20190207871A1 (en) Cut-through bridge error isolation
Lai et al. A high-speed network interface design for packet-based NoC
US20180089124A1 (en) Multi-packet processing with ordering rule enforcement
US8910007B2 (en) Apparatus and method for error check of transmission data
WO2024092193A1 (en) Bus transaction security in multi-chip module
US20090129390A1 (en) Method for transferring a stream of at least one data packet between first and second electric devices and corresponding device
KR19990058106A (ko) 에스램을 통한 로컬버스와 타블럭간의 통신 장치 및 방법
Karlsson et al. Implementation of a PCI based gigabit Ethernet network adapter on an FPGA together with a Linux device driver

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100608

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100908

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101102

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees