US2013117490A1PendingUtilityA1

Communicating a message request transaction to a logical device

58
Assignee: HARRIMAN DAVIDPriority: Dec 28, 2001Filed: Dec 20, 2012Published: May 9, 2013
Est. expiryDec 28, 2021(expired)· nominal 20-yr term from priority
G06F 11/0745G06F 13/4282G06F 13/4022H04L 69/22
58
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A general input/output communication port implements a communication stack that includes a physical layer, a data link layer and a transaction layer. The transaction layer includes assembling a packet header for a message request transaction to one or more logical devices. The packet header includes a format field to indicate the length of the packet header and to further specify whether the packet header includes a data payload, a subset of a type field to indicate the packet header relates to the message request transaction and a message field. The message field includes a message to implement the message request transaction. The message includes at least one message that is selected from a group of messages. The group of messages to include a message to unlock a logical device, a message to reset a logical device, a message to indicate a correctable error condition, a message to indicate an uncorrectable error condition, a message to indicate a fatal error condition, a message to report a bad request packet, a message to indicate power management and a message to emulate an interrupt signal.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . An apparatus comprising:
 an I/O module to:
 assemble a completion header of a packet of a completion of a request, wherein the completion header is to include a routing identifier field to identify a device associated with the request; and 
 send the packet over an interconnect comprising one or more serial point-to-point links, wherein routing of the packet is based at least in part on values of the routing identifier field. 
   
     
     
         2 . The apparatus of  claim 1 , wherein the header further is to include a completer identifier identifying a device that attempted to complete a request of the transaction. 
     
     
         3 . The apparatus of  claim 2 , wherein the completer identifier is to include identification of a bus number, a device number, and a function number of the device. 
     
     
         4 . The apparatus of  claim 1 , wherein the completer identifier comprises a field of at least sixteen bits. 
     
     
         5 . The apparatus of  claim 1 , wherein the header is further to include a completion status field. 
     
     
         6 . The apparatus of  claim 5 , wherein the completion status field comprises at least three bits. 
     
     
         7 . The apparatus of  claim 1 , wherein the header is further to include a format field, a type field, and a length field. 
     
     
         8 . The apparatus of  claim 1 , wherein the I/O module is further configured to receive a request in the transaction from a device over the interconnect, wherein the request includes one or more request packets. 
     
     
         9 . The apparatus of  claim 8 , wherein the one or more request packets include a transaction identifier comprising a requester identifier and tag. 
     
     
         10 . The apparatus of  claim 9 , wherein requester identifiers identify a bus number, a device number, and a function number corresponding to the device, and the tag comprises a value unique for all outstanding requests of the device. 
     
     
         11 . The apparatus of  claim 9 , wherein one or more values of the routing identifier are to match at least one or more values of the transaction identifier. 
     
     
         12 . The apparatus of  claim 8 , wherein the I/O module is further configured to determine whether the request requires completion. 
     
     
         13 . The apparatus of  claim 12 , wherein all read request transactions require completion. 
     
     
         14 . The apparatus of  claim 1 , wherein the transaction includes at least one of a read request and a data write request. 
     
     
         15 . The apparatus of  claim 1 , wherein the interconnect comprises at least one of a physical layer to support a Peripheral Component Interconnect Express (PCIe) protocol layer, a physical layer including one or more protocols. 
     
     
         16 . The apparatus of  claim 1 , wherein the interconnect comprises a PCIe-compliant interconnect. 
     
     
         17 . An apparatus comprising:
 an I/O module to:
 receive a packet from a device over an interconnect comprising one or more serial point-to-point links, wherein the packet includes a completion packet header and the completion packet header includes a completer identifier corresponding to the device, a completion status identifier, and a transaction identifier; and 
 determine whether the packet corresponds to a completion of an outstanding request based at least in part on values of the transaction identifier. 
   
     
     
         18 . The apparatus of  claim 17 , wherein the header further includes a format field, a type field, and a length field. 
     
     
         19 . The apparatus of  claim 17 , wherein packets of each outstanding request include a respective transaction identifier and determining whether the packet corresponds to one of the outstanding requests includes comparing values of the transaction identifiers of the request packet headers with the transaction identifier of the completion packet header. 
     
     
         20 . The apparatus of  claim 19 , wherein the transaction identifiers of the request packet headers and completion packet headers each include identification of a bus number, a device number, and a function number and a tag value. 
     
     
         21 . The apparatus of  claim 19 , wherein each of the request packet headers and the completion packet header further include an attribute field and determining whether the packet corresponds to one of the outstanding requests further includes comparing values of the attribute fields of the request packet headers with the attribute field of the completion packet header. 
     
     
         22 . The apparatus of  claim 17 , wherein the I/O module is further configured to determine status of the completion. 
     
     
         23 . The apparatus of  claim 22 , wherein the status is one of a group comprising:
 a) successful completion;   b) unsupported request; and   d) completer abort.   
     
     
         24 . The apparatus of  claim 17 , wherein the interconnect comprises at least one of a physical layer to support a Peripheral Component Interconnect Express (PCIe) protocol layer, a physical layer including one or more protocols. 
     
     
         25 . The apparatus of  claim 17 , wherein the interconnect comprises a PCIe-compliant interconnect. 
     
     
         26 . An apparatus comprising:
 a root complex including an I/O module configured to:
 receive a packet from a first device over a point-to-point PCIe-compliant interconnect, wherein the I/O module includes transaction layer logic, link layer logic, and physical layer logic, the packet includes a transaction layer portion, corresponds to a completion of a request in a transaction involving the first device and a second device, and includes a completion header including a format field to identify a format of the header, a type field, a length field, a routing identifier, a completer identifier, a completion status identifier, and an attribute field, wherein the routing identifier is to identify a bus number, a device number, and a function number of the first device that initiated the request and the completer identifier is to identify a bus number, a device number, and a function number of the second device handling the completion. 
   
     
     
         27 . A system comprising:
 a Peripheral Component Interconnect Express (PCIe)-compliant interconnect;   a first device to send a request in a transaction; and   a second device, wherein the second device is communicatively coupled to the first device using the interconnect and the second device is configured to:
 assemble a completion header of a packet of a transaction, wherein the completion header is to include a routing identifier field and a completion status field, wherein the routing identifier field is to identify the first device and a completion status; and 
 send the packet over the interconnect to the first device based at least in part on values of the routing identifier field. 
   
     
     
         28 . The system of  claim 27 , wherein the request includes a packet that includes a transaction layer packet header including a transaction identifier including a requester identifier and a tag. 
     
     
         29 . The system of  claim 28 , wherein the transaction layer packet header of the request further includes a format field, a type field, and a length field. 
     
     
         30 . The system of  claim 27 , wherein the second device comprises a root controller. 
     
     
         31 . The system of  claim 27 , wherein the second device comprises a switch. 
     
     
         32 . The system of  claim 27 , wherein the second device comprises an endpoint device and is further configured to attempt to complete the request. 
     
     
         33 . A method comprising:
 assembling a completion header of a packet of a completion of a request, wherein the completion header is to include a routing identifier field to identify a device associated with the request; and   sending the packet over an interconnect comprising one or more serial point-to-point links, wherein routing of the packet is based at least in part on values of the routing identifier field.   
     
     
         34 . The method of  claim 33 , further comprising completing the request, wherein the packet includes information describing the completion of the request. 
     
     
         35 . The method of  claim 34 , further comprising receiving the request, wherein the request comprises a packet including a header including a transaction identifier including a requester identifier and a tag. 
     
     
         36 . The method of  claim 35 , wherein the transaction layer packet header of the request further includes a format field, a type field, and a length field. 
     
     
         37 . The method of  claim 35 , wherein values of the routing identifier field are based at least in part on values of the transaction identifier. 
     
     
         38 . The method of  claim 33 , wherein the completion header further includes a completion status field.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.