A serial communications architecture for communicating between hosts and
data store devices. The Storage Link architecture is specially adapted to
support communications between multiple hosts and storage devices via a
switching network, such as a storage area network. The Storage Link
architecture specifies various communications techniques that can be
combined to reduce the overall cost and increase the overall performance
of communications. The Storage Link architecture may provide packet
ordering based on packet type, dynamic segmentation of packets,
asymmetric packet ordering, packet nesting, variable-sized packet
headers, and use of out-of-band symbols to transmit control information
as described below in more detail. The Storage Link architecture may also
specify encoding techniques to optimize transitions and to ensure
DC-balance.