IP Library Granted Patent US 11,874,781
Granted Patent B2
US 11,874,781 · App. 18/105,751 · Granted Jan 16, 2024

Packet processing system, method and device utilizing a port client chain

Inventors: Enrique Musoll (San Jose, CA); Tsahi Daniel (Palo Alto, CA)
Assignee: Marvel Asia PTE., LTD.
G06F13/1663G06F13/161G06F13/1673G06F13/4022H04L45/126H04L49/9005
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 11,874,781
App. No.
18/105,751
Granted
Jan 16, 2024
Kind
B2
Abstract

A packet processing system having each of a plurality of hierarchical clients and a packet memory arbiter serially communicatively coupled together via a plurality of primary interfaces thereby forming a unidirectional client chain. This chain is then able to be utilized by all of the hierarchical clients to write the packet data to or read the packet data from the packet memory.

Claims (46)

1. A packet processing system comprising:

a non-transitory computer-readable packet memory organized into one or more memory banks;

a packet memory arbiter coupled with the one or more memory banks of the packet memory; and

a plurality of hierarchical clients, wherein each of the hierarchical clients and the packet memory arbiter form a client chain, and further wherein one or more of the hierarchical clients are coupled with the packet memory arbiter separate from the client chain via one or more interfaces.

2. The system of claim 1 , wherein the plurality of hierarchical clients are each associated with a plurality of system ports and arbitrate between requests to access the packet memory from the plurality of system ports.

3. The system of claim 2 , wherein the packet memory arbiter is at the beginning of the client chain.

4. The system of claim 2 , wherein the client chain forms a loop such that the packet memory arbiter is at the beginning and the end of the client chain.

5. The system of claim 2 , wherein the packet memory arbiter is at the end of the client chain.

6. The system of claim 5 , wherein the interfaces are only used to transmit the packet data to be read out from the packet memory.

7. The system of claim 6 , wherein the client chain further comprises one or more write clients that are configured to write the packet data into the packet memory.

8. The system of claim 7 , further comprising a plurality of additional system ports that are each associated with one of a plurality of additional hierarchical clients, wherein each of the plurality of additional hierarchical clients and the packet memory arbiter are serially communicatively coupled together via a plurality of additional interfaces thereby forming an additional client chain, and further wherein all of the plurality of additional hierarchical clients write the packet data to or read the packet data from the packet memory via the additional client chain.

9. The system of claim 8 , wherein each cycle the packet memory arbiter is configured to limit a sum of a number of the plurality of system ports and a number of the plurality of additional system ports that are granted access to write the packet data into the one or more memory banks of the packet memory such that the sum is equal to or less than a number of write ports of the one or more memory banks.

10. The system of claim 9 , wherein the additional client chain and the client chain have substantially the same latency.

11. The system of claim 10 , wherein the interfaces are wide interfaces having a large bandwidth.

12. The system of claim 11 , wherein the hierarchical clients are configured to transmit the requests to access the packet memory to the packet memory arbiter.

13. The system of claim 12 , wherein after granting one of the requests, the packet memory arbiter transmits a return tag to a client that sent the request.

14. A method of utilizing a packet processing system, the method comprising:

transmitting a plurality of requests for access of one or more memory banks of a packet memory to a packet memory arbiter, wherein each of a plurality of hierarchical clients and the packet memory arbiter are serially communicatively coupled together thereby forming a client chain, and further wherein one or more of the hierarchical clients are coupled with the packet memory arbiter separate from the client chain via one or more interfaces;

arbitrating between the plurality of requests with the packet memory arbiter by granting one of the requests; and

transmitting packet data associated with the granted request from the one or more memory banks of the packet memory to the hierarchical client that sent the granted request.

15. The method of claim 14 , further comprising after granting the one of the requests, transmitting with the packet memory arbiter a return tag to the client that sent the request.

16. The method of claim 15 , wherein the plurality of hierarchical clients arbitrate between requests to access the packet memory from a plurality of system ports.

17. The method of claim 16 , wherein the packet memory arbiter is at the beginning of the client chain.

18. The method of claim 16 , wherein the client chain forms a loop such that the packet memory arbiter is at the beginning and the end of the client chain.

