PCI express enhancements and extensions
First Claim
1. An apparatus comprising:
- receiving logic in a first device, the receiving logic configured to receive a first packet referencing a memory access operation on a serial, point-to-point interconnect, wherein the first packet is to include a reference to an address and a length field capable to hold a length to indicate a number of cache lines in a block, a stride field capable to hold a stride to indicate an offset to a start of a next block, and a block count field capable to hold a block count to indicate a number of blocks to prefetch; and
fetch logic configured to;
initate a fetch request of an element at the address in response to the receiving logic receiving the first packet and the first packet referencing the memory access operation and the address; and
initiate a prefetch of an additional element in response to receiving the first packet based on one or more of the length field, the stride field, or the count field, wherein the first packet is associated with an access control hint comprising a locality hint and that is to be indicative of a location at which prefetched elements are to be cached.
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.
61 Citations
15 Claims
-
1. An apparatus comprising:
-
receiving logic in a first device, the receiving logic configured to receive a first packet referencing a memory access operation on a serial, point-to-point interconnect, wherein the first packet is to include a reference to an address and a length field capable to hold a length to indicate a number of cache lines in a block, a stride field capable to hold a stride to indicate an offset to a start of a next block, and a block count field capable to hold a block count to indicate a number of blocks to prefetch; and fetch logic configured to; initate a fetch request of an element at the address in response to the receiving logic receiving the first packet and the first packet referencing the memory access operation and the address; and initiate a prefetch of an additional element in response to receiving the first packet based on one or more of the length field, the stride field, or the count field, wherein the first packet is associated with an access control hint comprising a locality hint and that is to be indicative of a location at which prefetched elements are to be cached. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system comprising:
a first device including, receiving logic in a first device, the receiving logic configured to receive a first packet referencing a memory access operation on a serial, point-to-point interconnect, wherein the first packet is to include a reference to an address to be associated with a memory location in a system memory a length field capable to hold a length to indicate a number of cache lines in a block, a stride field capable to hold a stride to indicate an offset to a start of a next block, and a block count field capable to hold a block count to indicate a number of blocks to prefetch; and fetch logic configured to; initiate a fetch request of an element at the address in response to the receiving logic receiving the first packet and the first packet referencing the memory access operation and the address; and initiate a prefetch of an additional element in response to receiving the first packet based on one or more of the length field, the stride field, or the count field, wherein the first packet is associated with an access control hint comprising a locality hint and that is to be indicative of a location at which prefetched elements are to be cached. - View Dependent Claims (13, 14, 15)
Specification