Patent US6160813A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6160813A Expired / Lapsed US ⏱️ 0.0 years remaining

Fibre channel switching system and method

Assignee: Brocade Communications Systems LLC
•
Filing: 1997-03-21
•
Granted: 2000-12-12
•
Expires: 2017-03-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A modular Fibre Channel switch includes a data switching path and a message switching path to provide logical point to point connections between switch ports. The data switching path includes a bank of shared SRAM memory devices that are accessed in a time-sliced protocol by each switch port. A receiving switch port writes a data frame to the bank of shared SRAM and the transmitting switch port then reads the data frame from the shared SRAM thereby effecting the logical point to point connection. Because the switch port includes a frame logic circuit that allows for an arbitrary start of frame address, each frame can be written to the first available DRAM device thus eliminating the need to buffer the data frame while waiting for a predetermined DRAM device to cycle in the time sliced protocol. The message switching path includes a message crossbar switch that is barrel shifted in a time sliced fashion to effect message passing among the switch ports. The switch includes a motherboard containing an embedded G-Port ASIC, a message crossbar switch to handle message passing and shared memory that is used to perform data switching. The switch also includes a central processing unit daughter board and external switch port daughter boards.

Inventors

  • 👤 David C. Banks
  • 👤 Steven L. Farnworth
  • 👤 Bent Stoevhase
  • 👤 Paul Ramsay

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 02:14
CPC Classifications
H; H04; H04L; H04L49/00; H04L49/35; H04L49/356; H04L49/357; H04L12/00; H04L12/28; H04L12/40; H04L12/407; H04L12/413; H04L49/10; H04L49/101; H04L49/20; H04L49/201; H04L49/205; H04L49/25; H04L49/253; H04L49/254; H04L49/351

Claims Analysis