19. The method of claim 16 , wherein the packet memory arbiter is at the end of the client chain.

20. The method of claim 19 , wherein the interfaces are only used to transmit the packet data to be read out from the packet memory.

21. The method of claim 20 , wherein the client chain further comprises one or more write clients that are configured to write the packet data into the packet memory.

22. The method of claim 21 , wherein a plurality of additional system ports are each associated with one of a plurality of additional hierarchical clients, and further wherein each of the plurality of additional hierarchical clients and the packet memory arbiter are serially communicatively coupled together via a plurality of additional interfaces thereby forming an additional client chain, and further wherein all of the plurality of additional hierarchical clients write the packet data to or read the packet data from the packet memory via the additional client chain.

23. The method of claim 22 , further comprising each cycle limiting with the packet memory arbiter a sum of a number of the plurality of system ports and a number of the plurality of additional system ports that are granted access to write the packet data into the one or more memory banks of the packet memory such that the sum is equal to or less than a number of write ports of the one or more memory banks.

24. The method of claim 23 , wherein the additional client chain and the client chain have substantially the same latency.

25. The method of claim 24 , wherein the interfaces are wide interfaces having a large bandwidth.

26. A packet processing system comprising:

a non-transitory computer-readable packet memory organized into one or more memory banks;

a packet memory arbiter coupled with the one or more memory banks of the packet memory; and

a plurality of hierarchical clients, wherein a first set of the hierarchical clients and the packet memory arbiter are serially communicatively coupled together thereby forming a first client chain and a second set of the hierarchical clients and the packet memory arbiter are serially communicatively coupled together thereby forming a second client chain.

27. The system of claim 26 , wherein a plurality of system ports transmit requests to access the packet memory to the plurality of hierarchical clients and the plurality of hierarchical clients arbitrate between the received requests.

28. The system of claim 27 , wherein packet memory arbiter is at a beginning of the first client chain and the second client chain.

29. The system of claim 27 , wherein the first client chain is used both to transmit the packet data to be read out from the packet memory and to transmit the packet data to be written into the packet memory, and further wherein the first client chain forms a loop such that the packet memory arbiter is at the beginning and the end of the first client chain.

30. The system of claim 27 , wherein packet memory arbiter is at an end of the first client chain and the second client chain.

31. The system of claim 30 , wherein one or more of the hierarchical clients are coupled to the packet memory arbiter separate from the first client chain and the second client chain via one or more interfaces, and further wherein the interfaces are onlyused to transmit the packet data to be read out from the packet memory.

32. The system of claim 31 , wherein the first client chain further comprises one or more write clients that are configured to write the packet data into the packet memory.

33. The system of claim 32 , wherein, each cycle, the packet memory arbiter is configured to limit a sum of a number of the plurality of system ports and a number of the plurality of additional system ports that are granted access to write the packet data into the one or more memory banks of the packet memory such that the sum is equal to or less than a number of write ports of the one or more memory banks.

34. The system of claim 33 , wherein the first client chain and the second client chain have substantially the same latency.

35. The system of claim 34 , wherein the interfaces are wide interfaces having a large bandwidth.

36. The system of claim 35 , wherein the hierarchical clients are configured to transmit the requests to access the packet memory to the packet memory arbiter.

37. The system of claim 36 , wherein after granting one of the requests, the packet memory arbiter transmits a return tag to the hierarchical client that sent the request.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2023
From: MUSOLL, ENRIQUE; DANIEL, TSAHI
To: XPLIANT, INC.
Reel/Frame 062590/0437 →
MERGER Recorded Feb 3, 2023
From: XPLIANT, INC.
To: CAVIUM NETWORKS LLC
Reel/Frame 062590/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2023
From: CAVIUM NETWORKS LLC
To: CAVIUM, INC.
Reel/Frame 062590/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2023
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 062656/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2023
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 062657/0001 →
CHANGE OF NAME Recorded Feb 3, 2023
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 062664/0974 →
Continuity (5)
Continuation 17370224 · Jul 8, 2021
Continuation 16370476 · Mar 29, 2019
Continuation 15434917 · Feb 16, 2017
Continuation 14673828 · Mar 30, 2015
Related Publication 20230185737A1 · Jun 15, 2023