IP Library Granted Patent US 10,560,399
Granted Patent B2
US 10,560,399 · App. 15/653,021 · Granted Feb 11, 2020

Method of dynamically renumbering ports and an apparatus thereof

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,560,399
App. No.
15/653,021
Granted
Feb 11, 2020
Kind
B2
Abstract

Embodiments of the apparatus of dynamically renumbering ports relate to a network chip that minimizes the total logic on the network chip by limiting the number of states that needs to be preserved for all ports on the network chip. Each pipe on the network chip implements a dynamic port renumbering scheme that dynamically assigns a relative port number for each port assigned to that pipe. The dynamic port renumbering scheme allows for internal parallelism without increasing the total amount of state space required for the ports on the network chip.

Claims (52)

1. A method of a network chip including N ports and P pipes, wherein each of the P pipes is associated with M ports of the N ports, the method comprising:

receiving traffic comprising one or more packets; and

for each of the P pipes, renumbering the M ports associated with that pipe by assigning one of M relative port numbers to each of the M ports, wherein the M relative port numbers assigned by each one of the P pipes are able to be independent of the M relative port numbers assigned by each other pipe of the P pipes, and further wherein each of the P pipes receive the traffic from the M ports associated with that pipe.

2. The method of claim 1 , wherein the renumbering comprises, for each of the P pipes:

storing all of the assignments of relative port numbers to the M ports.

3. The method of claim 2 , wherein assigning one of M relative port numbers includes:

determining whether renumbering of one of the M ports is completed;

based on the determination that the renumbering of that port is completed, using the relative port number previously assigned to that port; and

based on the determination that the renumbering of that port is not completed, assigning an unused relative port number of the M relative port numbers to that port.

4. A method of a network chip including N ports and P pipes, the method comprising:

for each one of the P pipes:

receiving traffic including one or more packets from a subset of M ports of the N ports; and

assigning a different one of M relative port numbers to each of the M ports, wherein the M relative port numbers are associated with the one of the P pipes and are able to be independent of the M relative port number assigned by each other pipe of the P pipes.

5. The method of claim 4 , wherein the one of the M relative port numbers has not yet been used prior to the assignment.

6. The method of claim 4 , wherein assigning one of M relative port numbers to each of the M ports includes:

receiving one or more of the packets of the traffic;

identifying one of the M ports that the one or more of the packets are from; and

determining whether that port had previously been assigned a relative port number.

7. The method of claim 6 , further comprising, based on the determination that that port has not yet been assigned a relative port number, assigning an unused relative port number of the M relative port numbers to that port.

8. The method of claim 4 , further comprising:

storing all of the assignments of the M relative port numbers to the M ports; and

maintaining all states of the M ports using the M relative port numbers.

9. A network chip comprising:

N ports;

P pipes, wherein each of the P pipes receives traffic including one or more packets from M ports of the N ports; and

a dynamic port renumbering scheme utilized by each of the P pipes to renumber each of the M ports associated with that pipe by assigning one of M relative port numbers to each of the M ports associated with that pipe, wherein the M relative port numbers assigned by each one of the P pipes are able to be independent of the M relative port numbers assigned by each other pipe of the P pipes.

10. The network chip of claim 9 , wherein each of the P pipes uses M relative port numbers in the dynamic port renumbering scheme.

11. The network chip of claim 9 , wherein the dynamic port renumbering scheme, for each of the P pipes:

stores all of the assignments of relative port numbers to the M ports.

12. The network chip of claim 11 , wherein one of M relative port numbers is assigned based on whether renumbering of one of the M ports that one or more incoming packets of the traffic are from is completed.

13. The network chip of claim 12 , wherein based on the renumbering of that port being completed, the relative port number previously assigned to that port is used.

14. The network chip of claim 12 , wherein based on the renumbering of that port being not completed, an unused relative port number of the M relative port numbers is assigned to that port.

15. A network chip comprising:

N ports; and

P pipes, wherein each of the P pipes:

receives traffic including one or more packets from a subset of M ports of the N ports; and

assigns a different one of M relative port numbers to each of the M ports, wherein the M relative port numbers are associated with the one of the P pipes and are able to be independent of the M relative port numbers assigned by each other pipe of the P pipes.

16. The method of claim 15 , wherein the one of the M relative port numbers has not yet been used prior to the assignment.

17. The network chip of claim 15 , wherein each of the P pipes further:

receives one or more of the packets of the traffic;

identifies one of the M ports that the one or more of the packets are from; and

determines whether that port had previously been assigned a relative port number.

18. The method of claim 17 , further comprising, based on the determination that that port has not yet been assigned a relative port number, the pipe assigns an unused relative port number of the M relative port numbers to that port.

19. The method of claim 15 , wherein each of the P pipes further stores all of the assignments of the M relative port numbers to the M ports and maintains all states of the M ports using the M relative port numbers.

20. A network switch comprising:

a plurality of switch ports; and

at least one network chip including N chip ports and P pipes, wherein each of the P pipes is associated with M ports of the N chip ports and the N chip ports are mapped to the plurality of switch ports, and further wherein the P pipes renumber the M ports associated with that pipe by assigning one of M relative port numbers to each of the M ports associated with that pipe, wherein the M relative port numbers assigned by each one of the P pipes are able to be independent of the M relative port numbers assigned by each other pipe of the P pipes, wherein each of the P pipes receives traffic including one or more packets from M ports of the N chip ports.

21. The network switch of claim 20 , wherein the dynamic port renumbering scheme is implemented by each of the P pipes.

22. The network switch of claim 20 , wherein each of the P pipes:

determines whether an incoming port has been assigned a relative port number; and

based on the determination that the incoming port has not been assigned a relative port number, storing the incoming port in a storage array and assigning the incoming port an unused relative port number based on a current pointer to the storage array.

23. The network switch of claim 22 , wherein the determination is based on whether the incoming port is already stored in the storage array.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Sep 27, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047577/0653 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2017
From: ANAND, VISHAL; PANCHAGNULA, VAMSI
To: XPLIANT, INC.
Reel/Frame 043035/0375 →
MERGER Recorded Jul 18, 2017
From: XPLIANT, INC.
To: CAVIUM NETWORKS LLC
Reel/Frame 043035/0441 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2017
From: CAVIUM NETWORKS LLC
To: CAVIUM, INC.
Reel/Frame 043035/0497 →