Transceiver system with end-to-end reliability and ordering protocols
AssigneeNVIDIA Corporation
InventorsHans Eberle, Larry Robert Dennison, John Martin Snyder
Life of this patent
Estimating the term…
Abstract
Packet flows between a transmitter and a receiver in an unreliable and unordered switched packet network may be established as a result of receiving a second packet comprising a second memory operation on a memory address. The transmission of memory load command packets followed by memory store command packets in the packet flow may be serialized, and a synchronization operation may be executed between the transmitter and the receiver when a packet count at the receiver satisfies a number of data packets in the packet flow.
Claims22
A transceiver for an unreliable and unordered switched packet network, the transceiver comprising:
- a transmitter;
- a receiver coupled to the transmitter over the switched packet network;
- logic to:
- at the transmitter, determine a first condition of whether a dependency exists between an un-transmitted packet and one or more already transmitted and outstanding packets;
- at the transmitter, on condition that the first condition is satisfied, mark the un-transmitted packet with a same identifier and a next sequence number as the one or more outstanding packets;
- and
- at the receiver, determine a second condition of whether a second packet is received comprising the same identifier and a different sequence numbers as a previously received packet;
- and
- at the receiver, on condition that the second condition is satisfied, establish a packet flow with the transmitter.
A method of establishing a packet flow in an unreliable and unordered switched packet network, the method comprising:
- determining at a transmitter that an unsent memory access packet to transmit specifies access to a same memory address as is specified by an outstanding memory access packet, and as a result marking the unsent memory access packet with a same transaction id as, and a later sequence number than, the outstanding memory access packet;
- and
- at a receiver, detecting that a recorded packet and a second packet received after the recorded packet have a same transaction id but different sequence numbers, and as a result to establish the packet flow by assigning the recorded packet and the second packet to a same packet flow.
A method of establishing a packet flow between a transmitter and a receiver in an unreliable and unordered switched packet network, the method comprising:
- communicating from the transmitter to the receiver, with a first priority, a first packet of the packet flow;
- communicating from the transmitter to the receiver, with a second priority higher than the first priority, a second packet of the packet flow;
- subsequent to the second packet, communicating from the transmitter to the receiver, with the first priority, additional packets of the packet flow;
- and
- upon and as a result of receiving the second packet at the receiver, establishing the existence of the packet flow at the receiver, such that the additional packets of the packet flow are identified as belonging to the packet flow.
A method of establishing a packet flow between a transmitter and a receiver in an unreliable and unordered switched packet network, the method comprising:
- communicating from the transmitter to the receiver, with a first priority, an initial packet of the packet flow;
- communicating from the transmitter to the receiver, with a second priority higher than the first priority, a next packet of the packet flow following the initial packet;
- subsequent to the next packet, communicating from the transmitter to the receiver, with the first priority, additional packets of the packet flow;
- and
- upon and as a result of receiving the next packet at the receiver, establishing the existence of the packet flow at the receiver, such that the additional packets of the packet flow are identified as belonging to the packet flow to establish.
Dependencies are inferred from the claim text.