Total Claims: 34
Claim 1
Independent Claim 166 words
A network switching system having a plurality of ports for switching data from a first port to a second port, comprising: a message path including: a crossbar switch having a plurality of connectivity states coupled to each port; and a message controller coupled to each port and to the crossbar switch to control access to the crossbar switch; and a data path including: a central memory including a plurality of memory modules coupled to each port; and a memory access controller coupled to each port for controlling access of the plurality of memory modules by the ports, wherein the memory access controller includes: a counting circuit having a count output and a control input; an index pulse generator having a pulsed output coupled to the control input of the counter; a register storing a port number; and a processing circuit having a first input coupled to the counting circuit and a second input coupled to the register and having an output indicating a memory module offset.
Claim 2
Dependent Claim 166 words
A network switching system having a plurality of ports for switching data from a first port to a second port, comprising: a message path including: a crossbar switch having a plurality of connectivity states coupled to each port; and a message controller coupled to each port and to the crossbar switch to control access to the crossbar switch; and a data path including: a central memory including a plurality of memory modules coupled to each port; and a memory access controller coupled to each port for controlling access of the plurality of memory modules by the ports, wherein the memory access controller includes: a counting circuit having a count output and a control input; an index pulse generator having a pulsed output coupled to the control input of the counter; a register storing a port number; and a processing circuit having a first input coupled to the counting circuit and a second input coupled to the register and having an output indicating a memory module offset.
Claim 3
Dependent Claim 153 words
A network switching system having a plurality of ports for switching data from a first port to a second port, comprising: a message path including: a crossbar switch having a plurality of connectivity states coupled to each port; and a message controller coupled to each port and to the crossbar switch to control access to the crossbar switch; wherein the message controller includes: a counting circuit having a count output and a control input; an index pulse generator having a pulsed output coupled to the control input of the counter; and a processing circuit having a first input coupled to the counting circuit and an output indicating the connectivity state of the crossbar switch; and a data path including: a central memory including a plurality of memory modules coupled to each port; and a memory access controller coupled to each port for controlling access of the plurality of memory modules by the ports.
Claim 4
Dependent Claim 153 words
A network switching system having a plurality of ports for switching data from a first port to a second port, comprising: a message path including: a crossbar switch having a plurality of connectivity states coupled to each port; and a message controller coupled to each port and to the crossbar switch to control access to the crossbar switch; wherein the message controller includes: a counting circuit having a count output and a control input; an index pulse generator having a pulsed output coupled to the control input of the counter; and a processing circuit having a first input coupled to the counting circuit and an output indicating the connectivity state of the crossbar switch; and a data path including: a central memory including a plurality of memory modules coupled to each port; and a memory access controller coupled to each port for controlling access of the plurality of memory modules by the ports.
Claim 5
Dependent Claim 162 words
A network switching system for temporarily storing a data frame received at a receive port of a plurality of fiber optic ports, the system comprising: a central memory comprising: a plurality of memory modules; and a scratch area; a data path control circuit for sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module; and a port circuitry which, responsive to a data frame being available for writing to the memory module, writes a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules when the data frame is available; and responsive to no data frame being available for writing to the memory module, writes to the scratch area during the timeslot allocated for writing from the receive port to one of the memory modules.
Claim 6
Dependent Claim 162 words
A network switching system for temporarily storing a data frame received at a receive port of a plurality of fiber optic ports, the system comprising: a central memory comprising: a plurality of memory modules; and a scratch area; a data path control circuit for sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module; and a port circuitry which, responsive to a data frame being available for writing to the memory module, writes a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules when the data frame is available; and responsive to no data frame being available for writing to the memory module, writes to the scratch area during the timeslot allocated for writing from the receive port to one of the memory modules.
Claim 7
Dependent Claim 134 words
A network switching system for temporarily storing a data frame received at a receive port of a plurality of fiber optic ports, the system comprising: a central memory including a plurality of memory modules; a data path control circuit for sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module, wherein the data path control circuit couples the receive port to the memory modules frequently enough to support continuous writing of data from the receive port to the central memory; and a port circuitry for writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules.
Claim 8
Dependent Claim 134 words
A network switching system for temporarily storing a data frame received at a receive port of a plurality of fiber optic ports, the system comprising: a central memory including a plurality of memory modules; a data path control circuit for sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module, wherein the data path control circuit couples the receive port to the memory modules frequently enough to support continuous writing of data from the receive port to the central memory; and a port circuitry for writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules.
Claim 9
Dependent Claim 106 words
A network switching system for temporarily storing a data frame received at a receive port of a plurality of fiber optic ports, the system comprising: a central memory including a plurality of memory modules; a data path control circuit for sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module; and a port circuitry for writing a first portion of the data frame to a first memory module during a first available timeslot; and further for writing the remaining portions of the data frame to other memory modules during subsequent timeslots.
Claim 10
Dependent Claim 106 words
A network switching system for temporarily storing a data frame received at a receive port of a plurality of fiber optic ports, the system comprising: a central memory including a plurality of memory modules; a data path control circuit for sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module; and a port circuitry for writing a first portion of the data frame to a first memory module during a first available timeslot; and further for writing the remaining portions of the data frame to other memory modules during subsequent timeslots.
Claim 11
Dependent Claim 200 words
A network switching system for temporarily storing a data frame received at a receive port of a plurality of fiber optic ports, the system comprising: a central memory including a plurality of memory modules; a data path control circuit for sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module; and sequentially coupling the transmit port to ones of the memory modules during a timeslot allocated for reading from the memory module to the transmit port; and a port circuitry for writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules, wherein for each memory module the timeslots allocated for writing to the memory module are contiguous in time; and reading a portion of the data frame from the individual memory modules to the transmit port during the timeslot allocate for such reading, wherein the data frame is read to the transmit port, wherein for each memory module the timeslots allocated for reading from the memory module are contiguous in time.
Claim 12
Dependent Claim 200 words
A network switching system for temporarily storing a data frame received at a receive port of a plurality of fiber optic ports, the system comprising: a central memory including a plurality of memory modules; a data path control circuit for sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module; and sequentially coupling the transmit port to ones of the memory modules during a timeslot allocated for reading from the memory module to the transmit port; and a port circuitry for writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules, wherein for each memory module the timeslots allocated for writing to the memory module are contiguous in time; and reading a portion of the data frame from the individual memory modules to the transmit port during the timeslot allocate for such reading, wherein the data frame is read to the transmit port, wherein for each memory module the timeslots allocated for reading from the memory module are contiguous in time.
Claim 13
Dependent Claim 25 words
The system of claim 6 wherein the contiguous timeslots allocated for writing are separated from the timeslots allocated for reading by at least one timeslot.
Claim 14
Dependent Claim 142 words
A network switching system for retrieving a temporarily stored data frame destined for a transmit port of a plurality of fiber optic ports, the system comprising: a central memory including a plurality of memory modules for storing a data frame across the memory modules; a data path control circuit for sequentially coupling the transmit port to ones of the memory modules during a timeslot allocated for reading from the memory module to the transmit port, wherein the data path control circuit couples the transmit port to the memory modules frequently enough to support continuous reading of data from the central memory to the transmit port; and a port circuitry for reading a portion of the data frame from the memory module to the transmit port during the timeslot allocated for such reading, wherein the data frame is read to the transmit port.
Claim 15
Dependent Claim 142 words
A network switching system for retrieving a temporarily stored data frame destined for a transmit port of a plurality of fiber optic ports, the system comprising: a central memory including a plurality of memory modules for storing a data frame across the memory modules; a data path control circuit for sequentially coupling the transmit port to ones of the memory modules during a timeslot allocated for reading from the memory module to the transmit port, wherein the data path control circuit couples the transmit port to the memory modules frequently enough to support continuous reading of data from the central memory to the transmit port; and a port circuitry for reading a portion of the data frame from the memory module to the transmit port during the timeslot allocated for such reading, wherein the data frame is read to the transmit port.
Claim 16
Dependent Claim 293 words
A network switching system for switching a data frame from a receive port of a plurality of fiber optic ports to a transmit port of the plurality of fiber optic ports, the system comprising: a central memory including a plurality of memory modules, and wherein the central memory is subdivided into a plurality of frame buffers, each frame buffer including a portion of each memory module; a data path control circuit for sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module and further for sequentially coupling the transmit port to ones of the memory modules during a timeslot allocated for reading from the memory module to the transmit port, wherein the data path control circuit couples each port to each memory module in a regular sequence for writing to the memory module and couples each port to each memory module in a regular sequence for reading from the memory module, all of the timeslots being of equal duration; a receive port circuitry for writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written to one of the frame buffers; a message path for sending a message from the receive port to the transmit port indicating availability of the data frame in the central memory; and a transmit port circuitry for, responsive to receipt of the message indicating availability of the data frame, reading the portions of the data frame from the ones of the memory modules to the transmit port during the timeslot allocated for such reading, wherein the data frame is read to the transmit port.
Claim 17
Dependent Claim 293 words
A network switching system for switching a data frame from a receive port of a plurality of fiber optic ports to a transmit port of the plurality of fiber optic ports, the system comprising: a central memory including a plurality of memory modules, and wherein the central memory is subdivided into a plurality of frame buffers, each frame buffer including a portion of each memory module; a data path control circuit for sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module and further for sequentially coupling the transmit port to ones of the memory modules during a timeslot allocated for reading from the memory module to the transmit port, wherein the data path control circuit couples each port to each memory module in a regular sequence for writing to the memory module and couples each port to each memory module in a regular sequence for reading from the memory module, all of the timeslots being of equal duration; a receive port circuitry for writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written to one of the frame buffers; a message path for sending a message from the receive port to the transmit port indicating availability of the data frame in the central memory; and a transmit port circuitry for, responsive to receipt of the message indicating availability of the data frame, reading the portions of the data frame from the ones of the memory modules to the transmit port during the timeslot allocated for such reading, wherein the data frame is read to the transmit port.
Claim 18
Dependent Claim 60 words
The system of claim 9 wherein: a first portion of the data frame is written to a first memory module during a first available timeslot; the remaining portions of the data frame are written to other memory modules during subsequent timeslots; and the message identifies the first memory module and the frame buffer to which the data frame is written.
Claim 19
Dependent Claim 60 words
The system of claim 9 wherein the data path control circuit couples the receive port to the memory modules frequently enough to support continuous writing of data from the receive port to the central memory and couples the transmit port to the memory modules frequently enough to support continuous reading of data from the central memory to the transmit port.
Claim 20
Dependent Claim 149 words
In a network switching system comprising a plurality of fiber optic ports; and a central memory including a plurality of memory modules, a method for temporarily storing a data frame comprising: receiving a data frame at a receive port of the plurality of ports; sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module; and writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules; designating a portion of the central memory as a scratch area; and writing to the scratch area during the timeslot allocated for writing from the receive port to one of the memory modules when no data frame is available for writing to the memory module.
Claim 21
Dependent Claim 149 words
In a network switching system comprising a plurality of fiber optic ports; and a central memory including a plurality of memory modules, a method for temporarily storing a data frame comprising: receiving a data frame at a receive port of the plurality of ports; sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module; and writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules; designating a portion of the central memory as a scratch area; and writing to the scratch area during the timeslot allocated for writing from the receive port to one of the memory modules when no data frame is available for writing to the memory module.
Claim 22
Dependent Claim 130 words
In a network switching system comprising a plurality of fiber optic ports; and a central memory including a plurality of memory modules, a method for temporarily storing a data frame comprising: receiving a data frame at a receive port of the plurality of ports; sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module, wherein the receive port is coupled to the memory modules frequently enough to support continuous writing of data from the receive port to the central memory; and writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules.
Claim 23
Dependent Claim 130 words
In a network switching system comprising a plurality of fiber optic ports; and a central memory including a plurality of memory modules, a method for temporarily storing a data frame comprising: receiving a data frame at a receive port of the plurality of ports; sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module, wherein the receive port is coupled to the memory modules frequently enough to support continuous writing of data from the receive port to the central memory; and writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules.
Claim 24
Dependent Claim 139 words
In a network switching system comprising a plurality of fiber optic ports; and a central memory including a plurality of memory modules, a method for temporarily storing a data frame comprising: receiving a data frame at a receive port of the plurality of ports; sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module; and writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules, comprising: writing a first portion of the data frame to a first memory module during a first available timeslot; and writing the remaining portions of the data frame to other memory modules during subsequent timeslots.
Claim 25
Dependent Claim 139 words
In a network switching system comprising a plurality of fiber optic ports; and a central memory including a plurality of memory modules, a method for temporarily storing a data frame comprising: receiving a data frame at a receive port of the plurality of ports; sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module; and writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules, comprising: writing a first portion of the data frame to a first memory module during a first available timeslot; and writing the remaining portions of the data frame to other memory modules during subsequent timeslots.
Claim 26
Dependent Claim 205 words
In a network switching system comprising a plurality of fiber optic ports; and a central memory including a plurality of memory modules, a method for temporarily storing a data frame comprising: receiving a data frame at a receive port of the plurality of ports; sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module; writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules, and wherein, for each memory module the timeslots allocated for writing to the memory module are contiguous in time; sequentially coupling a transmit port of the plurality of ports to ones of the memory modules during a timeslot allocated for reading from the memory module to the transmit port; and reading a portion of the data frame from the individual memory modules to the transmit port during the timeslot allocated for such reading, wherein the data frame is read to the transmit port, and wherein, for each memory module, the timeslots allocated for reading from the memory module are contiguous in time.
Claim 27
Dependent Claim 205 words
In a network switching system comprising a plurality of fiber optic ports; and a central memory including a plurality of memory modules, a method for temporarily storing a data frame comprising: receiving a data frame at a receive port of the plurality of ports; sequentially coupling the receive port to ones of the memory modules during a timeslot allocated for writing from the receive port to the memory module; writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written across the memory modules, and wherein, for each memory module the timeslots allocated for writing to the memory module are contiguous in time; sequentially coupling a transmit port of the plurality of ports to ones of the memory modules during a timeslot allocated for reading from the memory module to the transmit port; and reading a portion of the data frame from the individual memory modules to the transmit port during the timeslot allocated for such reading, wherein the data frame is read to the transmit port, and wherein, for each memory module, the timeslots allocated for reading from the memory module are contiguous in time.
Claim 28
Dependent Claim 25 words
The method of claim 15 wherein the contiguous timeslots allocated for writing are separated from the timeslots allocated for reading by at least one timeslot.
Claim 29
Dependent Claim 98 words
In a network switching system comprising a plurality of fiber optic ports; and a central memory including a plurality of memory modules, a method for retrieving a data frame temporarily stored across the memory modules, the method comprising: sequentially coupling a transmit port to ones of the memory modules frequently enough to support continuous reading of data from the central memory to the transmit port; and reading a portion of the data frame from the memory module to the transmit port during the timeslot allocated for such reading, wherein the data frame is read to the transmit port.
Claim 30
Dependent Claim 98 words
In a network switching system comprising a plurality of fiber optic ports; and a central memory including a plurality of memory modules, a method for retrieving a data frame temporarily stored across the memory modules, the method comprising: sequentially coupling a transmit port to ones of the memory modules frequently enough to support continuous reading of data from the central memory to the transmit port; and reading a portion of the data frame from the memory module to the transmit port during the timeslot allocated for such reading, wherein the data frame is read to the transmit port.
Claim 31
Dependent Claim 250 words
In a network switching system comprising a plurality of fiber optic ports, and a central memory comprising a plurality of memory modules, a method for switching a data frame from a receive port of the plurality of ports to a transmit port of the plurality of ports, the method comprising: subdividing the central memory into a plurality of frame buffers, each frame buffer including a portion of each memory module; receiving a data frame at a receive port; sequentially coupling the receive port to ones of the memory modules in a regular sequence, during a timeslot allocated for writing from the receive port to the memory module; writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written to one of the frame buffers; sending a message from the receive port to the transmit port indicating availability of the data frame in the central memory; sequentially coupling the transmit port to ones of the memory modules in a regular sequence, during a timeslot allocated for reading from the memory module to the transmit port; responsive to receipt of the message indicating availability of the data frame, reading the portions of the data frame from the ones of the memory modules to the transmit port during the timeslot allocated for such reading, wherein the data frame is read to the transmit port; and wherein all of the timeslots are of equal duration.
Claim 32
Dependent Claim 250 words
In a network switching system comprising a plurality of fiber optic ports, and a central memory comprising a plurality of memory modules, a method for switching a data frame from a receive port of the plurality of ports to a transmit port of the plurality of ports, the method comprising: subdividing the central memory into a plurality of frame buffers, each frame buffer including a portion of each memory module; receiving a data frame at a receive port; sequentially coupling the receive port to ones of the memory modules in a regular sequence, during a timeslot allocated for writing from the receive port to the memory module; writing a portion of the data frame from the receive port to ones of the memory modules during the timeslot allocated for such writing, wherein the data frame is written to one of the frame buffers; sending a message from the receive port to the transmit port indicating availability of the data frame in the central memory; sequentially coupling the transmit port to ones of the memory modules in a regular sequence, during a timeslot allocated for reading from the memory module to the transmit port; responsive to receipt of the message indicating availability of the data frame, reading the portions of the data frame from the ones of the memory modules to the transmit port during the timeslot allocated for such reading, wherein the data frame is read to the transmit port; and wherein all of the timeslots are of equal duration.
Claim 33
Dependent Claim 80 words
The method of claim 18 wherein: the step of writing a portion of the data frame from the receive port to ones of the memory modules comprises: writing a first portion of the data frame to a first memory module during a first available timeslot; and writing the remaining portions of the data frame to other memory modules during subsequent timeslots; and the message identifies the first memory module and the frame buffer to which the data frame is written.
Claim 34
Dependent Claim 85 words
The method of claim 18 wherein: the step of sequentially coupling the receive port to ones of the memory modules comprises coupling the receive port to the memory modules frequently enough to support continuous writing of data from the receive port to the central memory; and the step of sequentially coupling the transmit port to ones of the memory modules comprises coupling the transmit port to the memory modules frequently enough to support continuous reading of data from the central memory to the transmit port.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-12-12 2004-06-12 2004-12-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-12-12 2008-06-12 2008-12-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-12-12 2012-06-12 2012-12-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag