Fiber channel switch employing distributed queuing
First Claim
1. A fibre channel switch for interconnecting a plurality of devices, each device having a node port, such that frames of data originating from a source port having a source node port may be transferred through the fibre channel switch to a destination device having a destination node port in accordance with a distributed source and destination queuing algorithm, comprising:
- a plurality of fabric ports, each fabric port coupled to a different device through corresponding source or destination node port,a plurality of port controllers, each port controller located on a different fabric port, each port controller further comprising the distributed source and destination queuing algorithm for queuing frames sourced or destined from a device, or to, itself, and wherein, each port controller operates independently of the queuing of frames by any other port controller,a control network for communicating timing and destination commands between each port controller corresponding to when and where frame transfers are to be made,a bit-sliced shared memory having a common pool of memory buffers,a shared memory controller coupled to each port controller, for bit-slicing data and memory addresses being transmitted between the port controllers and the shared memory, wherein data and destination addresses are transferred to and from the shared memory, the bit-sliced shared memory being coupled to each fabric port through the shared memory controller, wherein each fabric port can access the shared memory directly.
6 Assignments
0 Petitions
Accused Products
Abstract
The present invention is a fiber channel switch employing a distributed queuing algorithm for interconnecting a plurality of devices (workstations, supercomputer, peripherals) through their associated node ports (N-- ports) and employs a fabric having a shared memory coupled to a plurality of fabric ports (F-- ports) through a bi-directional bus over which memory addresses, frame data and communications commands are transmitted. Each F-- port includes a port controller employing a distributed queuing algorithm associated with a control network for communicating commands between the ports related to when and where frame transfers should be made, wherein the bi-directional bus provides an independent data network for access to the shared memory such that frames can be transferred to and from the shared memory in response to port controller commands.
-
Citations
20 Claims
-
1. A fibre channel switch for interconnecting a plurality of devices, each device having a node port, such that frames of data originating from a source port having a source node port may be transferred through the fibre channel switch to a destination device having a destination node port in accordance with a distributed source and destination queuing algorithm, comprising:
-
a plurality of fabric ports, each fabric port coupled to a different device through corresponding source or destination node port, a plurality of port controllers, each port controller located on a different fabric port, each port controller further comprising the distributed source and destination queuing algorithm for queuing frames sourced or destined from a device, or to, itself, and wherein, each port controller operates independently of the queuing of frames by any other port controller, a control network for communicating timing and destination commands between each port controller corresponding to when and where frame transfers are to be made, a bit-sliced shared memory having a common pool of memory buffers, a shared memory controller coupled to each port controller, for bit-slicing data and memory addresses being transmitted between the port controllers and the shared memory, wherein data and destination addresses are transferred to and from the shared memory, the bit-sliced shared memory being coupled to each fabric port through the shared memory controller, wherein each fabric port can access the shared memory directly. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of switching data frames, each data frame having a frame beginning, in a network having a plurality of ports and a central memory including a plurality of memory modules, the method comprising:
-
receiving a data frame at a first port; determining a destination port; striping the data frame across the plurality of memory modules in the central memory; generating a message indicating which memory module of the plurality of memory modules stores the beginning of the frame; and sending the message to the destination port. - View Dependent Claims (18, 19)
-
-
20. A method of switching data frames, each data frame having a frame beginning, in a network having a plurality of ports and a central memory including a plurality of memory modules, the method comprising:
-
receiving a data frame at a first port; determining a destination port; bit-slicing the data frame across the plurality of memory modules in the central memory; generating a buffer descriptor indicating which memory module of the plurality of memory modules stores the beginning of the bit-sliced data frame; sending the buffer descriptor to the destination port; and sending the bit-sliced data frame from the plurality of memory modules to the destination port.
-
Specification