In buffer-credit flow control, the source and destination set the number of unacknowledged frames (buffer credits) allowed to accumulate before the source stops sending data. This is a power of 2, such as 4, 8 or 16. In some SANs it can range higher, but it is rare to have more than 256 buffer credits because of cost constraints. A counter at the source keeps track of the number of buffer credits. Each time a frame is sent by the source, the counter increments by 1. Each time the destination receives a frame, it sends an acknowledgment back to the source, which decrements the counter by 1. If the number of buffer credits reaches the maximum, the source stops transmission until it receives the next acknowledgement from the destination. This prevents loss of frames that may result if the source races too far ahead of the destination.
As the length of a fiber optic cable span increases for a given throughput, the number of buffer credits required to ensure optimum performance increases in direct proportion. Also, as the throughput increases for a given span of fiber optic cable, the required number of buffer credits increases in direct proportion.
Storage area networks with large buffers, or other methods of storage distance extension, are expected to become increasingly common as the demand for long-distance, high-volume, high-speed offsite storage increases.
Return to the SAN pop quiz.
Definition courtesy of WhatIs.com.
This was first published in October 2007