Back to results
US 7,353,301 B2Granted
Methodology and apparatus for implementing write combining
AssigneeIntel Corporation
InventorsSivakumar Radhakrishnan, Siva Balasubramanian, William T. Futral, Sujoy Sen, Gregory D. Cummings, Kenneth C. Creta, David C. Lee
Life of this patent
Estimating the term…
Abstract
Write-combining in a computer system that uses a push model is set forth herein. In one embodiment, the method comprises creating one or more packets having a descriptor and the data associated with detected write transactions stored in the buffer assigned to a write-combinable range in response to a flush request to flush the buffer, and sending (pushing) these packets to the network I/O device.
Claims26
A method comprising:
- detecting a write transaction request directed to a input/output (I/O) device;
- storing data associated with the detected write transaction within a buffer assigned to a write-combinable range if a transaction address associated with the detected write transaction falls within the write-combinable range for the I/O device;
- creating one or more packets having a descriptor and the data associated with detected write transactions stored in the buffer in response to a flush request to flush the buffer;
- sending the one or more packets to the I/O device;
- setting a new buffer after flushing contents of the buffer;
- and
- tracking byte enables of all transactions that fall within the write combining range associated with the buffer, wherein each bit of a byte enable vector corresponds to a distinct portion of the buffer, and further wherein each bit being set indicates the distinct portion of the buffer that includes data associated with a write transaction.
4 more elements
An apparatus comprising:
- detection logic to detect outbound write transaction requests to a plurality of I/O devices, the outbound write transaction requests having a transaction address that falls within a write-combinable range assigned to one of the plurality of I/O devices;
- a write-combining storage area for storing write data associated with the detected write transaction requests;
- flush logic coupled to the one or more write-combining storage areas to flush one or more of the write-combining storage areas to one or more of the plurality of I/O devices using a push model, wherein the flush logic creates one or more packets having a descriptor and the data associated with detected write transactions stored in the buffer in response to a flush request to flush the buffer and send the one or more packets to the I/O device;
- and
- a register to store tracking byte enables of all transactions that fall within the write combining range associated with the buffer, wherein each bit of a byte enable vector corresponds to a distinct portion of the buffer, and further wherein each bit being set indicates the distinct portion of the buffer includes data associated with a write transaction.
2 more elements
A system comprising:
- a network interface card coupled to an I/O bus;
- and
- a chipset coupled to the I/O bus, the chipset to detect write transactions directed to the network interface card, to combine data of detected write transactions according to transaction addresses that fall within a predetermined write-combinable range of a memory mapped I/O space assigned to the I/O device, and to flush the combined write transactions as one or more packets to the network interface card using a push model, wherein chipset further comprises:
- detection logic to detect outbound write transaction requests to the network interface card, the outbound write transaction requests having a transaction address that falls within a write-combinable range assigned to the network interface card;
- a write-combining storage area for storing write data associated with the detected write transaction requests;
- a register to store tracking byte enables of all transactions that fall within the write combining range associated with the buffer, wherein each bit of a byte enable vector corresponds to a distinct portion of the buffer, and further wherein each bit being set indicates the distinct portion of the buffer includes data associated with a write transaction;
- and
- a flush logic coupled to the write-combining storage area to flush the write-combining storage area to the network interface card, wherein the flush logic creates one or more packets having a descriptor and the data associated with detected write transactions stored in the buffer in response to a flush request to flush the buffer and send the one or more packets to the I/O device.
5 more elements
Dependencies are inferred from the claim text.