IP Library Granted Patent US 10,341,260
Granted Patent B2
US 10,341,260 · App. 15/886,870 · Granted Jul 2, 2019

Early queueing network device

Inventors: Kandasamy Aravinthan (San Jose, CA); Rahul Durve (Cupertino, CA); Manoj Lakshmy Gopalakrishnan (Santa Clara, CA); Jinqlih Sang (Fremont, CA); David Lucius Chen (Mountain View, CA)
Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
H04L49/3027H04L49/251H04L49/252
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,341,260
App. No.
15/886,870
Granted
Jul 2, 2019
Kind
B2
Abstract

A network device, such as a network switch, can include an ingress to receive data packets from a network. The ingress can communicate with an egress included in the network device though a fabric included in the network device. At least one of ingress and the egress can enqueue a data packet prior to receipt of all cells of the data packet. The ingress can also commence with dequeue of the cells of the received data packet prior to receipt of the entire data packet from the network. At least one of ingress and the egress can process the data packets using cut-through processing and store-and-forward processing. In a case of cut-through processing of a data packet at both the ingress and the egress of a network device, such as CIOQ switch, the fabric can be allocated to provide a prioritized virtual channel through the fabric for the data packet.

Claims (62)

1. A network device comprising:

circuitry configured to

receive, via a network, at least a portion of one of a plurality of data packets;

initiate enqueuing of the at least the first portion of the one of the data packets prior to receipt by the network device of an entirety of the one of the data packets;

store linking information for the one of the data packets, the linking information being sequence information related to the plurality of data packets;

drop the one of the data packets; and

update the linking information by linking a first data packet indicated in the linking information as sequentially following the one of the data packets being dropped with a second data packet indicated in the linking information as sequentially preceding the one of the data packets being dropped.

2. The network device of claim 1 , wherein the circuitry is configured to:

identify, based on the linking information, a status of a previous data packet, a status of a next data packet and identify the one of the data packets as a current packet.

3. The network device of claim 1 , wherein

the circuitry is configured to update the linking information to remove the linking information of the one of the data packets being dropped.

4. The network device of claim 1 , wherein the circuitry is configured to:

identify a sequence of the data packets as a previous data packet, a current data packet, and a next data packet in the linking information.

5. The network device of claim 1 , wherein the circuitry is configured to:

initiate enqueing the at least the portion of the one of the data packets at a time when the at least the portion of the one of the data packets is identified as a start of the one of the data packets.

6. The network device of claim 1 , wherein the circuitry is configured to:

identify the one of the data packets as a dropped packet; and

deny enqueuing additional portions of the one of the data packets identified as the dropped packet.

7. The network device of claim 1 , wherein

each of the data packets includes a plurality of cells that are sequentially received from the network, and

the circuitry is configured to initiate enqueuing of the at least the first portion of the one of the data packets by enqueing cells of the one of the data packets prior to all the cells of the one of the data packets being received at the network device.

8. The electronic device of claim 7 , wherein

the circuitry is configured to commence enqueing cells of the one of the data packets at a time when a cell of the one of the data packets is identified as a start of the one of the data packets.

9. The electronic device of claim 7 , wherein

the circuitry is configured to commence enqueing cells of the one of the data packets at a time when a predetermined number of cells of the one of the data packets are received by the network device.

10. The electronic device of claim 1 , wherein the circuitry is configured to:

communicate a cut through request from an ingress included in the network device to an egress included in the network device, the cut through request comprising a request for prioritized access to a fabric providing a communication path between the ingress and the egress;

communicate a grant response from the egress to the ingress in response to the cut through request; and

set an egress port cut through state identifying an output port to which the one of the data packets is provided.

11. A network device comprising:

a first communication interface configured to receive data packets;

a second communication interface configured to output the received data packets; and

traffic management circuitry configured to enqueue portions of a received data packet before the entirety of the data packet is received by the network device, wherein

the traffic management circuitry comprises

a packet queue to store information of the received data packet, the information used to identify a previous data packet and a next data packet in a case that the received data packet is dropped; and

a dequeuer that is triggered by the packet queue to dequeue portions of the received data packet before the entirety of the data packet is received by the network device.

12. The network device of claim 11 , wherein

the information is linking information of the received data packet to link the received data packet to the previous data packet and the next data packet.

13. The network device of claim 11 , wherein

the traffic management circuitry is included in each of an ingress and an egress, and

the network device further comprises a fabric by which the ingress communicates with the egress.

14. The network device of claim 13 , wherein

the fabric comprises a virtual channel fabric buffer formed to include a plurality of partitions, each of the partitions representative of an output port of the egress.

15. The network device of claim 14 , wherein

the network device is a combined input/output switch, and

representations of cut-through data packets and representations of store-and-forward data packets are storable in the partitions.

16. The network device of claim 14 , wherein

the virtual channel fabric buffer comprises a first-in first-out circular buffer having a predetermined number of partitions that correspond to a number of output ports included in the egress.

17. A network device comprising:

means for receiving, via a network, at least a portion of one of a plurality of data packets;

means for initiating enqueuing of the at least the first portion of the one of the data packets prior to receipt by the network device of an entirety of the one of the data packets;

means for storing linking information for the one of the data packets, the linking information being sequence information related to the plurality of data packets;

means for dropping one of the data packets; and

means for updating the linking information by linking a first data packet indicated in the linking information as sequentially following the one of the data packets being dropped with a second data packet indicated in the linking information as sequentially preceding the one of the data packets being dropped.

18. The network device of claim 17 , further comprising:

means for communicating a cut through request from an ingress included in the network device to an egress included in the network device, the cut through request comprising a request for prioritized access to a fabric providing a communication path between the ingress and the egress;

means for communicating a grant response from the egress to the ingress in response to the cut through request; and

means for setting an egress port cut through state identifying an output port to which the one of the data packets is provided.

19. The network device of claim 17 , further comprising:

means for identifying, based on the linking information, a status of a previous data packet, a status of a next data packet and identify the one of the data packets as a current packet.

20. The network device of claim 17 , further comprising:

means for updating the linking information to remove the linking information of the one of the data packets being dropped.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048549/0113 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047231/0369 →
Continuity (3)
Continuation 14636928 · Mar 3, 2015
Provisional Application 62111167 · Feb 3, 2015
Related Publication 20180227247A1 · Aug 9, 2018