IP Library › Granted Patent US 11,593,281
Granted Patent B2
US 11,593,281 · App. 16/406,549 · Granted Feb 28, 2023

Device supporting ordered and unordered transaction classes

Inventors: Gregg B. Lesartre (Fort Collins, CO); Derek Alan Sherlock (Fort Collins, CO)
Assignee: Hewlett Packard Enterprise Development LP
G06F13/1642G06F9/462G06F9/466H04L49/254
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,593,281
App. No.
16/406,549
Granted
Feb 28, 2023
Kind
B2
Abstract

A communications device that includes a requester and a responder may support multiple transaction classes, including an ordered transaction class, while maintaining a bifurcated requester/responder architecture. Before a responder has a non-posted transaction response to transmit on an interconnect, it receives an indication from the requester that there is not a pending posted transaction on the interconnect.

Claims (61)

1. A system, comprising:

a requester to support an unordered transaction class and an ordered transaction class; and

a responder to support the unordered class of transactions and the ordered class of transactions; wherein

the requester is to:

select a posted request to a destination from a request queue, wherein the posted request is from the ordered transaction class and the request queue includes a request from the unordered transaction class; and

transmit the posted request to the destination; and

the responder is to:

send transactions of the unordered class independently of transactions of the unordered class sent by the requester;

select a first response to the destination from a response queue, wherein the first response is from the ordered transaction class and the response queue includes a second response from the unordered transaction class;

receive a signal from the requester indicating that the posted request is in flight; and

buffer the first response until receiving a signal from the requester indicating that the posted request is not in flight.

2. The system of claim 1 , wherein:

the responder is further to receive an indication from the requester indicating whether the requester has a pending preceding posted transaction request of the ordered class before sending a non-posted transaction response of the ordered class; and

the requester is further to provide the indication to the responder after receiving an acknowledgement that the pending posted transaction request reached a first destination.

3. The system of claim 1 , wherein:

the responder is to query the requester before sending a non-posted transaction response of the ordered transaction class, and

the indication is in response the query.

4. The system of claim 2 , wherein:

the responder is to delay sending the non-posted transaction response until after the requester does not have any pending preceding posted transaction request of the ordered transaction class for the same destination as the non-posted transaction response.

5. The system of claim 2 , wherein:

the responder is to delay sending the non-posted transaction response until after the responder does not have any pending preceding posted transaction requests of the ordered class.

6. The system of claim 2 , wherein:

the responder is to send acknowledgements to received posted transaction requests of the ordered class, the acknowledgements being sent before the requested posted transactions complete.

7. The system of claim 2 , wherein:

the responder is to send the non-posted transaction response on a separate virtual channel from the posted transaction request.

8. The system of claim 1 , wherein:

the responder is to select responses to send independently of requests selected by the requester to send, and to buffer selected non-posted responses of the ordered transaction class until the indication is received.

9. An apparatus, comprising:

a requester to support an unordered transaction class and an ordered transaction class, comprising:

a request queue;

a request arbiter to select a posted transaction request to a destination from the request queue for transmission, wherein the posted transaction request is of the ordered transaction class and the request queue includes a request from the unordered transaction class;

a request transceiver to transmit the posted transaction request; and

a tracker to track end-to-end traversal of the posted transaction request of the ordered transaction class; and

a responder, comprising:

a response queue;

a response arbiter to select a first transaction response to the destination from the response queue, wherein the first transaction response is of the ordered transaction class and the response queue includes a second transaction response of the unordered transaction class;

an interface to the requester to receive an indication of end-to-end traversal of the posted transaction request from the tracker;

a response transceiver to buffer the first transaction response until the interface receives the indication and, upon receiving the indication, transmit the first transaction response.

10. The apparatus of claim 9 , wherein the responder further comprises:

a buffer to store the transaction response when the transaction response is of the ordered transaction class and the indication indicates that a previous posted transaction request of the ordered transaction class has not completed end-to-end traversal.

11. The apparatus of claim 9 , wherein the responder further comprises:

a buffer to store the transaction response when the transaction response is of the ordered transaction class and the indication indicates that a previous posted transaction request of the ordered transaction class addressed to a same destination node as the selected transaction response has not completed end-to-end traversal.

12. The apparatus of claim 9 , wherein the transceiver is to receive acknowledgements of end-to-end traversals of posted transaction requests of the ordered transaction class.

13. The apparatus of claim 9 , wherein the responder is to transmit an end-to-end traversal acknowledgement to an external requester after receiving a posted transaction request of the ordered transaction class from the external requester.

14. The apparatus of claim 9 , wherein the responder is to transmit the transaction response on a different virtual channel than the request transmitter is to transmit the transaction request.

15. The apparatus of claim 9 , wherein the interface is used to query the tracker to receive the indication before the response arbiter selects a transaction response of the ordered transaction class.

16. The apparatus of claim 9 , wherein the interface is used to query the tracker to receive the indication after the response arbiter selects a transaction response of the ordered transaction class.

17. A method, comprising:

selecting, by a requester, a posted request to a destination from a request queue, the posted request being from an ordered transaction class and the request queue including a request from an unordered transaction class;

transmitting, by the requester, the posted request to the destination;

tracking, by the requester, an in-flight status of the posted request;

selecting, by a responder, a first response to the destination from a response queue, the first response being from the ordered transaction class and the response queue including a second response from the unordered transaction class;

receiving, by the responder, a signal from the requester indicating that the posted request is in flight; and

buffering, by the responder, the first response until the responder receives a signal from the requester indicating that the posted request is not in flight.

18. The method of claim 17 , further comprising:

selecting, by the responder, the first response from the response queue independently of the requester selecting the posted request from the request queue.

19. The method of claim 17 , further comprising:

receiving, by the requester, an acknowledgement from the destination and, in response, updating the in-flight status of the posted request.

20. The method of claim 17 , further comprising:

in response to selecting the first response, querying, by the responder, the requester to determine if there is an in-flight posted request of the ordered transaction class to the destination; and

in response to the responder querying the requester, receiving, by the responder, the signal.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2019
From: LESARTRE, GREGG B.; SHERLOCK, DEREK ALAN
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 049116/0328 →
Continuity (1)
Related Publication 20200356497A1 · Nov 12, 2020