Browse Prior Art Database

Using Throw-away Destination Pointer for Data to Decrease Unnecessary Machine Lifetime

IP.com Disclosure Number: IPCOM000200296D
Publication Date: 2010-Oct-04
Document File: 5 page(s) / 66K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method for using a target that identifies itself as the intended recipient of an incorrectly formed data transfer and sets an error bit as well as a response that indicates that it will accept the data transfer, avoiding the typical retry scenario. The invention, as part of its response, makes use of a throwaway ID, which it sends to the bus as the target ID of the incorrectly formed data transfer.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 31% of the total text.

Page 01 of 5

Using Throw-away Destination Pointer for Data to Decrease Unnecessary Machine Lifetime

High speed, high traffic buses are used in the efficient transportation of data from a source to a destination via command and data sequences. The basic problem being solved by the invention relates to the efficient handling of an incorrectly formed user-specified data transfer command.

Some commands are known to transfer a given amount of data, for example, a defined cache line of some number of data bytes. Other commands allow variability in the amount of data that is to be transferred ranging in defined increments from a minimum value up to some maximum number of bytes that are legal for the implementation. These commands are formed by the user and typically contain a starting address and a size field. For these commands, the target of a data transfer may have restrictions on the starting address for alignment issues, or it may have restrictions on the size of the transfer allowed, or it may have restrictions on boundary crossings that the combination of starting address and size together are not allowed to violate. Other restrictions may also exist.

The target of a correctly formed variable-length data transfer dispatches some logical mechanism or state machine to handle the reception of the anticipated data. Resources are allocated and calculations are made to indicate what needs to be done to complete the reception of the data transfer.

The target of an incorrectly formed variable-length data transfer that violates the target's restrictions sets an error bit of some sort to alert the source, or the programmer of the source, that they have violated the acceptable transfer restrictions of the target. For a typical design, the target then handles the transfer in one of two ways:

• The target recognizes that the incorrectly formed data transfer is illegal and forces a retry of the command until the error bit is recognized and processed. This causes high performance bus bandwidth to be occupied with retries for a command that never transfers data, wasting bus bandwidth that could be used to perform commands that can actually make progress. It is highly desirable that operations do not "hang" on the bus. One method of hanging can occur when the responses of a sender's command continually tell the sender to retry the command. This first option may be unacceptable by some bus architectures that require that the target avoid retries when possible and respond with an acceptance even if it will not use the data.

• Alternatively, the target dispatches a logical mechanism (or mechanisms) to monitor and/or handle the delivery of the anticipated data, though the data is not allowed to be used and is essentially thrown away. Dispatching the logical mechanism(s) to handle throw-away data occupies resources which could have been kept available for other, more useful, purposes than throwing data away. Additionally, due to the violation of the target's

1...