Flow control timeout mechanism to detect pci-express forward progress blockage
AssigneeSun Microsystems, Inc.
InventorJohn R. Feehrer
Life of this patent
Estimating the term…
Abstract
A method for detecting lack of forward progress in a PCI Express includes a step in which a data flow measurement is received or performed. This data flow measurement provides the capacity of the connected Switch or Endpoint device to receive data packets from a Root Complex transmit channel. An error is logged when the data flow measurement does not substantially change in a predetermined period of time. A recovery protocol is executed after logging of the error. A system implementing the method of the invention is also provided.
Claims19
A method for detecting lack of forward progress in a system having a Root Complex utilizing a PCI Express interface for communicating with a connected Switch or Endpoint device, the method comprising:
- a) receiving or performing a data flow measurement, the data flow measurement providing the capacity of the connected Switch or Endpoint device to receive data packets from a Root Complex transmit channel;
- b) logging an error when the data flow measurement does not substantially change in a predetermined period of time;
- and
- c) executing a recovery protocol after logging of the error in step b).
A PCI Express module comprising:
- a receive buffer for receiving Transaction Layer Packets (“TLPs”) from a connected upstream device;
- a transmit buffer for transmitting TLPs to a connected downstream device;
- a PCI Express controller for providing TLPs to the transmit buffer and for processing TLPs received into the receive buffer;
- a dual simplex PCI Express link in communication with the transmit buffer and a connected downstream device, the dual simplex PCI express link having a receive channel and a transmit channel;
- a capacity module for providing information about the capacity of the PCI Express module to receive data;
- a timeout module operable to receiving data flow information from the connected downstream device regarding a data flow measurement of the connected downstream device's capacity to receive data packets from the transmit buffer, the timeout module logging an error when the data flow measurement does not change after predetermined period of time.
Dependencies are inferred from the claim text.