← Back to Patent Explorer
US6490280B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Frame assembly in dequeuing block

Assignee: GlobalFoundries Inc
•
Filing: 1999-03-31
•
Granted: 2002-12-03
•
Expires: 2019-03-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A multiport data communication system for switching data packets between ports comprising a plurality of receive ports for receiving data packets, a memory storing the received data packets, and a plurality of transmit ports each having a transmit queue. Logic circuitry for each transmit port controls reading from memory data corresponding to each data packet to be transmitted from the respective transmit port, reassembling the data read from the memory, and writing the reassembled data to the corresponding transmit queue. A monitoring circuit monitors the received data packets prior to storing them in the memory and determines whether a respective data packet should have the VLAN tag inserted/stripped/modified and/or the Device ID inserted/stripped. Reassembling the data includes inserting/stripping/modifying a VLAN tag and/or inserting/stripping a Device ID into the data read from the memory in accordance with a result of the determination of the monitoring circuit prior to writing the reassembled data into the corresponding transmit queue.

Inventors

  • 👤 Eric Tsin-Ho Leung

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 05:39
CPC Classifications
H; H04; H04L; H04L49/00; H04L49/35; H04L49/354; H04L49/10; H04L49/103; H04L49/20; H04L49/205; H04L49/30; H04L49/3027; H04L49/351

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 151 words
A multiport data communication system for switching data packets between ports, the data communication system comprising: a plurality of ports for receiving and transmitting data packets, each transmit port having a transmit queue; a memory storing received data packets; a plurality of queues, each corresponding to a respective port and storing frame pointers that point to where the data packets are stored in the memory; and a plurality of logic circuitry corresponding to the plurality of transmit ports and each logic circuitry configured for reading respective frame pointers from the plurality of queues, reading from the memory the respective data packets corresponding to the respective frame pointers, reassembling the data read from the memory including performing inserting or modifying a virtual local area network (VLAN) tag, and performing inserting or stripping a Device ID into the data read from the memory, and writing the reassembled data to the corresponding transmit queue.
Claim 2
Dependent Claim 151 words
A multiport data communication system for switching data packets between ports, the data communication system comprising: a plurality of ports for receiving and transmitting data packets, each transmit port having a transmit queue; a memory storing received data packets; a plurality of queues, each corresponding to a respective port and storing frame pointers that point to where the data packets are stored in the memory; and a plurality of logic circuitry corresponding to the plurality of transmit ports and each logic circuitry configured for reading respective frame pointers from the plurality of queues, reading from the memory the respective data packets corresponding to the respective frame pointers, reassembling the data read from the memory including performing inserting or modifying a virtual local area network (VLAN) tag, and performing inserting or stripping a Device ID into the data read from the memory, and writing the reassembled data to the corresponding transmit queue.
Claim 3
Dependent Claim 23 words
The system of claim 1 , wherein reassembling the data read from the memory further includes performing stripping a VLAN tag where necessary.
Claim 4
Dependent Claim 97 words
The system of claim 2 , further comprising: circuitry configured to retrieve the plurality of received data packets from each port; and circuitry configured to monitor the retrieved data packets prior to storing in the memory and determine whether a respective data packet should have the VLAN tag inserted, stripped or modified, and/or whether the Device ID should be inserted or stripped, wherein inserting, stripping or modifying the VLAN tag, and inserting or stripping the Device ID in said reassembling the data read from memory is based on a result of said determining by said monitor circuitry.
Claim 5
Dependent Claim 110 words
The system of claim 2 , wherein each logic circuitry comprises: a first buffer connected to the memory and coupled to the corresponding transmit queue; a second buffer connected to a corresponding first buffer memory and the corresponding transmit queue; and a data reassembly logic connected to the memory, the corresponding first and second buffers, and the corresponding transmit queue and configured for reassembling the data to be transferred to the corresponding transmit queue in accordance with the determination made by the monitoring circuit as to whether a respective data packet should have the VLAN tag inserted, stripped or modified, and whether the Device ID should be inserted or stripped.
Claim 6
Dependent Claim 75 words
The system of claim 4 , wherein said each logic circuitry is further configured to read data from the memory to the corresponding data reassembly logic and first buffer, and then transfer from the corresponding first buffer to the corresponding data reassembly logic and second buffer, transfer the data in the second buffer also to the corresponding data reassembly logic, and transfer the data in the corresponding data reassembly logic to the corresponding transmit queue.
Claim 7
Dependent Claim 105 words
The system of claim 2 , wherein each logic circuitry comprises: a reading control for controlling reading of frame pointers from the corresponding queue; a memory control receiving read frame pointers from the reading control, controlling reading from the memory the respective data packets corresponding to received frame pointers, and generating a command signal; and a steering control receiving the command signal from the memory, sequencing writing of each read data packet to the corresponding transmit queue and performing inserting, stripping or modifying a virtual local area network (VLAN) tag, and performing inserting or stripping a Device ID into the data read from the memory.
Claim 8
Independent Claim 121 words
A method in a communication system for storing and retrieving received data packets for transmission from at least one of a plurality of ports comprising: receiving data packets via a plurality of ports; storing the received data packets in a memory; storing frame pointers that point to where the data packets are stored in the memory; reading respective frame pointers; reading from memory the respective data packets corresponding to the respective frame pointers; reassembling the data read from the memory including performing inserting or modifying a virtual local area network (VLAN) tag, and performing inserting or stripping a Device ID into the data read from the memory; and writing the reassembled data to a transmit queue corresponding to a respective port.
Claim 9
Independent Claim 121 words
A method in a communication system for storing and retrieving received data packets for transmission from at least one of a plurality of ports comprising: receiving data packets via a plurality of ports; storing the received data packets in a memory; storing frame pointers that point to where the data packets are stored in the memory; reading respective frame pointers; reading from memory the respective data packets corresponding to the respective frame pointers; reassembling the data read from the memory including performing inserting or modifying a virtual local area network (VLAN) tag, and performing inserting or stripping a Device ID into the data read from the memory; and writing the reassembled data to a transmit queue corresponding to a respective port.
Claim 10
Dependent Claim 23 words
The system of claim 7 , wherein reassembling the data read from the memory further includes performing stripping a VLAN tag where necessary.
Claim 11
Dependent Claim 76 words
The method according to claim 8 , further comprising: monitoring the data packets prior to storing in the memory; and determining whether a respective data packet should have the VLAN tag inserted, stripped or modified, and whether the Device ID should be inserted or stripped, wherein inserting, stripping or modifying the VLAN tag, and inserting or stripping the Device ID in said reassembling the data read from memory being based on a result of said determining.
Claim 12
Dependent Claim 142 words
In a communication system having a plurality of ports for receiving and transmitting data packets, memory storing the received data packets, a plurality of queues, each corresponding to a respective port and storing frame pointers that point to where the data packets are stored in the memory, and a plurality of logic circuitry corresponding to the plurality of ports, a method of processing a data packet for transfer from the memory to a transmit queue comprising: reading respective frame pointers from the plurality of queues; reading from memory the respective data packets corresponding to the respective frame pointers; reassembling the data read from the memory including performing inserting or modifying a virtual local area network (VLAN) tag, and performing inserting or stripping a Device ID into the data read from the memory; and writing the reassembled data to the corresponding transmit queue.
Claim 13
Dependent Claim 142 words
In a communication system having a plurality of ports for receiving and transmitting data packets, memory storing the received data packets, a plurality of queues, each corresponding to a respective port and storing frame pointers that point to where the data packets are stored in the memory, and a plurality of logic circuitry corresponding to the plurality of ports, a method of processing a data packet for transfer from the memory to a transmit queue comprising: reading respective frame pointers from the plurality of queues; reading from memory the respective data packets corresponding to the respective frame pointers; reassembling the data read from the memory including performing inserting or modifying a virtual local area network (VLAN) tag, and performing inserting or stripping a Device ID into the data read from the memory; and writing the reassembled data to the corresponding transmit queue.
Claim 14
Dependent Claim 23 words
The system of claim 10 , wherein reassembling the data read from the memory further includes performing stripping a VLAN tag where necessary.
Claim 15
Dependent Claim 45 words
The method according to claim 11 , further comprising: monitoring the data packets prior to storing in the memory; and determining whether a respective data packet should have the VLAN tag inserted, stripped or modified, and whether the Device ID should be inserted or stripped.
Claim 16
Dependent Claim 272 words
In a communication system having a plurality of ports for receiving and transmitting data packets, memory storing the received data packets, a plurality of queues, each corresponding to a respective port and storing frame pointers that point to where the data packets are stored in the memory, a plurality of first buffers corresponding to the plurality of ports, a plurality of second buffers corresponding to the plurality of transmit ports, and a plurality of data reassembly logic corresponding to the plurality of ports, a method of processing a data packet for transfer from the memory to a transmit queue comprising: reading respective frame pointers from the plurality of queues; reading from memory the respective data packets corresponding to the respective frame pointers to a corresponding data reassembly logic and a corresponding first buffer; transferring the data from the corresponding first buffer to the corresponding data reassembly logic and a corresponding second buffer while reading next data from the memory to the corresponding data reassembly logic and the corresponding first buffer; transferring data in the corresponding second buffer to the corresponding data reassembly logic while transferring the data from the corresponding first buffer to the corresponding data reassembly logic and the corresponding second buffer and reading next data from the memory to the corresponding data reassembly logic and the corresponding first buffer; reassembling the data in the corresponding data reassembly logic including performing inserting or modifying a virtual local area network (VLAN) tag, and performing inserting or stripping a Device ID into the data read from the memory; and transferring reassembled data in the corresponding data reassembly logic to the corresponding transmit queue.
Claim 17
Dependent Claim 272 words
In a communication system having a plurality of ports for receiving and transmitting data packets, memory storing the received data packets, a plurality of queues, each corresponding to a respective port and storing frame pointers that point to where the data packets are stored in the memory, a plurality of first buffers corresponding to the plurality of ports, a plurality of second buffers corresponding to the plurality of transmit ports, and a plurality of data reassembly logic corresponding to the plurality of ports, a method of processing a data packet for transfer from the memory to a transmit queue comprising: reading respective frame pointers from the plurality of queues; reading from memory the respective data packets corresponding to the respective frame pointers to a corresponding data reassembly logic and a corresponding first buffer; transferring the data from the corresponding first buffer to the corresponding data reassembly logic and a corresponding second buffer while reading next data from the memory to the corresponding data reassembly logic and the corresponding first buffer; transferring data in the corresponding second buffer to the corresponding data reassembly logic while transferring the data from the corresponding first buffer to the corresponding data reassembly logic and the corresponding second buffer and reading next data from the memory to the corresponding data reassembly logic and the corresponding first buffer; reassembling the data in the corresponding data reassembly logic including performing inserting or modifying a virtual local area network (VLAN) tag, and performing inserting or stripping a Device ID into the data read from the memory; and transferring reassembled data in the corresponding data reassembly logic to the corresponding transmit queue.
Claim 18
Dependent Claim 23 words
The system of claim 13 , wherein reassembling the data read from the memory further includes performing stripping a VLAN tag where necessary.
Claim 19
Dependent Claim 45 words
The method according to claim 14 , further comprising: monitoring the data packets prior to storing in the memory; and determining whether a respective data packet should have the VLAN tag inserted, stripped or modified, and whether the Device ID should be inserted or stripped.

References Cited (Backward Citations)

US5515376A Cited
US6088355A Cited
US6181699B1 Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-12-02 2006-06-03 2006-12-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-12-02 2010-06-03 2010-12-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-12-02 2014-06-03 2014-12-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag