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

Method and apparatus for asynchronously segmenting packets of multiple channels into ATM cells

Assignee: Sun Microsystems Inc
•
Filing: 1995-10-27
•
Granted: 1997-10-21
•
Expires: 2015-10-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A network interface card (NIC) is provided with a transmit unload block for asynchronously segmenting packet data into ATM cells for packets of multiple channels. The transmit unload block comprises a cellification block and a cellification and DMA scheduler. The cellification block is used to perform the actual cellification of the packet data into ATM cells, one ATM cell at a time, and management of the packet control data associated with the ATM cell's packet as well as management of the buffer control data associated with the ATM cell's channel. The construction of the current ATM cell is overlapped with the management of the packet and buffer control data associated with the immediately preceding ATM cell. The cellification and DMA scheduler is used to control the operation of the cellification block. The cellification and DMA scheduler is also used to schedule DMAs to obtain additional packet data for the channels.

Inventors

  • 👤 Andre Gayton
  • 👤 Rasoul M. Oskouy

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 04:02
CPC Classifications
H; H04; H04Q; H04Q11/00; H04Q11/04; H04Q11/0428; H04Q11/0478; H04L; H04L12/00; H04L12/54; H04L12/56; H04L12/5601; H04L2012/5614; H04L2012/5616; H04L2012/5638; H04L2012/5646; H04L2012/5652

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 92 words
An apparatus comprising: (a) a cellification block for constructing asynchronous transfer mode (ATM) cells for packets of multiple channels, including management of packet control data to be selectively incorporated into the ATM cells, and management of buffer control data for storage buffers used for streaming the packets, overlapping at least the construction of an ATM cell for a packet of a current channel with the management of the packet and buffer control data of an immediately preceding channel; and (b) a scheduler coupled to the cellification block for controlling the cellification block.
Claim 2
Independent Claim 92 words
An apparatus comprising: (a) a cellification block for constructing asynchronous transfer mode (ATM) cells for packets of multiple channels, including management of packet control data to be selectively incorporated into the ATM cells, and management of buffer control data for storage buffers used for streaming the packets, overlapping at least the construction of an ATM cell for a packet of a current channel with the management of the packet and buffer control data of an immediately preceding channel; and (b) a scheduler coupled to the cellification block for controlling the cellification block.
Claim 3
Dependent Claim 53 words
The apparatus as set forth in claim 1, wherein the cellification block comprises a plurality of packet control data registers for storing packet control data for the packet of the ATM cell currently being constructed, and a multiplexor for selectively loading the packet control data from either a first or a second memory.
Claim 4
Dependent Claim 49 words
The apparatus as set forth in claim 1, wherein the cellification block comprises calculation circuitry for calculating packet control data for the ATM cell currently being constructed, and at least one writeback register for storing at least one packet control data calculated for the immediately preceding ATM cell constructed.
Claim 5
Dependent Claim 52 words
The apparatus as set forth in claim 1, wherein the cellification block comprises logic circuitry for maintaining buffer control data for the channel of the ATM cell currently being constructed, and at least one writeback register for storing at least one updated buffer control data for the immediately preceding ATM cell constructed.
Claim 6
Dependent Claim 50 words
The apparatus as set forth in claim 1, wherein the cellification block comprises a state machine for providing a feedback signal to the scheduler, informing the scheduler that the cellification block has substantially completed constructing the current ATM cell, buffer control data currently in cellification block may now be altered.
Claim 7
Dependent Claim 53 words
The apparatus as set forth in claim 1, wherein the cellification block comprises a state machine for providing a feedback signal to the scheduler informing the scheduler the cellification block has output the last word for the ATM cell currently being constructed, packet control data currently in cellification block may now be altered.
Claim 8
Dependent Claim 53 words
The apparatus as set forth in claim 1, wherein the scheduler is a state machine that runs continuously after initialization, transitioning between a plurality of states, including a first state where the state machine waits for the cellification block's notification that the cellification block has substantially completed construction of the current ATM cell.
Claim 9
Dependent Claim 47 words
The apparatus as set forth in claim 7, wherein the state machine further comprises a second state of conditionally reading the buffer control data of the current ATM cell's channel, and a third state of writing the buffer control data of the immediately preceding ATM cell's channel.
Claim 10
Dependent Claim 47 words
The apparatus as set forth in claim 1, wherein the scheduler is also used for scheduling a direct memory access cycle for a channel when the channel is serviced for a first time or whenever the buffered packet data for the channel fall below a predetermined threshold.
Claim 11
Dependent Claim 85 words
The apparatus as set forth in claim 9, wherein the scheduler is a state machine that runs continuously after initialization, transitioning between a plurality of states, including a first state where the state machine waits for the cellification block's notification that the cellification block has completed construction of the current ATM cell, a second state of reading the packet control data of the current ATM cell's channel, and a third state of scheduling a direct memory access cycle for the immediately preceding ATM cell's channel.
Claim 12
Dependent Claim 280 words
In a computer system, a method for constructing asynchronous transfer mode (ATM) cells for packets of multiple channels, the method comprising the steps of: (a) notifying a scheduler by a cellification block that the cellification block has substantially completed constructing a first ATM cell for a first packet of a first channel, buffer control data in cellification block may now be altered for the construction of a second ATM cell for a second packet of a second channel; (b) instructing the cellification block by the scheduler to save a copy of any updated packet control data associated with the first packet, and any updated buffer control data associated with the first channel that require write back to a control memory; (c) causing packet control data associated with the second packet, and buffer control data associated with the second channel to be retrieved for the scheduler and for the cellification block by the scheduler; (d) instructing the cellification block to proceed with construction of the second ATM cell by the scheduler, and in response, retrieving cell data for the second ATM cell by the cellification block using the retrieved buffer control data for the second channel, and constructing the second ATM cell by the cellification block using the retrieved cell data and the retrieved packet control data of the second packet; and (e) concurrent with the construction of the second ATM cell, determining if there were any updated packet control data associated with the first packet, and any updated buffer control data associated with the first channel by the scheduler, instructing the cellification block to perform the required writeback by the scheduler, and performing the required writeback by the cellification block.
Claim 13
Dependent Claim 280 words
In a computer system, a method for constructing asynchronous transfer mode (ATM) cells for packets of multiple channels, the method comprising the steps of: (a) notifying a scheduler by a cellification block that the cellification block has substantially completed constructing a first ATM cell for a first packet of a first channel, buffer control data in cellification block may now be altered for the construction of a second ATM cell for a second packet of a second channel; (b) instructing the cellification block by the scheduler to save a copy of any updated packet control data associated with the first packet, and any updated buffer control data associated with the first channel that require write back to a control memory; (c) causing packet control data associated with the second packet, and buffer control data associated with the second channel to be retrieved for the scheduler and for the cellification block by the scheduler; (d) instructing the cellification block to proceed with construction of the second ATM cell by the scheduler, and in response, retrieving cell data for the second ATM cell by the cellification block using the retrieved buffer control data for the second channel, and constructing the second ATM cell by the cellification block using the retrieved cell data and the retrieved packet control data of the second packet; and (e) concurrent with the construction of the second ATM cell, determining if there were any updated packet control data associated with the first packet, and any updated buffer control data associated with the first channel by the scheduler, instructing the cellification block to perform the required writeback by the scheduler, and performing the required writeback by the cellification block.
Claim 14
Dependent Claim 52 words
The method as set forth in claim 11, wherein, step (a) further comprises notifying the scheduler by the cellification block that the cellification has completed outputting the last word of the first ATM cell, packet control data in cellification block may now be altered for the cellification of the second ATM cell.
Claim 15
Dependent Claim 65 words
The method as set forth in claim 11, wherein the method further comprises the step of: (f) concurrent with the construction of the second ATM cell, determining if the first channel requires a direct memory access cycle to be scheduled to have additional packet data be loaded into buffers of the first channel, and if required, scheduling the direct memory access cycle for the channel.
Claim 16
Dependent Claim 150 words
A computer system comprising: (a) a first memory including a plurality of FIFO buffers for storing a plurality of packet data for a plurality of packets of a plurality of channels, one FIFO buffer per channel; (b) a second memory for storing a plurality of packet control data associated with the packets and a plurality of buffer control data associated with the FIFO buffers of the channels; (c) a cellification block coupled to the first and second memory for constructing asynchronous transfer mode (ATM) cells for the packets of the channels, including management of the packet control data, and management of the buffer control data, overlapping at least the construction of an ATM cell for a packet of a current channel with the management of the packet and buffer control data of an immediately preceding channel; and (d) a scheduler coupled to the cellification block for controlling the cellification block.
Claim 17
Dependent Claim 150 words
A computer system comprising: (a) a first memory including a plurality of FIFO buffers for storing a plurality of packet data for a plurality of packets of a plurality of channels, one FIFO buffer per channel; (b) a second memory for storing a plurality of packet control data associated with the packets and a plurality of buffer control data associated with the FIFO buffers of the channels; (c) a cellification block coupled to the first and second memory for constructing asynchronous transfer mode (ATM) cells for the packets of the channels, including management of the packet control data, and management of the buffer control data, overlapping at least the construction of an ATM cell for a packet of a current channel with the management of the packet and buffer control data of an immediately preceding channel; and (d) a scheduler coupled to the cellification block for controlling the cellification block.
Claim 18
Dependent Claim 50 words
The computer system as set forth in claim 14, wherein the cellification block comprises calculation circuitry for calculating packet control data for the ATM cell currently being constructed, and at least one writeback register for storing at least one packet control data calculated for the immediately preceding ATM cell constructed.
Claim 19
Dependent Claim 53 words
The computer system as set forth in claim 14, wherein the cellification block comprises logic circuitry for maintaining buffer control data for the channel of the ATM cell currently being constructed, and at least one writeback register for storing at least one updated buffer control data for the immediately preceding ATM cell constructed.
Claim 20
Dependent Claim 57 words
The computer system as set forth in claim 14, wherein the cellification block comprises a state machine for providing a feedback signal to the scheduler informing the scheduler that the cellification block has substantially completed constructing the current ATM cell, buffer control data in cellification block may now be altered for the construction of another ATM cell.
Claim 21
Dependent Claim 60 words
The computer system as set forth in claim 14, wherein the cellification block comprises a state machine for providing a feedback signal to the scheduler informing the scheduler the cellification block has output the last word for the ATM cell currently being constructed, packet control data in cellification block may now be altered for the construction of another ATM cell.
Claim 22
Dependent Claim 85 words
The apparatus as set forth in claim 14, wherein the scheduler is a state machine that runs continuously after initialization, transitioning between a plurality of states including a first state where the state machine waits for the cellification block's notification that the cellification block has completed construction of the current ATM cell, a second state of conditionally reading the buffer control data of the current ATM cell's channel, and a third state of writing the buffer control data of the immediately preceding ATM cell's channel.
Claim 23
Dependent Claim 123 words
The apparatus as set forth in claim 14, wherein, the scheduler is also used for scheduling a direct memory access cycle for a channel when the channel is serviced for a first time or whenever the buffered packet data for the channel fall below a predetermined threshold; the scheduler is a state machine that runs continuously after initialization, transitioning between a plurality of states including a first state where the state machine waits for the cellification block's notification that the cellification block has completed construction of the current ATM cell, a second state of reading the packet control data of the current ATM cell's channel, and a third state of scheduling a direct memory access cycle for the immediately preceding ATM cell's channel.

References Cited (Backward Citations)

US5214642A Cited
US5136584A Cited
US5204882A Cited
US5274768A Cited
US5375121A Cited
US5379297A Cited
US5329623A Cited
US5327421A Cited
US5414707A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-10-20 2001-04-21 2001-10-21 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-10-20 2005-04-21 2005-10-21 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-10-20 2009-04-21 2009-10-21 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag