WO2010119695A1 - PCI ExpressのTLP処理回路、及びこれを備える中継デバイス - Google Patents

PCI ExpressのTLP処理回路、及びこれを備える中継デバイス Download PDF

Info

Publication number
WO2010119695A1
WO2010119695A1 PCT/JP2010/002757 JP2010002757W WO2010119695A1 WO 2010119695 A1 WO2010119695 A1 WO 2010119695A1 JP 2010002757 W JP2010002757 W JP 2010002757W WO 2010119695 A1 WO2010119695 A1 WO 2010119695A1
Authority
WO
WIPO (PCT)
Prior art keywords
circuit
tlp
transmission
lcrc
sequence number
Prior art date
Application number
PCT/JP2010/002757
Other languages
English (en)
French (fr)
Inventor
村上真之
竹原潤
荒牧成彦
川村敏和
高柳洋一
岡部基彦
Original Assignee
株式会社 東芝
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 株式会社 東芝 filed Critical 株式会社 東芝
Priority to RU2011138173/08A priority Critical patent/RU2011138173A/ru
Priority to CN2010800119256A priority patent/CN102349059A/zh
Priority to EP10764282A priority patent/EP2420935A1/en
Publication of WO2010119695A1 publication Critical patent/WO2010119695A1/ja
Priority to US13/272,265 priority patent/US20120030402A1/en

Links

Images

Classifications

    • 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/0045Arrangements at the receiver end
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays

