Programmable pseudo virtual lanes for fibre channel systems
First Claim
1. A switch element having a plurality of ports, each port having a receive segment and a transmit segment for routing frames, comprising:
- a plurality of pseudo virtual lanes (PVLs) for transmitting frames, where each PVL is assigned a configurable initial priority for transmitting frames when credit is available at a receive segment of another port for receiving a frame;
a first storage module for storing a configurable threshold value for each PVL that determines a number of credits that are allocated for each PVL before credit allocation for the PVL is modified;
a second storage module for storing a configurable maximum credit value assigned to each of the PVL and at any given time, credit is assigned to a PVL if the maximum credit value has not been reached;
a credit monitoring module for monitoring the threshold value and the maximum credit value for modifying a priority of the plurality of PVLs when credit is received for transmitting a frame;
a timer module that monitors frame traffic for each PVL and if a PVL stops transmitting frames beyond a certain programmable duration, then an indicator is set indicating that the PVL is congested so that priority for the congested PVL can be lowered; and
a minimum bandwidth module for providing a minimum bandwidth level for all the PVLs, which when enabled, bypasses credit assignment for the plurality of PVLs based on assigned priority, and instead assigns available credit to a PVL that was a last PVL to have been assigned credit.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and switch element for assigning priority to pseudo virtual lanes (“PVL”) using a fibre channel switch element is provided. The method includes, assigning received R_RDYs based on a PVL distribution scheme; and determining traffic congestion on a PVL if there is no credit available to transfer frames from the PVL. A minimum bandwidth feature is enabled to avoid lower priority PVLs from getting no credit for transmitting frames; and distributing credit and R_RDYs based on frame age bits, wherein a lower priority PVL gets credit if a frame is waiting in the PVL for a longer duration compared to a higher priority PVL. The switch element includes, a PVL module having credit counters for plural PVLs; and a timer that monitors frame traffic for each PVL lane. If a PVL gets congested, then a state machine adjusts priority of R_RDY distribution scheme of other PVLs to transmit frames.
190 Citations
19 Claims
-
1. A switch element having a plurality of ports, each port having a receive segment and a transmit segment for routing frames, comprising:
-
a plurality of pseudo virtual lanes (PVLs) for transmitting frames, where each PVL is assigned a configurable initial priority for transmitting frames when credit is available at a receive segment of another port for receiving a frame; a first storage module for storing a configurable threshold value for each PVL that determines a number of credits that are allocated for each PVL before credit allocation for the PVL is modified; a second storage module for storing a configurable maximum credit value assigned to each of the PVL and at any given time, credit is assigned to a PVL if the maximum credit value has not been reached; a credit monitoring module for monitoring the threshold value and the maximum credit value for modifying a priority of the plurality of PVLs when credit is received for transmitting a frame; a timer module that monitors frame traffic for each PVL and if a PVL stops transmitting frames beyond a certain programmable duration, then an indicator is set indicating that the PVL is congested so that priority for the congested PVL can be lowered; and a minimum bandwidth module for providing a minimum bandwidth level for all the PVLs, which when enabled, bypasses credit assignment for the plurality of PVLs based on assigned priority, and instead assigns available credit to a PVL that was a last PVL to have been assigned credit. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
a first switch element enabled for using a plurality of pseudo virtual lanes (PVLs) for transmitting frames; and a second switch element communicating with the first switch element without using PVLs;
wherein the first switch element comprises;a first storage module for storing a configurable threshold value for each PVL that determines a number of credits that are allocated for each PVL before credit allocation for the PVL is modified; a second storage module for storing a configurable maximum credit value assigned to each of the PVL and at any given time, credit is assigned to a PVL if the maximum credit value has not been reached; a credit monitoring module for monitoring the threshold value and the maximum credit value for modifying a priority of the plurality of PVLs when credit is received for transmitting a frame; a timer module that monitors frame traffic for each PVL and if a PVL stops transmitting frames beyond a certain programmable duration, then an indicator is set indicating that the PVL is congested such that priority for the congested PVL can be lowered; and a minimum bandwidth module for providing a minimum bandwidth level for all the PVLs, which when enabled, bypasses credit assignment for the plurality of PVLs based on assigned priority, and instead assigns available credit to a PVL that was a last PVL to have been assigned credit. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A switch element having a plurality of ports, each port having a receive segment and a transmit segment for routing frames, comprising:
-
a plurality of pseudo virtual lanes (PVLs) for transmitting frames, each PVL assigned a configurable initial priority for transmitting frames when credit is available at a receive segment of another port for receiving a frame;
wherein as a default, a PVL with a highest priority is granted available credit until credit assigned to the highest priority PVL within a given duration reaches a maximum credit value;a timer module for monitoring frame traffic for each PVL and if a PVL stops transmitting frames beyond a certain programmable duration, then an indicator is set indicating that the PVL is congested so that priority for the congested PVL can be lowered; and a minimum bandwidth module for providing a minimum bandwidth level for all the PVLs;
wherein the bandwidth module is enabled when congestion for the PVL is not relieved within a programmable duration and when enabled, available credit is allocated to a PVL that was a last PVL to have been assigned credit, instead of allocating credit based on assigned PVL priority. - View Dependent Claims (16, 17, 18, 19)
-
Specification