Flexible queues in a network switch

US9438527B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9438527-B2
Application numberUS-201313901345-A
CountryUS
Kind codeB2
Filing dateMay 23, 2013
Priority dateMay 24, 2012
Publication dateSep 6, 2016
Grant dateSep 6, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In an apparatus for receiving and forwarding data packets on a network, a network device includes a plurality of ports for coupling to the network and for transmitting packets to devices disposed in or coupled to the network. At least one processor configured to process packets received via the network processes packets by selectively forwarding processed packets to one or more of the ports. A plurality of queues are defined in a memory, each configured to store packets to be transmitted by ports in the plurality of ports. A queue manager is configured to selectively assign a subset of the plurality of queues to a subset of the plurality of ports.

First claim

Opening claim text (preview).

What is claimed is: 1. A network device comprising: a plurality of ports for coupling to a network and for transmitting packets to other devices disposed in or coupled to the network; at least one processor configured to process packets received via the network, the processing including determining, based at least in part on destination information included in the packets, one or more ports, of the plurality of ports, via which the processed packets are to be transmitted from the network device; a plurality of queues defined in a memory, the plurality of queues configured to store packets to be transmitted by ports among the plurality of ports; and a queue manager configured to selectively assign a subset of the plurality of queues to a subset of the plurality of ports, including storing, in a memory, queue assignment information that indicates which queues are selectively assigned to which ports; and the network device being configured to, based on (i) the determinations of the one or more ports via which processed packets are to be transmitted from the network device and (ii) the queue assignment information, direct processed packets to one or more queues of corresponding ports to transmit the processed packets to the other devices. 2. The network device of claim 1 , wherein the queue manager is configured to store, in the memory, at least one of the following data structures used by the queue manager to direct data packets to queues and/or ports of the network device: (i) a port-to-queue table to configurably define which queues are assigned to each port; (ii) a queue-to-port table to configurably define which port is associated with each queue; (iii) a queue-to-port-group table to configurably define which port group is associated with each queue; and (iv) a queue priority table to configurably define a priority associated with each queue. 3. The network device of claim 1 , wherein the queue manager is configured to select the subset of ports to exclude one or more defective one of the plurality of ports. 4. The network device of claim 1 , wherein the queue manager is configured to select the subset of queues to exclude at least one defective one of the plurality of queues. 5. The network device of claim 1 , wherein the queue manager is configured to select the subset of ports to exclude a port coupled to a defective serializer-deserializer functional block. 6. The network device of claim 1 , wherein the at least one processor comprises a packet processor that includes the queue manager. 7. A network device comprising: a plurality of ports configured to (i) couple the network device to a network and (ii) transmit packets to other devices disposed in or coupled to the network; a plurality of port profiles, each port profile corresponding to one of the plurality of ports and indicating a feature of packet traffic destined for the port or a feature of a device coupled to the port; at least one processor configured to process packets received from the network, the processing including determining, based at least in part on destination information included in the packets, one or more ports, of the plurality of ports, via which the processed packets are to be transmitted from the network device; a plurality of queues defined in a memory, the plurality of queues configured to store packets to be transmitted by ports among the plurality of ports; and a queue manager responsive to the port profiles and arranged to configurably assign to each of the plurality of ports one or more of the plurality of queues according to the port profile corresponding to the port, including storing, in a memory, queue assignment information that indicates which queues are configurably assigned, by the queue manager, to which ports, and the network device being configured to, based on (i) the determinations of the one or more ports via which processed packets are to be transmitted from the network device and (ii) the queue assignment information, direct processed packets to one or more queues of corresponding ports to transmit the processed packets to the other devices. 8. The network device of claim 7 , wherein the queue manager is configured to store, in the memory, at least one of the following data structures used by the queue manager to direct data packets to queues and/or ports of the network device: (i) a port-to-queue table to configurably define which queues are assigned to each port; (ii) a queue-to-port table to configurably define which port is associated with each queue; (iii) a queue-to-port-group table to configurably define which port group is associated with each queue; and (iv) a queue priority table to configurably define a priority associated with each queue. 9. The network device of claim 7 , wherein the queue manager comprises a queue processor configured to allocate queues to ports according to any one or more of the following aspects of a port profile: (i) a specified flow or protocol; (ii) a specified traffic type; (iii) a specified multi-tenant configuration profile; and (iv) a specified quality of service (QoS). 10. A network device comprising: a plurality of ports configured to (i) couple to a network, (ii) receive packets via the network, and (iii) transmit packets via the network; at least one processor configured to process packets received via the network, the processing including selectively forwarding received packets to one or more of the ports for transmission via the network; a plurality of queues defined in a memory, the plurality of queues configured to store packets to be transmitted via the network; and a queue manager configured to (i) intercept a congestion notification sent to an upstream device in or coupled to the network from a downstream device in or coupled to the network and, (ii) mitigate congestion according to the intercepted congestion notification by (a) allocating one or more additional queues to a port or (b) modifying a queue length of a queue. 11. The network device of claim 10 , wherein the queue manager is configured, in response to the intercepted congestion notification, (i) to assign one of the plurality of queues to a port associated with the downstream device, and (ii) to perform a shaping operation on a flow of packets received from the upstream device and destined for the downstream device. 12. The network device of claim 10 , wherein the queue manager comprises at least one of the following data structures used by the queue manager to direct data packets to queues and/or ports of the network device: (i) a port-to-queue table to configurably define which queues are assigned to each port; (ii) a queue-to-port table to configurably define which port is associated with each queue; (iii) a queue-to-port-group table to configurably define which port group is associated with each queue; and (iv) a queue priority table to configurably define a priority associated with each queue. 13. The network device of claim 10 , wherein the queue manager is configured (i) to intercept a layer 2 congestion notification sent to an upstream device from a downstream device, and (ii) to perform a queue modification action for mitigating congestion according to the intercepted layer 2 congestion notification. 14. A method of configuring a network device, the method comprising: configuring a plurality of ports to transmit network packets to other devices disposed in or coupled to a network to which the ports are or will be connected; configuring at least one processor to process packets received via the network, the processing including determining, based at least in part on destin

Assignees

Inventors

Classifications

  • Avoiding congestion; Recovering from congestion · CPC title

  • H04L47/58Primary

    Changing or combining different scheduling modes, e.g. multimode scheduling · CPC title

  • Shared queuing · CPC title

  • using a shared central buffer; using a shared memory · CPC title

  • Traffic characterised by specific attributes, e.g. priority or QoS · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9438527B2 cover?
In an apparatus for receiving and forwarding data packets on a network, a network device includes a plurality of ports for coupling to the network and for transmitting packets to devices disposed in or coupled to the network. At least one processor configured to process packets received via the network processes packets by selectively forwarding processed packets to one or more of the ports. A …
Who is the assignee on this patent?
Marvell World Trade Ltd
What technology area does this patent fall under?
Primary CPC classification H04L47/58. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 06 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).