US5633865A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Apparatus for selectively transferring data packets between local area networks
Assignee: Enterasys Networks Inc
•
Filing: 1996-07-29
•
Granted: 1997-05-27
•
Expires: 2016-07-29
Abstract
Abstract A switching apparatus for selectively transferring data packets between a plurality of local area networks (LANs) at full-wire speed. A shared memory is used to store in buffers data packets received from one LAN prior to their transfer to another LAN under control of a block of control logic. The control logic maintains and updates sets of pointers which identify and control access to the buffers in shared memory. A single processor monitors these pointers and in response to a single source address table further updates these pointers to direct the control logic to discard or alternatively to transfer received data packets to other LANs.
Inventors
- 👤 Phillip Short
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-31 04:46
CPC Classifications
H; H04; H04L; H04L12/00; H04L12/28; H04L12/46; H04L49/00; H04L49/35; H04L49/351; H04L12/44; H04L49/25; H04L49/253; H04L49/254
Claims Analysis
Total Claims: 27
Claim 1
Independent Claim
309 words
A switching apparatus for selectively bidirectionally transferring data packets between a plurality of local area networks (LANs), wherein said data packets identify destination and source addresses, said apparatus comprising: a first media access controller (MAC) configured for receiving, transmitting and buffering data packets to a LAN; said first MAC associated with a first LAN for receiving and buffering a first set of data packets from said first LAN; a second MAC associated with a second LAN for receiving and buffering a second set of data packets to said second LAN; a shared memory comprised of a plurality of buffers adapted for storing said data packets from said first and second sets; control logic for selectively storing each said received data packet from said first and second sets into at least one selected buffer; a single source address table common to said first and second LANs for associating said source addresses to each said LAN; and a single processor executing a control program for forming said source address table in response to a single receive signal from said control logic and directing said control logic to discard or alternatively to transfer each stored data packet to a different LAN via its associated MAC according to the contents of said source address table and said stored data packets; wherein said control logic comprises: DMA control logic for bidirectionally transferring a plurality of bytes in bursts between said first and second MACs and said shared memory; queue logic for forming a plurality of FIFO queue lists within said shared memory each containing a plurality of entries that are pointers to a plurality of said buffers within said shared memory; and a state machine for controlling reception and transmission of data packets between said first and second LANs and said shared memory using said DMA control logic according to said FIFO queue lists.
Claim 2
Dependent Claim
309 words
A switching apparatus for selectively bidirectionally transferring data packets between a plurality of local area networks (LANs), wherein said data packets identify destination and source addresses, said apparatus comprising: a first media access controller (MAC) configured for receiving, transmitting and buffering data packets to a LAN; said first MAC associated with a first LAN for receiving and buffering a first set of data packets from said first LAN; a second MAC associated with a second LAN for receiving and buffering a second set of data packets to said second LAN; a shared memory comprised of a plurality of buffers adapted for storing said data packets from said first and second sets; control logic for selectively storing each said received data packet from said first and second sets into at least one selected buffer; a single source address table common to said first and second LANs for associating said source addresses to each said LAN; and a single processor executing a control program for forming said source address table in response to a single receive signal from said control logic and directing said control logic to discard or alternatively to transfer each stored data packet to a different LAN via its associated MAC according to the contents of said source address table and said stored data packets; wherein said control logic comprises: DMA control logic for bidirectionally transferring a plurality of bytes in bursts between said first and second MACs and said shared memory; queue logic for forming a plurality of FIFO queue lists within said shared memory each containing a plurality of entries that are pointers to a plurality of said buffers within said shared memory; and a state machine for controlling reception and transmission of data packets between said first and second LANs and said shared memory using said DMA control logic according to said FIFO queue lists.
Claim 3
Dependent Claim
29 words
The switching apparatus of claim 1, wherein said state machine periodically executes portions of receive and transmit tasks for channels corresponding to each of said first and second LANs.
Claim 4
Dependent Claim
135 words
The switching apparatus of claim 1, wherein said FIFO queue lists comprise: a first queue list wherein each entry in said first queue list corresponds to said buffers within said shared memory that are available for allocation; a second queue list wherein each entry in said second queue list corresponds to an available descriptor adapted for defining one or more of said buffers that are allocated to store each said data packet; a third queue list wherein each entry in said third queue list corresponds to each a received and stored data packet reported by said control logic to said processor; and fourth and fifth queue lists wherein each entry in said fourth and fifth queue lists corresponds to a received and stored data packet and a destination LAN for transmission by its associated MAC.
Claim 5
Dependent Claim
53 words
The switching apparatus of claim 3, additionally comprising means for transferring to a plurality of LANs a single data packet stored in a single set of buffers defined by a single entry in said second queue list when the source address identified by said data packet is not within said source address table.
Claim 6
Dependent Claim
33 words
The switching apparatus of claim 4, additionally comprising means for retaining said data packet stored in said single set of buffers until said data packet has been transferred to said plurality of LANs.
Claim 7
Dependent Claim
30 words
The switching apparatus of claim 1, wherein said control logic additionally comprises a memory interface unit for arbitrating access to said shared memory between said processor and said control logic.
Claim 8
Dependent Claim
46 words
The switching apparatus of claim 1, wherein said queue logic is comprised of a plurality of read and write pointer pairs, each said pointer pair pointing to a fixed-length queue list within said shared memory wherein each said entry in said queue list has a fixed-length.
Claim 9
Dependent Claim
63 words
The switching apparatus of claim 7, wherein: one of said read and write pointers has a resolution of j bits corresponding to the size of said queue list and said queue logic generates k bits related to the size of each entry in said queue list; and means forming a pointer of j+k bits that directly addresses an entry in said queue list.
Claim 10
Dependent Claim
278 words
A switching apparatus for selectively bidirectionally transferring data packets between a plurality of local area networks (LANs) wherein said data packets identify source and destination addresses, said apparatus comprising: a plurality of media access controllers (MACs) configured for receiving, transmitting and buffering data packets to a LAN, each coupled to a discrete LAN for receiving and buffering a portion of data packets transmitted across each said LAN; a shared memory comprised of a plurality of buffers adapted for storing said data packets; control logic means for allocating at least one buffer to each received data packet, fetching each portion of each said received and buffered data packet and storing each said portion; a single source address table for associating said source addresses with each said LAN; and a single processor executing a control program for forming said source address table in response to a single receive signal from said control logic and directing said control logic to discard or alternatively to transfer each stored data packet to a different LAN via its associated MAC according to the contents of said source address table and said stored data packets; wherein said control logic means additionally comprises: a plurality of FIFO transmit queues each associated with one of said MACs comprised of queue data for specifying said stored data packets to be transmitted via said MACs to said LANs wherein said processor enters said queue data into said transmit queues in response to said source address table and said destination address of a data packet; and means to transfer each said specified stored data packet to a first MAC when said queue data is entered into said first transmit queue.
Claim 11
Dependent Claim
278 words
A switching apparatus for selectively bidirectionally transferring data packets between a plurality of local area networks (LANs) wherein said data packets identify source and destination addresses, said apparatus comprising: a plurality of media access controllers (MACs) configured for receiving, transmitting and buffering data packets to a LAN, each coupled to a discrete LAN for receiving and buffering a portion of data packets transmitted across each said LAN; a shared memory comprised of a plurality of buffers adapted for storing said data packets; control logic means for allocating at least one buffer to each received data packet, fetching each portion of each said received and buffered data packet and storing each said portion; a single source address table for associating said source addresses with each said LAN; and a single processor executing a control program for forming said source address table in response to a single receive signal from said control logic and directing said control logic to discard or alternatively to transfer each stored data packet to a different LAN via its associated MAC according to the contents of said source address table and said stored data packets; wherein said control logic means additionally comprises: a plurality of FIFO transmit queues each associated with one of said MACs comprised of queue data for specifying said stored data packets to be transmitted via said MACs to said LANs wherein said processor enters said queue data into said transmit queues in response to said source address table and said destination address of a data packet; and means to transfer each said specified stored data packet to a first MAC when said queue data is entered into said first transmit queue.
Claim 12
Dependent Claim
14 words
The switching apparatus of claim 9, wherein said transfer means uses direct memory access.
Claim 13
Dependent Claim
195 words
A switching apparatus for use in combination with a plurality of local area networks (LANs) for selectively transferring data packets between any pair of said LAN's wherein each of said data packets identifies a destination and a source address, said apparatus comprising: a plurality of media access controllers (MACs) each configured for coupling to a different one of said LANs for receiving data packets therefrom and transmitting data packets thereto; a shared memory; control logic common to said LANs for selectively storing each data packet received by said MACs in said shared memory; said control logic comprising queue logic for selecting a portion of said shared memory for storing said data packets; a source address table common to said LANs for associating each source address to one of said LANs; and a processor common to said LANs for forming said source address table in response to the source address of each stored data packet and alternatively directing said control logic to discard or transfer each stored data packet to one of said LANs via its associated MAC according to the contents of said source address table and said destination address of each stored data packet.
Claim 14
Dependent Claim
195 words
A switching apparatus for use in combination with a plurality of local area networks (LANs) for selectively transferring data packets between any pair of said LAN's wherein each of said data packets identifies a destination and a source address, said apparatus comprising: a plurality of media access controllers (MACs) each configured for coupling to a different one of said LANs for receiving data packets therefrom and transmitting data packets thereto; a shared memory; control logic common to said LANs for selectively storing each data packet received by said MACs in said shared memory; said control logic comprising queue logic for selecting a portion of said shared memory for storing said data packets; a source address table common to said LANs for associating each source address to one of said LANs; and a processor common to said LANs for forming said source address table in response to the source address of each stored data packet and alternatively directing said control logic to discard or transfer each stored data packet to one of said LANs via its associated MAC according to the contents of said source address table and said destination address of each stored data packet.
Claim 15
Dependent Claim
22 words
The switching apparatus of claim 11, wherein said shared memory is comprised of a plurality of buffers adapted for storing data packets.
Claim 16
Dependent Claim
41 words
The switching apparatus of claim 12, wherein each said buffer has a fixed length smaller than a maximum data packet size such that a plurality of said buffers are required to store a data packet having said maximum data packet size.
Claim 17
Dependent Claim
212 words
A switching apparatus for use in combination with a plurality of local area networks (LANs) for selectively transferring data packets between any pair of said LANs wherein each of said data packets identifies a destination and a source address, said apparatus comprising: a plurality of media access controllers (MACs) each configured for coupling to one of said LANs for receiving data packets therefrom and transmitting data packets thereto; a shared memory comprised of a plurality of buffers adapted for storing said data packets; control logic common to each of said LANs for selectively storing each data packet received from one of said MACs in said shared memory; said control logic comprising queue logic for allocating at least one buffer to each received data packet; a source address table common to each of said LANs for associating each said source address to one of said LANs; and a processor common to each of said LANs for forming said source address table in response to the source address of each stored data packet and alternatively directing said control logic to discard or transfer each stored data packet to one of said LANs via its associated MAC according to the contents of said source address table and said destination address of each stored data packet.
Claim 18
Dependent Claim
212 words
A switching apparatus for use in combination with a plurality of local area networks (LANs) for selectively transferring data packets between any pair of said LANs wherein each of said data packets identifies a destination and a source address, said apparatus comprising: a plurality of media access controllers (MACs) each configured for coupling to one of said LANs for receiving data packets therefrom and transmitting data packets thereto; a shared memory comprised of a plurality of buffers adapted for storing said data packets; control logic common to each of said LANs for selectively storing each data packet received from one of said MACs in said shared memory; said control logic comprising queue logic for allocating at least one buffer to each received data packet; a source address table common to each of said LANs for associating each said source address to one of said LANs; and a processor common to each of said LANs for forming said source address table in response to the source address of each stored data packet and alternatively directing said control logic to discard or transfer each stored data packet to one of said LANs via its associated MAC according to the contents of said source address table and said destination address of each stored data packet.
Claim 19
Dependent Claim
41 words
The switching apparatus of claim 14, wherein each said buffer has a fixed length smaller than a maximum data packet size such that a plurality of said buffers are required to store a data packet having said maximum data packet size.
Claim 20
Dependent Claim
34 words
The switching apparatus of claim 15, wherein said control logic additionally comprise means to transfer a selected received data packet stored in a plurality of said buffers to a selected one of said MACs.
Claim 21
Dependent Claim
26 words
The switching apparatus of claim 14, wherein said apparatus is comprised of at least four MACs for transferring data packets between at least four discrete LANs.
Claim 22
Dependent Claim
27 words
The switching apparatus of claim 14, wherein said processor executes a control program and said control program and source address table are contained within said shared memory.
Claim 23
Independent Claim
192 words
A method of selectively transferring data packets between a plurality of local area networks (LANs) wherein each of said data packets identifies a destination and source address, comprising the steps: receiving a first data packet from a first LAN using a first media access controller (MAC); allocating at least one fixed length buffer from a shared memory using queue logic common to each of said LANs; storing said first data packet in said at least one buffer allocated by said queue logic using control logic common to each of said LANs; notifying a processor common to each of said LANs that said data packet is stored in said at least one buffer; determining a destination LAN according to the destination address of said first data packet and a single source address table which associates each destination address to one of said LANs; passing data to said control logic identifying said at least one buffer and said destination LAN if said destination LAN is not said first LAN; and transferring said first data packet from said at least one buffer to a second MAC coupled to said destination LAN using said control logic.
Claim 24
Independent Claim
192 words
A method of selectively transferring data packets between a plurality of local area networks (LANs) wherein each of said data packets identifies a destination and source address, comprising the steps: receiving a first data packet from a first LAN using a first media access controller (MAC); allocating at least one fixed length buffer from a shared memory using queue logic common to each of said LANs; storing said first data packet in said at least one buffer allocated by said queue logic using control logic common to each of said LANs; notifying a processor common to each of said LANs that said data packet is stored in said at least one buffer; determining a destination LAN according to the destination address of said first data packet and a single source address table which associates each destination address to one of said LANs; passing data to said control logic identifying said at least one buffer and said destination LAN if said destination LAN is not said first LAN; and transferring said first data packet from said at least one buffer to a second MAC coupled to said destination LAN using said control logic.
Claim 25
Dependent Claim
32 words
The method of claim 19, additionally comprising the step of updating the contents of said source address table by said processor in response to said source address of said first data packet.
Claim 26
Dependent Claim
30 words
The method of claim 19, additionally comprising the step of allocating a second buffer using said queue logic when the first data packet exceeds the length of said first buffer.
Claim 27
Dependent Claim
49 words
The method of claim 19, additionally comprising the steps of: receiving status information from said first MAC in response to said first data packet; associating said status information to said first data packet using said control logic; and retrieving said status information and updating statistics maintained by said processor.
References Cited (Backward Citations)
US5379289A
Cited
US5088090A
Cited
US5214646A
Cited
US5136580A
Cited
US5245606A
Cited
US5343471A
Cited
US5396493A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2000-05-26 | 2000-11-25 | 2001-05-27 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2004-05-26 | 2004-11-25 | 2005-05-27 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2008-05-26 | 2008-11-25 | 2009-05-27 | $7700.00 | Window Closed / Lapsed |