Prefectching in PCI express
First Claim
1. An apparatus comprising:
- an I/O element to;
receive a packet over an interconnect from a device, wherein the packet comprises a header and the header is compliant with a Peripheral Component Interconnect Express (PCIe)-based protocol;
identify a hint from a hint field in the header of the packet, wherein the header is to comprise at least four bytes, a byte zero of the header is to comprise a format field and a type field, a byte one of the header is to comprise the hint field, byte zero comprises the first of the at least four bytes, and byte one comprises the second of the at least four bytes, and the hint is to indicate an intended use of data in a memory associated with a transaction; and
initiate prefetching of the data based at least in part on the hint.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for enhancing/extending a serial point-to-point interconnect architecture, such as Peripheral Component Interconnect Express (PCIe) is herein described. Temporal and locality caching hints and prefetching hints are provided to improve system wide caching and prefetching. Message codes for atomic operations to arbitrate ownership between system devices/resources are included to allow efficient access/ownership of shared data. Loose transaction ordering provided for while maintaining corresponding transaction priority to memory locations to ensure data integrity and efficient memory access. Active power sub-states and setting thereof is included to allow for more efficient power management. And, caching of device local memory in a host address space, as well as caching of system memory in a device local memory address space is provided for to improve bandwidth and latency for memory accesses.
83 Citations
35 Claims
-
1. An apparatus comprising:
an I/O element to; receive a packet over an interconnect from a device, wherein the packet comprises a header and the header is compliant with a Peripheral Component Interconnect Express (PCIe)-based protocol; identify a hint from a hint field in the header of the packet, wherein the header is to comprise at least four bytes, a byte zero of the header is to comprise a format field and a type field, a byte one of the header is to comprise the hint field, byte zero comprises the first of the at least four bytes, and byte one comprises the second of the at least four bytes, and the hint is to indicate an intended use of data in a memory associated with a transaction; and initiate prefetching of the data based at least in part on the hint. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. An apparatus comprising:
an I/O module to; generate a header of at least one packet of a transaction, wherein the header is compliant with a PCIe-based protocol and is to comprise at least four bytes, a byte zero of the header is to comprise a format field and a type field, a byte one of the header is to comprise a hint field to indicate a hint, byte zero comprises the first of the at least four bytes, and byte one comprises the second of the at least four bytes, and the hint indicates a potential future use of data in a memory associated with the transaction; and send the packet to a device over an interconnect, wherein the device is to prefetch the data based at least in part on the hint. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
22. An apparatus comprising:
a root controller to; receive a packet from a device over an interconnect, wherein the root controller includes a protocol stack including a transaction layer, a link layer, and a physical layer, and the packet includes a transaction layer header, the transaction layer header is compliant with a PCIe-based protocol, the header is to comprise at least four bytes, a byte zero of the header is to comprise a format field and a type field, a byte one of the header is to comprise a hint field, byte zero is to comprise the first of the at least four bytes, and byte one is to comprise the second of the at least four bytes; identify a hint from the hint field; and initiate a prefetch of a data element based at least in part on the hint, wherein the packet is to indicate an amount of data to be prefetched and address information of prefetchable memory associated with the data element.
-
23. A method comprising:
-
receiving a packet over an interconnect from a device, wherein the packet comprises a header and the header is compliant with a PCIe-based protocol; identifying a hint from a hint field in the header of the packet, wherein the header is to comprise at least four bytes, a byte zero of the header is to comprise a format field and a type field, a byte one of the header is to comprise the hint field, byte zero comprises the first of the at least four bytes, and byte one comprises the second of the at least four bytes, and the hint is to indicate an intended use of data in a memory associated with a transaction; and initiating prefetching of the data based at least in part on the hint. - View Dependent Claims (24, 25, 26, 27, 28)
-
-
29. A system comprising:
-
a first computing device; a second computing device to; receive a packet over an interconnect from the first device, wherein the packet comprises a header and the header is compliant with a PCIe-based protocol; identify a hint from the header of the packet, wherein the header is to comprise at least four bytes, a byte zero of the header is to comprise a format field and a type field, a byte one of the header is to comprise the hint field, byte zero comprises the first of the at least four bytes, and byte one comprises the second of the at least four bytes, and the hint is to indicate an intended use of data in a memory associated with a transaction; and initiate prefetching of the data based at least in part on the hint. - View Dependent Claims (30, 31, 32, 33, 34)
-
-
35. An apparatus comprising:
an I/O module to; generate a packet in a transaction, the packet including a packet header and a payload, wherein the packet header is compliant with a PCIe-based protocol and is to comprise at least four bytes, a byte zero of the header is to comprise a format field and a type field, a byte one of the header is to comprise a hint field to indicate a hint, byte zero comprises the first of the at least four bytes, byte one comprises the second of the at least four bytes, and the hint is to indicate an intended use of data in a memory associated with the transaction; and cause the packet to be sent to a device over an interconnect.
Specification