Fabric OS Administrator’s Guide 445
53-1001763-02
Buffer credit management 20

Buffer credit management

Buffer-to-buffer credit management affects performance over distances; therefore, allocating a
sufficient number of buffer credits for long-distance traffic is essential to performance. To prevent
a target device (either host or storage) from being overwhelmed with frames, the Fibre Channel
architecture provides flow control mechanisms based on a system of credits.
Each of these credits represents the ability of the device to accept additional frames. If a recipient
issues no credits to the sender, no frames can be sent. Pacing the transport of subsequent frames
on the basis of this credit system helps prevent the loss of frames and reduces the frequency of
entire Fibre Channel sequences needing to be retransmitted across the link.
Because the number of buffer credits available for use within each port group is limited,
configuring buffer credits for extended links may affect the performance of the other ports in the
group used for core-to-edge connections. You must balance the number of long-distance ISL
connections and core-to-edge ISL connections within a switch. Configuring long-distance ISLs
between core and edge switches is possible, but is not a recommended practice.
With the exception of 3xxx series and earlier switches, all switch ports provide protection against
buffer depletion through buffer limiting. A buffer-limited port reserves a minimum of eight buffer
credits, allowing the port to continue to operate rather than being disabled due to a lack of buffers.
The eight buffer minimum allows 4 and 8 Gbps speeds over distances within most data centers.
Buffer-limited operations are supported for the LS and LD extended ISL modes only. For LD,
distance in kilometers is the smaller of the distance measured during port initialization versus the
desired distance value. For LS, distance in kilometers is always the desired distance value.

Buffer-to-Buffer flow control

Buffer-to-Buffer (BB) credit flow control is implemented to limit the amount of data that a port may
send based on the number and size of the frames sent from that port. Buffer credits represent
finite physical port memory. Within a fabric, each port may have a different number of BB credits.
Within a connection, each side may have a different number of BB credits.
Buffer-to-Buffer flow control is flow control between adjacent ports in the I/O path, for example,
transmission control over individual network links. A separate, independent pool of credits is used
to manage Buffer-to-Buffer flow control. Buffer-to-Buffer flow control works by a sending port using
its available credit supply and waiting to have the credits replenished by the port on the opposite
end of the link. These BB credits are used by Class 2 and Class 3 service and rely on the Fibre
Channel Receiver-Ready (R_RDY) control word to be sent by the receiving link port to the sender.
The rate of frame transmission is regulated by the receiving port based on the availability of buffers
to hold received frames.
Upon arrival at a receiver, a frame goes through several steps. It is received, deserialized, decoded,
and is stored in a receive buffer where it is processed by the receiving port. If another frame arrives
while the receiver is processing the first frame, a second receive buffer is needed to hold this new
frame. Unless the receiver is capable of processing frames as fast as the transmitter is capable of
sending them, it is possible for all of the receive buffers to fill up with received frames. At this point,
if the transmitter should send another frame, the receiver will not have a receive buffer available
and the frame will be lost. Buffer-to-Buffer flow control provides consistent and reliable frame
delivery of information from sender to receiver.