Patent ID: 7213094

Claim:
A method for performing a delayed transaction, comprising: (a) receiving a read request from a PCI (Peripheral Component Interconnect) agent coupled to a PCI bridge to transfer data from system memory to the PCI agent, wherein the first read request references an initial starting address at which the data is located; allocating a pre-fetch buffer for the delayed transaction; (b) setting a buffer fill watermark to an initial value for the pre-fetch buffer; (c) receiving a current portion of the data at the PCI bridge; (d) transferring at least a portion of the current portion of the data into the pre-fetch buffer while monitoring a fill level of the pre-fetch buffer; (e) connecting the PCI agent to the PCI bridge in response to determining the fill level of the pre-fetch buffer meets or exceeds the buffer fill watermark; (f) enabling data to be transferred from the pre-fetch buffer to the PCI agent once the fill level of the pre-fetch buffer meets or exceeds the buffer fill watermark until the pre-fetch buffer is emptied or the PCI agent disconnects; (g) receiving one or more subsequent read requests from the PCI agent, each subsequent read request having a starting address corresponding to a remaining portion of the data that has yet to be received by the PCI agent; and (h) repeating operations (c)–(g) until the data transaction is completed.