Most connection method for egress port selection in a high port count switch

US9998403B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9998403-B2
Application numberUS-201514928742-A
CountryUS
Kind codeB2
Filing dateOct 30, 2015
Priority dateNov 25, 2014
Publication dateJun 12, 2018
Grant dateJun 12, 2018

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.

A switch according to the present invention can have a number of ports in an ASIC greater than the ASIC clock speed divided by the network protocol rate. The switch ASIC contains multiple blocks, each block having a number of ports equal to the ASIC clock speed divided the packet rate of the protocol. Each block has a number of queues equal to the total number of ports on the ASIC to receive packets. The queues are scheduled from each block into a number of outputs equal to the number of blocks. The outputs of each block are received by a scheduler which evaluates the packets available at the outputs of each block to determine the combination of outputs which provides the most connections that are ready for transmission. The combination with the most connections is then utilized to provide packets to the egress section of each block.

First claim

Opening claim text (preview).

The invention claimed is: 1. A network switch ASIC comprising: M times N input ports conforming to a given networking protocol; M times N output ports conforming to the given networking protocol; a plurality of M packet processors and of M egress transmission logic blocks, wherein each packet processor has N ports coupled to N input ports and each egress transmission logic block has N ports coupled to N output ports, wherein each packet processor has M outputs and each egress transmission logic block has one input, wherein each one of the packet processor M outputs of a given packet processor is corresponded to a different one of the egress transmission logic block inputs, wherein N is substantially equal to an ASIC clock speed divided by a number of packets per second that each port can process based on the given network protocol, and wherein M is greater than one; and a scheduler coupled to the plurality of M packet processors and M egress transmission logic blocks, wherein the scheduler is configured to receive the M outputs of each of the packet processors and provide the input of each egress transmission logic block. 2. The network switch ASIC of claim 1 , wherein the M outputs of each packet processor indicate the availability of a packet to be transmitted by a respective egress transmission logic block. 3. The network switch ASIC of claim 1 , wherein the scheduler is further configured to: determine a plurality of combinations of the M outputs of the packet processors to determine which of the M outputs of each of the packet processors are provided to each egress transmission logic block; and select one of the combinations based on the number of connections associated with each of the combinations. 4. The network switch ASIC of claim 3 , wherein the selected combination provides the most connections. 5. The network switch ASIC of claim 4 , wherein if at least two of the combinations provide the most connections, the scheduler is further configured to perform a round robin selection between the at least two combinations of outputs. 6. The network switch ASIC of claim 3 , wherein each packet processor includes M time N queues for receiving packets, the queues grouped in M groups, each group providing one of the M outputs of the packet processor, and wherein the number of connections for each M outputs of each packet processor is based on whether one or more queues within each of the M groups in the packet processor are ready to forward data packets and the corresponding destination ASIC egress port is available. 7. The network switch ASIC of claim 1 , wherein each packet processing includes: M time N queues for receiving packets, the queues grouped in M groups, each group providing one of the M outputs of the packet processor; and a plurality of M arbiters, one arbiter associated with each group to determine the queue of the group to provide the output for the group. 8. The network of ASIC of claim 1 , wherein the given network protocol is 10 Gigabit per second Ethernet. 9. The network of ASIC of claim 8 , wherein the ASIC clock speed is 480 MHz, N has a value of 32 and M has a value of 4. 10. A network switch comprising: a control component including: a processor having an output; and a memory coupled to the processor, the memory including non-volatile memory for storing instructions executed by the processor and volatile memory for use by the processor; M times N switch input ports conforming to a given networking protocol; M times N switch output ports conforming to the given networking protocol; and switch custom integrated circuit including: M times N circuit input ports coupled to the M times N switch input ports; M times N circuit output ports coupled to the M times N switch output ports; a plurality of M packet processors and of M egress transmission logic blocks, wherein each packet processor has N ports coupled to N circuit input ports and each egress transmission logic block has N ports coupled to N circuit output ports, wherein each packet processor has M outputs and each egress transmission logic block has one input, wherein each one of the packet processor M outputs of a given packet processor is corresponded to a different one of the egress transmission logic block inputs, wherein N is substantially equal to an integrated circuit clock speed divided by a number of packets per second that each port can process based on the given network protocol, and wherein M is greater than one; and a scheduler coupled to the plurality of M packet processors and M egress transmission logic blocks, wherein the scheduler is configured to receive the M outputs of each of the packet processors and provide the input of each egress transmission logic block. 11. The network switch of claim 10 , wherein each M packet processor comprises a plurality of M times N queues for receiving incoming packets. 12. The network switch of claim 10 , wherein the M outputs of each packet processor indicate the availability of a packet to be transmitted by a respective egress transmission logic block. 13. The network switch of claim 10 , wherein the scheduler is further configured to: determine a plurality of combinations of the M outputs of the packet processors to determine which of the M outputs of each of the packet processors are provided to each egress transmission logic block; and select one of the combinations based on the number of connections associated with each of the combinations. 14. The network switch of claim 13 , wherein the selected combination provides the most connections. 15. The network switch of claim 14 , wherein if at least two of the combinations provide the most connections, the scheduler is further configured to perform a round robin selection between the at least two combinations of outputs. 16. The network switch of 13 , wherein each packet processor includes M time N queues for receiving packets, the queues grouped in M groups, each group providing one of the M outputs of the packet processor, and wherein the number of connections for each M outputs of each packet processor is based on whether one or more queues within each of the M groups in the packet processor are ready to forward data packets and the corresponding destination ASIC egress port is available. 17. The network switch ASIC of claim 10 , wherein each packet processing includes: M time N queues for receiving packets, the queues grouped in M groups, each group providing one of the M outputs of the packet processor; and a plurality of M arbiters, one arbiter associated with each group to determine the queue of the group to provide the output for the group. 18. A method comprising: receiving a plurality of data packets from M times N input ports; routing the data packets to M packet processors that each include N input ports and M output ports, wherein N is determined from an maximum clock speed of a packet processing custom integrated circuit divided by the maximum data rate of each of the input ports; scheduling the data packets for forwarding from the M packet processors to M egress transmission logic blocks that each include one input port and N output ports; and forwarding the scheduled data packets out M time N output ports, wherein each one of the packet processor M outputs of a given packet processor is corresponded to a different one of the egress transmission logic block inputs, and wherein M is greater than one. 19. The method of claim 18 , wherein each packet processor has M outputs and wherein scheduling the data pa

Assignees

Inventors

Classifications

  • H04L49/352Primary

    Gigabit ethernet switching [GBPS] · 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 US9998403B2 cover?
A switch according to the present invention can have a number of ports in an ASIC greater than the ASIC clock speed divided by the network protocol rate. The switch ASIC contains multiple blocks, each block having a number of ports equal to the ASIC clock speed divided the packet rate of the protocol. Each block has a number of queues equal to the total number of ports on the ASIC to receive pa…
Who is the assignee on this patent?
Brocade Comm Systems Inc, Brocade Communications Systems LLC
What technology area does this patent fall under?
Primary CPC classification H04L49/352. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 12 2018 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).