Dynamic end to end retransmit apparatus and method
AssigneeHewlett-Packard Development Company, L.P.
InventorDebendra Das Sharma
Life of this patent
Estimating the term…
Abstract
A dynamic end to end retry apparatus and method uses the concept of transaction identification numbers combined with a path number and flow control class to uniquely account for all transactions in a multi-processor computer system. The apparatus and method ensure there are no duplicate transactions through the use of special probe and plunge transactions and their respective responses. The apparatus and method also allow for any number of alternate paths being active simultaneously, such that if one path fails, the remaining alternate paths can continue on the communication (along with the backup alternate path if desired) as usual without any loss of transactions.
Claims21
A method for dynamic retransmission of transactions in a multi-processor computer architecture, comprising:
- at a source node in the computer architecture, the source node comprising a retransmit buffer, designating a transaction for transmission to a destination node in the computer architecture, the destination node comprising a receive buffer, wherein the transaction is designated for transmission over a first path in a first flow control class;
- retrieving a transaction identification (TID) for the designated transaction;
- comparing the retrieved TID for the designated transaction to TIDs in the retransmit buffer, wherein if the comparison does not show a match:
- attaching the retrieved TID to the designated transaction,
- placing the designated transaction in the retransmit buffer, and
- sending the designated transaction to the destination node;
- and
- wherein if the comparison shows a match, transmitting the designated transaction over a second path.
An apparatus for retransmission of transactions in a multi-processor computer architecture, comprising:
- a source node having a retransmit buffer, wherein the source node stores transactions transmitted from the source node;
- a send_TID table comprising a transaction identification (TID) for each transaction sent from the source node;
- a destination node comprising a receive buffer, wherein the destination node stores transactions transmitted from the destination node;
- a receive_TID table comprising a TID for each transaction sent from the destination node, wherein the source node sends normal transactions to the destination node and the destination node sends acknowledgements for the normal transactions to the source node, wherein if the source node does not receive an acknowledgement within a specified time, a corresponding normal transaction in the retransmit buffer times out;
- and
- a probe transaction, whereby the source node queries the destination node for a timed-out transaction.
Dependencies are inferred from the claim text.