Atomic operations in PCI express
First Claim
1. An apparatus comprising:
- an I/O element to;
receive a transaction layer packet of a transaction from a device over an interconnect;
identify, from a header of the packet, an atomic operation request on a data unit, wherein the header comprises a type field to indicate an atomic operation type of the atomic operation request, a tag field, a requester identifier (ID) field, and an address field; and
service the atomic operation request.
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
25 Claims
-
1. An apparatus comprising:
an I/O element to; receive a transaction layer packet of a transaction from a device over an interconnect; identify, from a header of the packet, an atomic operation request on a data unit, wherein the header comprises a type field to indicate an atomic operation type of the atomic operation request, a tag field, a requester identifier (ID) field, and an address field; and service the atomic operation request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. An apparatus comprising:
logic to; receive a packet including a packet header, wherein the packet header comprises a type field, a tag field, a requester identifier (ID) field, and an address field, wherein the packet is received over a Peripheral Component Interconnect Express (PCIe)-compliant interconnect and a value of the type field indicates whether the packet corresponds to a request for an atomic operation; and identify that the packet corresponds to a particular type of atomic operation request based at least in part on the value of the type field; and service the particular type of atomic operation request. - View Dependent Claims (14, 15)
-
16. A method comprising:
-
receiving a transaction layer packet from a device over a PCIe-compliant interconnect, wherein the packet comprises a packet header comprising a type field, a tag field, a requester identifier (ID) field, and an address field; decoding the packet header to identify an atomic operation request on a data unit; identifying, from a type field of the packet header, an atomic operation type of the atomic operation request; and servicing the atomic operation request. - View Dependent Claims (17, 18)
-
-
19. A system comprising:
-
a first I/O device; a memory element; and a second I/O device communicatively coupled to the first I/O device, wherein the second I/O device is to; receive a packet from the first I/O device in a transaction over a PCIe-compliant interconnect, wherein the packet comprises a packet header and a payload, and the packet header comprises a type field, a tag field, a requester identifier (ID) field, and an address field; decode the packet header to identify an atomic operation request on a data unit stored on the memory element and identify, from the type field of the packet header, an atomic operation type of the atomic operation request; service the atomic operation request; and return a response to the first I/O device based on servicing of the atomic operation request. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification