Virtual channel support using write table
AssigneeApple Inc.
InventorsMichael D. Snyder, Ronald P. Hall, Deepak Limaye, Brett S. Feero, Rohit K. Gupta
Life of this patent
Estimating the term…
Abstract
An embodiment of an apparatus includes a processing circuit and a system memory. The processing circuit may store a pending request in a buffer, the pending request corresponding to a transaction that includes a write request to the system memory. The processing circuit may also allocate an entry in a write table corresponding the transaction. After sending the transaction to the system memory to be processed, the pending request in the buffer may be removed in response to the allocation of the write entry.
Claims20
An apparatus comprising:
- a communication fabric configured to route transactions between source circuits and a system memory;
- a bridge circuit coupled to the communication fabric:
- a processing circuit coupled to the bridge circuit, and configured to:
- generate a particular transaction to write data to a particular location in the system memory;
- store, into a pending request buffer, a pending request associated with the particular transaction;
- allocate, in a write table, a particular write entry corresponding to the particular transaction, wherein the particular write entry excludes at least a portion of the data to be written;
- send the particular transaction to the bridge circuit to be sent to the system memory;
- and
- in response to the allocation of the particular write entry and to sending the particular transaction to the bridge circuit, remove the pending request from the pending request buffer.
A method, comprising:
- allocating, by a processing circuit, a pending request entry in a pending request buffer, wherein the pending request entry is associated with a particular transaction to write data to a particular location in a system memory;
- allocating, by the processing circuit, a particular write entry in a write table wherein the particular write entry is associated with the particular location;
- queuing, by the processing circuit, the particular transaction in a bridge circuit to be sent to the system memory;
- and
- in response to queuing the particular transaction in the bridge circuit and allocating the particular write entry, deallocating, by the processing circuit, the pending request entry from the pending request buffer.
An apparatus, including:
- a bridge circuit including a queue to hold received transactions to be performed via a communication fabric;
- a processing circuit, including a pending request buffer and a write table, configured to:
- allocate a pending request entry in the pending request buffer, wherein the pending request entry corresponds to a particular transaction to write data to a particular location in a system memory;
- store, in a particular write entry in the write table, a particular value associated with the particular location;
- queue the particular transaction in the bridge circuit;
- and
- in response to a determination that the particular transaction has been queued in the bridge circuit and that the particular value has been stored in the particular write entry, deallocate the pending request entry from the pending request buffer.
Dependencies are inferred from the claim text.