1. Field
This invention relates to connections over channel-based switched fabrics, and more specifically to flow control of transmissions over channel-based switched fabrics.
2. Background
Computer systems may have various types of architectures. In bus based systems host units, (e.g., processors) communicate across a bus to other units such as I/O controllers, other processors, etc. However, due to physical and electrical load limitations, only a small number of I/O controllers may be attached to a bus at any one time, and may need to be physically located within the same proximity as a processor. A switched fabric system offers advantages to a bus based computer system in that many processors and I/O controllers may be directly connected to the fabric which provides channels for communication between the various devices that are interconnected across the switched fabric. A switched fabric connection allows the various devices to perform remote direct memory access (RDMA) transfers between the various devices connected to the switched fabric.
There are different types of connections that may be established across a channel-based switched fabric. These include reliable connections and unreliable connections. There currently exists for LAN (Local Area Network) devices, TCP/IP protocols for reliable delivery which may include flow control across the networks. However, these protocols generally have been designed around a switched fabric that is unreliable. For example, the fabric can be very lossy, or may have several collisions between data across the fabric. This results in the various devices having to do several retries to successfully transfer information across the fabric. A channel-based switched fabric may provide reliable communications across the fabric in which case there may be a guarantee that the message transferred will successfully arrive at the other end. However, there must be some guarantee that there is also a receive buffer available and ready at the receive end to receive the message being transmitted to it. If a message is sent across the channel- based switched fabric to a target whereby there is no receive buffer waiting at the target to receive the message, an error message may be generated by the target.