Patent ID: 7630384
Filing Date: 2009-12-08
Classification: H04L

Abstract:
1. A method for distributing credit in a fibre channel switch element, comprising: (a) determining if (i) a port for the fibre channel switch element using a plurality of virtual lanes has received a flow control link primitive, R_RDY instead of a VC_RDY, a flow control link primitive used for credit in virtual lanes; and (ii) if the fibre channel switch element has internally generated the primitive, R_RDY for recovering lost credit due to loss of data frames; wherein each virtual lane is identified by an identification number; (b) determining if a first virtual lane from among the plurality of virtual lanes has reached a maximum credit value allocated for the first virtual lane; (c) if the first virtual lane has reached the maximum credit value, iteratively determining if another virtual lane for the port has not reached a maximum allocated credit value; and allocating the recovered lost credit to a virtual lane from among the plurality of virtual lanes that has not reached the maximum allocated credit value; (d) if an R_RDY primitive is not received or generated for credit recovery in step (a); determining if the primitive, VC_RDY indicating that credit is available at a virtual lane at a destination port has been received by the port; (e) determining if the virtual lane identified by the VC_RDY received in step (d) has already reached its maximum allocated credit; and (f) iteratively analyzing each of the remaining plurality of virtual lanes and applying the credit based on the received VC_RDY in step (d) to a virtual lane that has not reached a maximum allocated credit even if a VC_RDY virtual lane identification number indicates that credit be allocated to a different virtual lane.