WO2010119695A1 - PCI ExpressのTLP処理回路、及びこれを備える中継デバイス - Google Patents
PCI ExpressのTLP処理回路、及びこれを備える中継デバイス Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0097—Relays
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
Description
PCI Expressシステムのルートコンプレックスとエンドポイント間、または、エンドポイント間を中継する中継デバイスに設けられるTLP処理回路であって、
前述のTLP処理回路には、すくなくとも、受信したTLPの転送データ毎に冗長コードを付加する冗長コード生成回路と、付加した前述の冗長コードと送信するTLPとを照合して、送信する当該TLPのエラーを検出する中継回路エラー検出回路とを備え、前述の中継デバイスから送信する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を付加しなくてもデータ完全性が保証できるようにする。
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)
- PCI Expressシステムのルートコンプレックスとエンドポイント間、または、エンドポイント間を中継する中継デバイスに設けられるTLP処理回路であって、
前記TLP処理回路には、
少なくとも、受信したTLPの転送データ毎に冗長コードを付加する冗長コード生成回路と、
付加した前記冗長コードと送信するTLPとを照合して、送信する当該TLPのエラーを検出する中継回路エラー検出回路と
を備え、
前記中継デバイスから送信するTLPのデータ完全性を保証できるようにするPCI ExpressのTLP処理回路。
- 請求項1に記載の前記PCI ExpressのTLP処理回路を備える中継デバイス。
- 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処理回路。
- 請求項3に記載の前記PCI ExpressのTLP処理回路を備える中継デバイス。
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)
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)
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)
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 |
-
2009
- 2009-04-17 JP JP2009100756A patent/JP2010250665A/ja active Pending
-
2010
- 2010-04-15 KR KR1020117021295A patent/KR20110126690A/ko not_active Application Discontinuation
- 2010-04-15 CN CN2010800119256A patent/CN102349059A/zh active Pending
- 2010-04-15 WO PCT/JP2010/002757 patent/WO2010119695A1/ja active Application Filing
- 2010-04-15 EP EP10764282A patent/EP2420935A1/en not_active Withdrawn
- 2010-04-15 RU RU2011138173/08A patent/RU2011138173A/ru not_active Application Discontinuation
-
2011
- 2011-10-13 US US13/272,265 patent/US20120030402A1/en not_active Abandoned
Patent Citations (5)
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)
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 |