Browse Prior Art Database

Method for PCI Express transaction layer holding buffer with error tagging

IP.com Disclosure Number: IPCOM000010805D
Publication Date: 2003-Jan-22
Document File: 3 page(s) / 49K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method for PCI express transaction layer holding buffer with error tagging. Benefits include improved performance.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 50% of the total text.

Method for PCI Express transaction layer holding buffer with error tagging

Disclosed is a method for PCI express transaction layer holding buffer with error tagging.� Benefits include improved performance.

Background

        � � � � � PCI Express defines a packetized protocol and load/store architecture. PCI Express is a trademarked name owned by PCI-SIG. Specification 1.0 was released on July 23, 2002.

        � � � � � The receive logic of a PCI Express transaction layer must receive a transaction layer packet (TLP) in an uninterrupted stream at a rate of N bytes per clock cycle, where N is the native link width of the port. This receive stream may not be throttled on a per-byte basis, only on a per-packet basis using credits.

General description

        � � � � � The disclosed method is a buffer for incoming packets. The method enables packets with errors to be immediately dropped by resetting the write pointer to the saved write pointer. Using a separate status buffer, the packet status is stored along side the first line of the packet so that the read logic can determine the packet status immediately.

Advantages

        � � � � � Some implementations of the disclosed structure and method provide one or more of the following advantages:

•        � � � � Improved performance due to containing errors at the lowest level of the transaction layer, which alleviates packet consumers of the error checking, handling, and restoring prior state processing

Detailed description

        � � � � � A received TLP may generate one or more of a variety of errors. Each PCI Express layer detects different types of errors. For example, cyclic redundancy code (CRC) errors are checked in the link layer. As the packet is received by the transaction layer, errors may be detected at any point in the stream, up to and including the last byte of the packet. Furthermore, different types of errors must receive different responses from the receiver. Some error types, such as CRC errors, indicate that the packet should be ignored because it will be retransmitted. Some types should be dropped and an error condition logged. Others, such as an unsupported request, must generate a response (such as completion) to the requester. Good packets should be passed to their appropriate consumer in the core.

        � � � � � For applications where erroneous packets must be contained as early as possible and good packets are passed to the device core, a receive buffer with error tagging is utilized. This buffer stores all packets as they are received. Packet status is updated as the packet is being received. At the end of the packet, the packet status is stored with the head of the packet. The packet may be silently dropped, or it may be passed to the core with a status indication. The logic that extracts the packet from the buffer...