Definitions

  • the present invention relates to a PCI Express device, and in particular, to a processing circuit for a transaction layer packet (TLP: Transaction Layer packet).
  • TLP Transaction Layer packet
  • the PCI Express (registered trademark) bus is a high-speed serial interface with a point-to-point connection that was recently developed to transfer data from computer systems and other electronic devices.
  • the area is small and further miniaturization is possible, and its use is being studied in many fields.
  • PCI Express Base Specification by PCI-SIG (Peripheral Component Interconnect-Special Interest Group), which is the main body of the PCI standard.
  • PCI-SIG Peripheral Component Interconnect-Special Interest Group
  • the configuration of the PCI Express system includes, for example, devices of a root complex 1, a switch 2, and endpoints 3 (3a, 3b, 3c, 3d) as shown in FIG.
  • route complex 1 and the switch 2 each have a plurality of ports, and the PCI Express buses 7a to 7e that connect these and the end point 3 have a three-layer structure as shown in FIG.
  • Each layer consists of a transaction layer 101 that guarantees reliable communication between the traditional PCI-compatible service and end-to-end data to the upper software layer consisting of the top-level driver and application software, between adjacent components.
  • a data link layer 102 that guarantees reliable data communication and a physical layer 103 that transmits and receives communication packets on a physical medium, and transmits and receives data in the form of packets.
  • root complex 1 is located at the top of the tree structure of the PCI Express system, and is connected to the CPU 5 by the system bus and the memory 6 by the memory bus.
  • the switch 2 in communication between the root complex 1 and the endpoint 3a, the switch 2 is a TLP relay device, and in communication between the endpoint 3a and the endpoint 3d, the switch 2 and the root complex 1 are relay devices.
  • the transmission path connection between devices in the PCI Express system configured in this way is a point-to-point connection, a dual simplex system that uses two one-way differential amplifiers, and the link speed is It has a bandwidth of 2.5 Gbps and has a bandwidth of 5 Gbps in both directions.
  • the bandwidth of the bus can be configured to be scalable, and data can be transmitted and received by transmitting and receiving packets on this transmission path. Perform transmission.
  • the packets of each layer are generated in the transaction layer and the data link layer as shown in FIG. 2, and are called a transaction layer packet (TLP, Transaction Layer Packet) and a data link layer packet (DLLP, Data Link Layer Packet), respectively.
  • TLP Transaction Layer Packet
  • DLLP Data Link Layer Packet
  • PGP Physical Layer Packet
  • packets of each layer are exchanged with the same layer of the other party connected by the link, and as shown in FIG. 3, information is added before and after the lower protocol layer and finally transmitted to the transmission path.
  • the received packet is passed to the upper protocol layer with the previous and subsequent information deleted in each protocol layer.
  • a TLP with end-to-end communication consists of a TLP header, data payload, and optional TLP digest (ECRC, End-to-end CRC (Cyclic Redundancy Check)) at the transaction layer. Then, the sequence number and LCRC (Link-Level or Link c Cyclic Redundancy Check) are added at the time of transmission in the data link layer, and are deleted after inspection at the time of reception.
  • TLP digest ECRC, End-to-end CRC (Cyclic Redundancy Check)
  • DLLP is a short packet such as TLP delivery response (acknowledgment ACK and negative acknowledgment NAK) for exchanging information on both links.
  • control characters for detecting start and end on the receiving side of the physical layer are added to each TLP at both ends of the packet.
  • LCRC is used to detect transaction layer packet (TLP) data errors.
  • TLP transaction layer packet
  • LCRC is a function of the data link layer that detects transmission errors on the link. If the LCRC is abnormal, re-transmission is performed between the two components connected by the link to ensure the reliability of TLP communication from end to end.
  • a TLP is generated by a terminal device such as the endpoint 3 or the root complex 1, and is transmitted to the final target device via the switch 2 or the root complex 1. Since the sequence number added to the TLP is managed for each link, the LCRC is checked each time the TLP passes through the relay device, and a new LCRC is added.
  • the LCRC when relying solely on the LCRC function for data error detection, an error occurs in the TLP data in the switch and route complex relay circuit (here, the circuit located above the data link layer is called the relay circuit). If the error occurs, the LCRC is normally generated with the TLP including the error, and there is a problem that the error cannot be detected at the TLP receiving destination.
  • PCI Express provides ECRC to guarantee end-to-end data integrity as an optional function of the transaction layer.
  • the ECRC function is used, the ECRC is stored in a 32-bit field called TLP digest at the end of the TLP.
  • the CRC of TLP called ECRC is a means to guarantee end-to-end data integrity.
  • the TLP digest provided at the end of the TLP is an optional field and, according to the PCI-Express standard, stores ECRC.
  • TLP When this TLP digest is omitted or used for another purpose, TLP is relayed for communication between the root complex and the endpoint via the switch, or communication between the endpoint via the switch or root complex.
  • TLP is relayed for communication between the root complex and the endpoint via the switch, or communication between the endpoint via the switch or root complex.
  • a PCI Express TLP processing circuit capable of detecting an error in data transmitted from a relay device and guaranteeing TLP data integrity, and the same. It is an object to provide a relay device comprising:
  • a PCI Express TLP processing circuit has the following configuration. That is, A TLP processing circuit provided in a relay device that relays between the root complex of PCI Express system and endpoints or between endpoints, The TLP processing circuit described above includes at least a redundant code generation circuit that adds a redundant code for each transfer data of the received TLP, and the added redundant code and the TLP to be transmitted and collates the TLP to be transmitted. A relay circuit error detection circuit for detecting an error, and the data integrity of the TLP transmitted from the relay device can be guaranteed.
  • a PCI Express TLP processing circuit further comprises the following arrangement. That is, A TLP processing circuit provided in a relay device that relays between a root complex and an end point of a PCI Express system or between end points, and the above-described TLP processing circuit for one direction provided in both directions is: A plurality of reception processing units; A transmission processing unit; It consists of a multiplexer that selects any one of the aforementioned reception processing units and transmits to the above transmission processing unit, The reception processing unit described above detects a control character of the received TLP, and detects a control character detection circuit that detects that the packet is a TLP; Redundant code generation that adds a "redundant code” that detects an error in the device for each predetermined data unit for the TLP header, data, and TLP digest data output from the control character detection circuit.
  • LCRC / sequence number inspection circuit for inspecting “LCRC” and “sequence number” for the TLP processed by the redundant code generation circuit
  • a buffer write circuit that stores the TLP output from the LCRC / sequence number check circuit and the added redundant code in association with each other, and a buffer memory for the buffer write circuit, In order to send back to the TLP source device by ACK DLLP / NAK DLLP whether or not an error has been detected in the TLP stored in the buffer memory, and to send or invalidate the TLP processing circuit from the TLP processing circuit to the destination.
  • a packet control circuit unit that controls transmission of The transmission processing unit described above is a buffer reading circuit that reads the corresponding TLP from the buffer memory at the transfer instruction output of the packet control circuit, and A sequence number generation circuit for adding a sequence number to the TLP read into the buffer read circuit, LCRC generation circuit that adds "LCRC” to the output of the above sequence number generation circuit, The relay circuit error detection circuit for comparing the output of the LCRC generation circuit and the added redundant code described above, determining whether or not the error can be repaired, and notifying the packet control circuit, When the above packet control circuit command is Nullified TLP generation, the control character addition circuit which inverts LCRC, adds "EDB" to the end of TLP, otherwise adds "END” character and outputs Consisting of In the packet control circuit unit, the LCRC / sequence number check circuit or the buffer write circuit described above, If the transmission destination is read from the above TLP header and there is no packet being transmitted to the above transmission processing unit, a transmission start command is notified to the buffer reading circuit
  • the control character addition circuit is instructed to generate a nullified TLP that invalidates the TLP, and the inspection output of the LCRC sequence number inspection circuit is normal. If there is, the normal status signal is held until the result of the relay circuit error detection circuit is output. If the result of the relay circuit error detection circuit is normal, ACK DLLP is obtained. In addition to replying to the sender, instructing the control character addition circuit to generate a Nullified TLP to invalidate the TLP being transmitted, On the other hand, if the inspection output of the LCRC sequence number inspection circuit is abnormal, the NLP DLLP is returned to the transmission source without waiting for the determination output of the relay circuit error detection circuit, and the TLP is transmitted to the transmission destination. In order to invalidate the TLP being transmitted, the control character addition circuit is instructed to generate a Nullified TLP, detects an error in the TLP transmitted from the relay device, and sends an ECRC to the TLP. Data integrity can be assured without adding.
  • a PCI Express TLP processing circuit capable of detecting an error in data transmitted from a relay device and ensuring data integrity, and a relay device including the PCI Express TLP processing circuit.
  • the block diagram of the conventional PCI Express system The figure explaining the structure of the conventional PCI-Express.
  • the figure explaining the conventional TLP format The processing circuit diagram of TLP of the relay device of this invention.
  • FIG. 4 is a configuration diagram of the TLP processing circuit 10 for data transmitted in the upstream direction from the endpoints 3a to 3c to the root complex 1 via the switch 2a which is a relay device of the PCI Express system of the present invention.
  • the TLP processing circuit 10 in the downstream direction is the same as that shown in FIG.
  • the switch 2a is provided between the root complex 1 and the plurality of end points 3a to 3c, and the route between the root complex 1 and the end points 3a (or 3b, 3c) is set in advance by PCI Express configuration software. Shall.
  • delivery confirmation and flow control are performed individually on the link between the root complex 1 and the switch 2a and the link between the switch 2a and the end point 3a (or 3b, 3c).
  • the switch 2a that relays between the endpoint 3a of the PCI Express system and the root complex 1 includes a TLP processing circuit 10 in both directions between the endpoint 3a and the root complex 1.
  • the TLP processing circuit 10 includes a plurality of reception processing units 2a1 to 2a3, a transmission processing unit 2b1, and a multiplexer 2c1 that selects any one of the reception processing units 2a1 to 2a3 and transmits it to the transmission processing unit 2b1.
  • the reception processing unit 2a1 detects the control character of the received TLP, recognizes that the packet is a TLP, and processes the TLP header and data payload output from the control character detection circuit 11.
  • the TLP digest data is processed by the redundant code generation circuit 12 and the redundant code generation circuit 12 for adding a “redundant code” for detecting an error occurring in the relay circuit of the relay device for each predetermined data unit.
  • An LCRC / sequence number checking circuit 13 for checking “LCRC” and “sequence number” is provided for the TLP.
  • the buffer write circuit 14 that stores the TLP output from the LCRC / sequence number check circuit 13 and the added redundant code in association with each other, the buffer memory 15, and the TLP stored in the buffer memory 15. From the packet control circuit unit 16 that controls transmission for normal transmission or invalidation from the TLP processing circuit 10 to the root complex 10, as well as ACK DLLP / NAK DLLP (Data Link Layer Packet). Become.
  • the transmission processing unit 2b1 receives a transfer instruction output from the packet control circuit unit 16 and reads a corresponding TLP from the buffer memory 15, and a sequence number for adding a sequence number to the TLP read into the buffer reading circuit 18.
  • the generation circuit 19, the LCRC generation circuit 20 that adds “LCRC” to the output of the sequence number generation circuit 19, and the redundant code to which the LCRC output is added are collated to determine whether or not an error has occurred in the buffer memory 15.
  • the relay circuit error detection circuit 21 that notifies the packet control circuit unit 16 and “EDB” (indicating the end of EnD Bad, invalid TLP (Nullified TLP)) or “END” in response to a command from the packet control circuit unit 16
  • a control character adding circuit 22 for adding and outputting a control character is constituted.
  • the transmission processing unit 2b1 receives transmission requests from a plurality of packet control circuit units 16, and performs transmission right arbitration for returning transmission permission to each packet control circuit unit 16. It also has a function to perform.
  • the packet control circuit unit 16 also includes a packet control circuit 16a that controls the transmission of the TLP stored in the buffer memory 15 and the normal or abnormal response of the TLP to the transmission source from the presence or absence of the received TLP error.
  • a packet control circuit 16a that controls the transmission of the TLP stored in the buffer memory 15 and the normal or abnormal response of the TLP to the transmission source from the presence or absence of the received TLP error.
  • the ACK DLLP generation circuit 16b that generates ACK DLLP
  • the NAK DLLP generation circuit 16c that generates NAK DLLP and ACK DLLP or NAK DLLP are transmitted when abnormal.
  • a DLLP transmission circuit 16d a DLLP transmission circuit 16d.
  • the control character detection circuit 11 is defined in the PCI Express specification, and indicates “STP” indicating the start of a transaction layer packet (TLP), “END” indicating the end of this packet, and the end of an invalid packet.
  • STP transaction layer packet
  • the packet control circuit 16a is notified (s1) that this packet is Nullified TLP.
  • the redundant code generation circuit 12 usually detects an error from the TLP header, data payload, and TLP digest for each DW (Double (Word).
  • a "redundant code” is added, but the data unit may be any one of byte, word, 2WD, or entire TLP.
  • the redundant code may be parity, ECC (Error (Correcting Cord), or CRC or SUM (or Check SUM) for the entire TLP.
  • the LCRC IV sequence number inspection circuit 13 notifies the packet control circuit 16a of the LCRC of the received TLP and the sequence number inspection result signal (s2).
  • the buffer memory 15 temporarily holds the TLP to be relayed / processed in the buffer 15 when the other end point 3b or the end point 3c is using the transmission unit 2b1 for packet transmission. It can also be used as a retry buffer.
  • the buffer reading circuit 18 of the transmission processing unit 2b1 reads the TLP from the buffer memory 15 based on the transmission start signal (s3) from the packet control circuit 16a, and starts transmission to the route complex 1.
  • the relay circuit error detection circuit 21 checks the TLP header, the data payload, and the TLP digest with the redundant code added by the redundant code generation circuit 12, and if it can be repaired in either case of normal or abnormal, “ If it cannot be repaired, “abnormal” is notified to the packet control circuit 16a as an error detection signal (s4) in the switch 2a.
  • the packet control circuit 16a reads the transmission destination from the header of the TLP in the LCRC / sequence number check circuit 13 or the buffer write circuit 14, and transmits it to the buffer read circuit 18 if no other packet is being transmitted from the switch 2a. If the start signal (s3) is notified and the control character detection circuit 11 detects EDB (s1), it controls the generation of NullifiedPTLP that invalidates the TLP if transmission from the transmission processing unit 2b to the transmission destination is in progress. A command is given to the character addition circuit 22 (s5), and if it is being stored in the buffer memory 15, the TLP is discarded.
  • the NLP DLLP is immediately returned to the endpoint 3a without waiting for the result output of the relay circuit error detection circuit 21, and the TLP is routed. If the transmission to the complex 1 is started, the control character adding circuit 22 is instructed to output the Nullified TLP to invalidate the TLP being transmitted. Discard.
  • the PCI Express system equipped with the relay device of the present invention data integrity can be ensured even if the end endpoints 3a to 3c and the root complex 1 do not add ECRC to the TLP.
  • the TLP digest can be easily used with its own specifications.
  • the present invention is not limited to the above-described embodiment.
  • a redundancy circuit that generates and adds a “redundancy code” to the received TLP, and a transmission
  • the TLP to be added can be added with an error detection circuit that checks the data integrity of the relay device by checking the "redundant code” added by the redundant circuit. Based on this, the unit of data to be inspected may be variously changed, and various modifications can be made without departing from the gist of the present invention.
  • the present invention is used in a PCI Express device, particularly in a transaction layer packet processing circuit thereof.

Landscapes

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

Abstract

 TLP処理回路(10)は、複数の受信処理部(2a1)と、送信処理部(2b)と、受信処理部のいずれかを選択して送信処理部に送信するマルチプレクサ(2c1)とからなり、すくなくとも、受信処理部は、冗長コード生成回路(12)と、LCRC・シーケンス番号検査回路(13)と、バッファメモリ(14)と、当該TLPの送信先へ正常送信、または無効化するための送信を制御するパケット制御回路部(16)とを備え、送信処理部は、シーケンス番号生成回路(19)と、LCRC生成回路(20)と、中継回路エラー検出回路(21)とを備え、送信するTLPのデータ完全性が保証できるようにしたことを特徴とするPCI ExpressのTLP処理回路。

Description

PCI ExpressのTLP処理回路、及びこれを備える中継デバイス
 本発明は、PCI Expressのデバイス、特に、そのトランザクション層パケット(TLP : Transaction Layer Packet)の処理回路に関する。
 PCI Express(登録商標)バスは、コンピュータシステム及び他の電子デバイスのデータを転送するために近年開発された、ポイント・ツー・ポイント接続による高速シリアルインタフェースで、従来のパラレル伝送に比べバスの基板占有面積が少なく一層の小型化が可能で、多分野でその用途が検討されている。
 この規格の詳細は、PCI規格の制定母体であるPCI-SIG(Peripheral Component Interconnect-Special Interest Group)によってPCI Express Base Specificationとして規格化され、また、この規格の解説書も出版されている(例えば、非特許文献1参照)。
 先ず、図1乃至図3を参照して、このPCI Expressシステムの概略を説明する。PCI Expressシステムの構成は、例えば、図1に示すように、ルートコンプレックス1、スイッチ2、及びエンドポイント3(3a、3b、3c、3d)のデバイスから成る。
 また、ルートコンプレックス1、スイッチ2は夫々複数のポートを有し、これらとエンドポイント3の相互間を接続するPCI Expressバス7a~7eは、図2に示すような3層のレイヤー構造を備える。
 夫々の層は、最上位のドライバ及びアプリケーションソフトウェアからなる上位のソフトウェア層に対して従来のPCI互換サービスとエンド・ツー・エンドでデータの確実な通信を保証するトランザクション層101、隣接したコンポーネント間での確実なデータ通信を保障するデータリンク層102、通信パケットを物理媒体上で送受信する物理層103から成り、送受信するデータをパケットの形式で伝送する。
 さらに、ルートコンプレックス1は、PCI Expressシステムのツリー構造の最上位に位置し、システムバスでCPU5と、メモリバスでメモリ6とそれぞれ接続される。
 この構成では、ルートコンプレックス1とエンドポイント3aの通信では、スイッチ2がTLPの中継デバイスとなり、エンドポイント3aとエンドポイント3dとの通信では、スイッチ2とルートコンプレックス1が中継デバイスとなる。
 このように構成されたPCI Expressシステムのデバイス間の伝送路の接続は、ポイント・ツー・ポイント接続となっており、片方向の差動増幅器を2つ使用するデュアル・シンプレックス方式で、リンク速度は2.5Gbpsの帯域を有し、双方向では5Gbpsの帯域を備える。
 さらに、この双方向の伝送路(レーンと呼ぶ)を2組から3組まで増やすことにより、バスの帯域幅をスケーラブルに構成することが可能で、この伝送路上でパケットを送受信することによりデータの伝送を実行する。
 各層のパケットは、図2に示すようにトランザクション層及びデータリンク層で生成され、夫々トランザクション層パケット(TLP、Transaction Layer Packet)、データリンク層パケット(DLLP、Data Link Layer Packet)と呼ばれる。
 また、物理層においてもリンク制御のために物理層パケット(PLP、Physical Layer Packet)が生成される。
 また、各層のパケットは、リンクで接続される相手の同じ層との間でやり取りされ、図3に示すように、下位のプロトコル層で前後に情報を付加され、最終的に伝送路に送信される。受信されたパケットは、各プロトコル層で前後の情報を削除して、上位のプロトコル層に渡される。
 詳細には、エンド・ツー・エンドの通信を行うTLPは、トランザクション層でTLPヘッダ、データ・ペイロード、及びオプションのTLPダイジェスト(ECRC、End-to-end CRC(Cyclic Redundancy Check)と呼ばれる)を構成し、データリンク層で送信時にシーケンス番号とLCRC(Link-Level or Link Cyclic Redundancy Check)が付加され、受信時に検査後削除される。
 DLLPは、TLPの送達応答(肯定応答ACKと否定応答NAK)など、リンク双方で情報をやり取りする短いパケットである。
 さらに、各TLPには、物理層の受信側で開始と終了を検出するための制御キャラクタ(STPとEND)がパケットの両端に付加される。
 次に、このように構成されるPCI Expressシステムのトランザクション層でのデータ完全性(Data Integrity:データに誤りがないこと)の問題点について説明する。
 PCI Expressの規格によれば、トランザクション層パケット(TLP)のデータ誤りの検出にはLCRCが用いられる。LCRCはデータリンク層の機能であり、これによりリンク上での伝送エラーを検出する。LCRCが異常であれば、リンクで結ばれた2つのコンポーネント間で再送を図ることにより、エンド・ツー・エンドによるTLPの通信の信頼性を確保している。
 通常TLPは、エンドポイント3やルートコンプレックス1といった末端のデバイスで生成され、スイッチ2やルートコンプレックス1を経由して最終的な目的のデバイスに送信される。TLPに付加されるシーケンス番号はリンク毎に管理されるため、TLPが中継デバイスを通過する毎にLCRCが検査され、また新しいLCRCが付加される。
 従って、データの誤り検出をLCRC機能だけに頼った場合、スイッチ、及びルートコンプレックスの中継回路(ここでは、データリンク層よりも上位に位置する回路を中継回路と呼ぶ)でTLPのデータにエラーが発生した場合は、エラーを含んだTLPでLCRCが正常に生成されるため、TLPの受信先でエラーを検出することができない問題がある。
 PCI Expressでは、この問題を回避するため、トランザクション層のオプション機能としてエンド・ツー・エンドのデータ完全性を保証するためのECRCを提供している。ECRC機能を用いる場合、TLPの後尾にあるTLPダイジェストと呼ばれる32ビットのフィールドにECRCが格納される。
 しかしながら、PCI ExpressシステムのアプリケーションによってはTLPダイジェストをECRCに用いるのではなく、独自に活用する方が、有用性が高い場合がある(例えば、特許文献1参照)。
米国特許出願公開第2009/0006932号明細書
荒井信隆、里美尚志、田中顕裕、「PCI Express 入門講座」、)(株)電波新聞社、2007年4月1日発行、第1章~第5章
 既存の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処理回路であって、双方向に設けられる1方向についての前述の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システムの構成図。 従来のPCI Expressの構造を説明する図。 従来のTLPフォーマットの説明する図。 本発明の中継デバイスのTLPの処理回路図。
 以下、図面を参照して、本発明の一実施例について説明する。
 図4を参照して本発明の実施例を説明する。図4は、本発明PCI Expressシステムの中継デバイスであるスイッチ2aを経由してのエンドポイント3a~3cからルートコンプレックス1へのアップストリーム方向に送信するデータのTLP処理回路10の構成図である。ダウンストリーム方向のTLP処理回路10は、図1の構成と同様の回路であるので省略する。
 スイッチ2aは、ルートコンプレックス1と複数のエンドポイント3a~3cの間に設けられ、ルートコンプレックス1とエンドポイント3a(または、3b、3c)の経路は、PCI Expressコンフィグレーションソフトウェアにより予め設定されているものとする。
 また、ルートコンプレックス1とスイッチ2a間のリンクとスイッチ2aとエンドポイント3a(または、3b、3c)間のリンクでは、個別に送達確認とフロー制御が行われている。
 このフロー制御は本願の発明の主旨ではないので省略し、ここでは、エンドポイント3aとルートコンプレックス1とが本発明のスイッチ2aに接続されているものとして説明する。
 先ず、スイッチ2aの構成について説明する。PCI Expressシステムのエンドポイント3aとルートコンプレックス1との間を中継するスイッチ2aは、エンドポイント3aとルートコンプレックス1の間の双方向にTLP処理回路10を備える。
 TLP処理回路10は、複数の受信処理部2a1~2a3と、送信処理部2b1と、受信処理部2a1~2a3のいずれかを選択して送信処理部2b1に送信するマルチプレクサ2c1とからなる。
 受信処理部2a1は、受信したTLPの制御キャラクタを検出して、当該パケットがTLPであることを認識処理する制御キャラクタ検出回路11と、制御キャラクタ検出回路11から出力したTLPのヘッダ、データ・ペイロード及びTLPダイジェストデータについて、予め定められるデータ単位毎に、当該中継デバイスの中継回路で生じたエラーを検出する「冗長コード」を付加する冗長コード生成回路12と、冗長コード生成回路12で処理されたTLPに対して、「LCRC」及び「シーケンス番号」を検査するLCRC・シーケンス番号検査回路13とを備える。
 さらに、LCRC・シーケンス番号検査回路13から出力したTLPと付加した冗長コードとを対応付けて記憶するバッファ書き込み回路14とそのバッファメモリ15と、バッファメモリ15に記憶したTLPについて、エラーを検出したどうかをACK DLLP/NAK DLLP(Data Link Layer Packet)でエンドポイント3aに返信するとともに、TLP処理回路10からルートコンプレックス10へ正常送信、または無効化するための送信を制御するパケット制御回路部16とから成る。
 また、送信処理部2b1は、パケット制御回路部16からの転送指示出力でバッファメモリ15から対応するTLPを読み込むバッファ読み込み回路18と、バッファ読み込み回路18に読み込んだTLPにシーケンス番号を付加するシーケンス番号生成回路19と、シーケンス番号生成回路19の出力に「LCRC」を付加するLCRC生成回路20と、LCRCの出力を付加した冗長コードと照合して、バッファメモリ15で発生したエラーの有無を判定してパケット制御回路部16に通知する中継回路エラー検出回路21と、パケット制御回路部16からの指令で「EDB」(EnD Bad、無効TLP(Nullified TLP)の終わりを示す)、もしくは「END」の制御キャラクタを付加して出力する制御キャラクタ付加回路22とから構成される。
 さらに、送信処理部2b1は、詳細を省略するが、複数のパケット制御回路部16からの送信要求を受信して、夫々のパケット制御回路部16に対して送信許可を返信する送信権の調停を行う機能も備える。
 また、パケット制御回路部16は、バッファメモリ15に記憶したTLPについて、送信の指令と、受信したTLPのエラーの有無から送信元へのTLPの正常または異常の応答を制御するパケット制御回路16aと、パケット制御回路16aの指令で受信したTLPが正常である場合ACK DLLPを生成するACK DLLP生成回路16b、及び異常である場合NAK DLLPを生成するNAK DLLP生成回路16cとACK DLLPまたはNAK DLLPを送信するDLLP 送信回路16dとから成る。
 次に、各回路の詳細について説明する。制御キャラクタ検出回路11は、PCI Express仕様で定義されているもので、トランザクション・レイヤパケット(TLP)の開始を示す「STP」や、このパケットの終わりを示す「END」、無効パケットの終わりを示す「EDB」などがあり、「STP」を受信した場合、受信したパケットがTLPであると認識する。
 もし、TLP末尾の制御キャラクタが「END」でなく「EDB」の場合、このパケットがNullified TLPであることをパケット制御回路16aに通知(s1)する。
 次に、冗長コード生成回路12は、スイッチ2aから送信するTLPのデータ完全性を保証するため、TLPヘッダ、データ・ペイロード、TLPダイジェストから、通常、DW(Double Word)毎にエラー検出用の「冗長コード」を付加するが、データの単位は、バイト毎、ワード毎、2WD毎、あるいは、TLP全体などのいずれでも良い。また、冗長コードは、パリティ、ECC(Error Correcting Cord)やTLP全体に対するCRCやSUM(or Check SUM)のいずれでも良い。
 LCRC シーケンス番号検査回路13は、受信したTLPのLCRC及びシーケンス番号の検査結果信号(s2)をパケット制御回路16aに通知する。
 また、バッファメモリ15は、送信処理部2b1を他のエンドポイント3bまたはエンドポイント3cがパケットの送信で使用中の場合に、中継・処理するTLPを一旦バッファ15に保持するものであり、また、リトライ用のバッファとしても使用できる。
 次に、送信処理部2b1のバッファ読み込み回路18は、パケット制御回路16aから送信開始信号(s3)に基づいて、バッファメモリ15からのTLPを読み出して、ルートコンプレックス1宛に送信を開始する。
 また、中継回路エラー検出回路21は、TLPヘッダ、データ・ペイロード、及びTLPダイジェストについて、冗長コード生成回路12で付加した冗長コードと照合し、正常または異常のいずれの場合でも修復可能であれば「正常」を、修復不可能であれば「異常」をスイッチ2a内でエラーの検出信号(s4)として、パケット制御回路16aに通知する。
 次に、このように構成されたTLP処理回路10の動作について説明する。パケット制御回路16aは、LCRC・シーケンス番号検査回路13またはバッファ書き込み回路14において、TLPのヘッダから送信先を読み取り、スイッチ2aから他のパケットの送信中で無ければ、バッファ読み込み回路18に対して送信開始信号(s3)を通知し、制御キャラクタ検出回路11でEDBを検出(s1)したならば、送信処理部2bから送信先に送信中であれば当該TLPを無効にするNullified TLPの生成を制御キャラクタ付加回路22に指令(s5)し、バッファメモリ15に格納中であれば、そのTLPを破棄する。
 そして、LCRC シーケンス番号検査回路13の出力(s2)が正常であれば、中継回路エラー検出回路21の結果が出力されるまで正常ステータス信号を保持し、中継回路エラー検出回路21から送信された信号(s4)が正常であればACK DLLPを、そうでなければNAK DLLPをエンドポイント3aに返信するとともに、転送中のTLPを無効とするため、制御キャラクタ付加回路22に対して、Nullified TLPの出力を指令する。
 一方、LCRC シーケンス番号検査回路13の出力(s2)が異常であれば、中継回路エラー検出回路21の結果出力を待たずに、即座にNAK DLLPをエンドポイント3aに返信するとともに、そのTLPがルートコンプレックス1宛に送信開始されていれば、送信中のTLPを無効とするため制御キャラクタ付加回路22に対して、Nullified TLPの出力を指令し、バッファメモリ15に格納中であれば、そのTLPを破棄する。
 したがって、本発明の中継デバイスを備えるPCI Expressシステムによれば、末端のエンドポイント3a~3cやルートコンプレックス1がTLPにECRCを付加しなくてもデータ完全性が保証できるので、システムの冗長化を図るとともに、TLPダイジェストを独自仕様で活用することが容易に行える効果がある。
 本発明は、上述したような実施例に何ら限定されるものでなく、PCI ExpressのTLP処理回路において、受信したTLPに「冗長化コード」を生成して付加する冗長性回路と、また、送信するTLPについて冗長回路で付加した「冗長コード」を照合して中継デバイスにおけるデータ完全性を検査するエラー検出回路とを付加したものであれば良く、また、送受信するパケットの制御はPIC Express仕様に基づくもので、検査するデータの単位は種々変更しても良く、本発明の主旨を逸脱しない範囲で種々変形して実施することが出来る。
 本発明は、PCI Expressのデバイス、特に、そのトランザクション層パケットの処理回路において利用される。
1、 ルートコンプレックス
2、2a スイッチ
2a1~2a3 受信処理部
2b1 送信処理部
2c1 MUX(マルチプレクサ)
3、3a、3b、3c、3d エンドポイント
5 CPU
6 メモリ
7a~7e PCI Expressバス
10 TLP処理回路
11 制御キャラクタ検出回路
12 冗長コード生成回路
13 LCRC・シーケンス番号検査回路岐路
14 バッファ書き込み回路
15 バッファメモリ
16 パケット制御回路部
16a パケット制御回路
16b ACK生成回路
16c NAK生成回路
16d DLLP送信回路
17 MUX(マルチプレクサ)
18 バッファ読み込み回路
19 シーケンス番号生成回路
20 LCRC生成回路
21 中継回路エラー検出回路
22 制御キャラクタ付加回路

Claims (4)

  1.  PCI Expressシステムのルートコンプレックスとエンドポイント間、または、エンドポイント間を中継する中継デバイスに設けられるTLP処理回路であって、
     前記TLP処理回路には、
     少なくとも、受信したTLPの転送データ毎に冗長コードを付加する冗長コード生成回路と、
     付加した前記冗長コードと送信するTLPとを照合して、送信する当該TLPのエラーを検出する中継回路エラー検出回路と
    を備え、
    前記中継デバイスから送信するTLPのデータ完全性を保証できるようにするPCI ExpressのTLP処理回路。
  2.  請求項1に記載の前記PCI ExpressのTLP処理回路を備える中継デバイス。
  3.  PCI Expressシステムのルートコンプレックスとエンドポイント間、または、エンドポイント間を中継する中継デバイスに設けられるTLP処理回路であって、
     双方向に設けられる1方向についての前記TLP処理回路は、
     (1)複数の受信処理部と、
     (2)送信処理部と、
     (3)前記受信処理部のいずれかを選択して前記送信処理部に送信するマルチプレクサとからなり、
     前記受信処理部は、
     (a)受信したTLPの制御キャラクタを検出して、当該パケットがTLPであることを検出する制御キャラクタ検出回路と、
     (b)前記制御キャラクタ検出回路から出力した前記TLPのヘッダ、データ及びTLPダイジェストのデータについて、予め定められるデータの単位毎に、当該デバイス内のエラーを検出する「冗長コード」を付加する冗長コード生成回路と、
     (b)前記冗長コード生成回路で処理された前記TLPに対して、「LCRC」及び「シーケンス番号」を検査するLCRC・シーケンス番号検査回路と、
     (c)前記LCRC・シーケンス番号検査回路から出力したTLPと付加した前記冗長コードとを対応付けて記憶するバッファ書き込み回路と
     (d)このバッファ書き込み回路用のバッファメモリと、
     (e)前記バッファメモリに記憶したTLPにエラーを検出したどうかをACK DLLP/NAK DLLPで前記TLPの送信元デバイスに返信するとともに、前記TLP処理回路から送信先へ正常送信、または無効化するための送信を制御するパケット制御回路部とから成り、
     前記送信処理部は、
     (f)前記パケット制御回路の転送指示出力で前記バッファメモリから対応するTLPを読み込むバッファ読み込み回路と、
     (g)前記バッファ読み込み回路に読み込んだ前記TLPにシーケンス番号を付加するシーケンス番号生成回路と、
     (h)前記シーケンス番号生成回路の出力に「LCRC」を付加するLCRC生成回路と、
     (i)前記LCRC生成回路の出力と付加した前記冗長コードとを照合し、エラーの修復が可能か否かを判定して、前記パケット制御回路に通知する中継回路エラー検出回路と、
     (j)前記パケット制御回路部の指令が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処理回路。
  4.  請求項3に記載の前記PCI ExpressのTLP処理回路を備える中継デバイス。
PCT/JP2010/002757 2009-04-17 2010-04-15 PCI ExpressのTLP処理回路、及びこれを備える中継デバイス WO2010119695A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
RU2011138173/08A RU2011138173A (ru) 2009-04-17 2010-04-15 СХЕМА ОБРАБОТКИ TLP-ПАКЕТОВ СТАНДАРТА PCI Express И ОБОРУДОВАННОЕ ЕЮ РЕТРАНСЛЯЦИОННОЕ УСТРОЙСТВО
CN2010800119256A CN102349059A (zh) 2009-04-17 2010-04-15 PCI Express的TLP处理电路及具备该处理电路的中继设备
EP10764282A EP2420935A1 (en) 2009-04-17 2010-04-15 Tlp processing circuit for pci express and relay device equipped with the same
US13/272,265 US20120030402A1 (en) 2009-04-17 2011-10-13 Pci express tlp processing circuit and relay device provided with this

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009-100756 2009-04-17
JP2009100756A JP2010250665A (ja) 2009-04-17 2009-04-17 PCIExpressのTLP処理回路、及びこれを備える中継デバイス

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/272,265 Continuation US20120030402A1 (en) 2009-04-17 2011-10-13 Pci express tlp processing circuit and relay device provided with this

Publications (1)

Publication Number Publication Date
WO2010119695A1 true WO2010119695A1 (ja) 2010-10-21

Family

ID=42982367

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/002757 WO2010119695A1 (ja) 2009-04-17 2010-04-15 PCI ExpressのTLP処理回路、及びこれを備える中継デバイス

Country Status (7)

Country Link
US (1) US20120030402A1 (ja)
EP (1) EP2420935A1 (ja)
JP (1) JP2010250665A (ja)
KR (1) KR20110126690A (ja)
CN (1) CN102349059A (ja)
RU (1) RU2011138173A (ja)
WO (1) WO2010119695A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6228793B2 (ja) 2013-09-24 2017-11-08 株式会社日立製作所 計算機システム、計算機システムの制御方法及び接続モジュール
GB2529217A (en) * 2014-08-14 2016-02-17 Advanced Risc Mach Ltd Transmission control checking for interconnect circuitry
US10114688B2 (en) * 2015-02-16 2018-10-30 Dell Products L.P. System and method for peripheral bus device failure management
JP6554989B2 (ja) * 2015-08-11 2019-08-07 富士通株式会社 ストレージ制御装置
CN105205021B (zh) 2015-09-11 2018-02-13 华为技术有限公司 断开PCIe设备与主机之间的链接的方法和装置
CN105608029B (zh) * 2015-12-17 2018-08-21 深圳市紫光同创电子有限公司 处理层数据包生成方法、装置及PCI Express系统
KR101980190B1 (ko) 2017-09-25 2019-05-21 서울대학교산학협력단 입출력 디바이스 제어 장치, 그것의 동작 방법 및 입출력 디바이스 제어 장치 드라이버의 동작 방법
CN113498600B (zh) * 2020-01-22 2022-11-25 华为技术有限公司 一种基于PCIe的数据传输方法及装置
CN113498601A (zh) * 2020-01-22 2021-10-12 华为技术有限公司 一种基于PCIe的数据传输方法及装置
CN112668263B (zh) * 2020-12-29 2022-08-16 中国电子科技集团公司第五十八研究所 基于PCIe总线的处理层设计方法、结构及应用
CN117171083B (zh) * 2023-06-07 2024-05-03 沐曦集成电路(南京)有限公司 基于nak的自适应修复pcie接口互连链路的系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03174841A (ja) * 1989-12-04 1991-07-30 Fujitsu Ltd メディアアクセス制御ブリッジにおけるデータ保証方式
JP2006134306A (ja) * 2004-10-07 2006-05-25 Internatl Business Mach Corp <Ibm> Pci−expressベースの入力/出力アダプタのためのエンドツーエンドのデータ完全性保護
JP2007219873A (ja) * 2006-02-17 2007-08-30 Nec Corp スイッチ及びネットワークブリッジ装置
JP2008544389A (ja) * 2005-06-21 2008-12-04 エヌエックスピー ビー ヴィ PCIExpressデバイスのデータ完全性の並列検査方法
US20090006932A1 (en) 2007-06-29 2009-01-01 International Business Machines Corporation Device, System and Method of Modification of PCI Express Packet Digest

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424565B2 (en) * 2005-11-16 2008-09-09 Sun Microsystems, Inc. Method and apparatus for providing efficient output buffering and bus speed matching
US7424567B2 (en) * 2005-11-16 2008-09-09 Sun Microsystems, Inc. Method, system, and apparatus for a dynamic retry buffer that holds a packet for transmission
US7424566B2 (en) * 2005-11-16 2008-09-09 Sun Microsystems, Inc. Method, system, and apparatus for dynamic buffer space allocation
US7664904B2 (en) * 2006-03-10 2010-02-16 Ricoh Company, Limited High speed serial switch fabric performing mapping of traffic classes onto virtual channels
US8010860B2 (en) * 2007-10-22 2011-08-30 International Business Machines Corporation Method and architecture to prevent corrupt data propagation from a PCI express retry buffer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03174841A (ja) * 1989-12-04 1991-07-30 Fujitsu Ltd メディアアクセス制御ブリッジにおけるデータ保証方式
JP2006134306A (ja) * 2004-10-07 2006-05-25 Internatl Business Mach Corp <Ibm> Pci−expressベースの入力/出力アダプタのためのエンドツーエンドのデータ完全性保護
JP2008544389A (ja) * 2005-06-21 2008-12-04 エヌエックスピー ビー ヴィ PCIExpressデバイスのデータ完全性の並列検査方法
JP2007219873A (ja) * 2006-02-17 2007-08-30 Nec Corp スイッチ及びネットワークブリッジ装置
US20090006932A1 (en) 2007-06-29 2009-01-01 International Business Machines Corporation Device, System and Method of Modification of PCI Express Packet Digest

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
N ARAI, N SATOMI, K TANAKA: "PCI Express Introduction", 1 April 2007, DENPA SHINBUNSHA

Also Published As

Publication number Publication date
US20120030402A1 (en) 2012-02-02
JP2010250665A (ja) 2010-11-04
RU2011138173A (ru) 2013-03-27
CN102349059A (zh) 2012-02-08
KR20110126690A (ko) 2011-11-23
EP2420935A1 (en) 2012-02-22

Similar Documents

Publication Publication Date Title
WO2010119695A1 (ja) PCI ExpressのTLP処理回路、及びこれを備える中継デバイス
KR101099471B1 (ko) PCI.Express 통신 시스템, 및 그 통신 방법
US6425033B1 (en) System and method for connecting peripheral buses through a serial bus
US8751714B2 (en) Implementing quickpath interconnect protocol over a PCIe interface
JP4629775B2 (ja) PCIExpressデバイスのデータ完全性の並列検査方法
US8576707B2 (en) Method and apparatus for bus coupling of safety-relevant processes
JP4391954B2 (ja) ファイル制御システムおよびファイル制御装置
EP1477899A2 (en) Data processing apparatus and method
US8010860B2 (en) Method and architecture to prevent corrupt data propagation from a PCI express retry buffer
CN105373441B (zh) 用于互连电路的传输控制检查
JP4451837B2 (ja) データ転送装置およびデータ転送方法
US20160255008A1 (en) Separable transport layer in cache coherent multiple component microelectronic systems
US20130173986A1 (en) Memory controller, data storage device, and memory controlling method
JP2005202956A (ja) 破損データを処理する方法
KR101086599B1 (ko) 데이터 통신의 갭을 처리하는 방법
US6950440B1 (en) System and method for efficiently generating packets on a serial bus in response to parallel bus cycles
JP5182417B2 (ja) 伝送データのエラーチェック装置および方法
JP6003136B2 (ja) データ中継装置
US20140040684A1 (en) System for packet communication and communication method
CN108616324A (zh) 数据链路层高性能容错的方法
KR20050044197A (ko) 피씨아이 디엠에이 에러 처리 장치 및 방법
JP2000242570A (ja) シリアルデータ制御装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080011925.6

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10764282

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 6558/DELNP/2011

Country of ref document: IN

Ref document number: 2010764282

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20117021295

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2011138173

Country of ref document: RU

NENP Non-entry into the national phase

Ref country code: DE