Packet processing system, method and device utilizing a port client chain
US-11093415-B2 · Aug 17, 2021 · US
US11914528B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11914528-B2 |
| Application number | US-202318105700-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 3, 2023 |
| Priority date | Mar 30, 2015 |
| Publication date | Feb 27, 2024 |
| Grant date | Feb 27, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
We claim: 1. A packet processing system, the 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 three or more hierarchical clients, wherein each of the three or more hierarchical clients and the packet memory arbiter are serially communicatively coupled together via a plurality of primary interfaces thereby forming a client chain. 2. The system of claim 1 , wherein the three or more 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 client chain is only used to transmit the packet data to be read out from the packet memory to the plurality of system ports and the packet memory arbiter is at the beginning of the client chain. 4. The system of claim 2 , wherein the client chain is used both to transmit the packet data to be read out from the packet memory to the plurality of system ports and to transmit the packet data to be written into the packet memory from the plurality of system ports, and further 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 client chain is only used to transmit the packet data to be written into the packet memory from the plurality of system ports and the packet memory arbiter is at the end of the client chain. 6. The system of claim 5 , wherein one or more of the three or more hierarchical clients are directly coupled to the packet memory arbiter separately from the client chain via one or more secondary interfaces, and further wherein the secondary interfaces are only used to transmit the packet data to be read out from the packet memory to the plurality of system ports. 7. The system of claim 6 , wherein the client chain further comprises one or more additional write clients that are unaffiliated with the plurality of system ports and 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. 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 primary interfaces and the secondary interfaces are wide interfaces having a large bandwidth. 12. The system of claim 11 , wherein the three or more hierarchical clients are configured to transmit the requests to access the packet memory from the plurality of system ports to the packet memory arbiter, wherein each of the requests include a request tag that identifies the one of the plurality of system ports that initiated the request and the hierarchical client to which the one of the plurality of system ports belongs. 13. The system of claim 12 , wherein after granting one of the requests, the packet memory arbiter transmits a return tag to the port that sent the request via the associated hierarchical client, wherein the return tag identifies the associated hierarchical client and the port that sent the request, and further wherein the return tag indicates to the port that sent the request when to write packet data to or read packet data from the client chain in order to fulfill the requested access to the packet memory. 14. A packet memory arbiter stored on a non-transitory computer-readable memory, wherein the packet memory arbiter is configured to: arbitrate between a plurality of requests to access memory banks of a packet memory by granting one of the requests; and after granting the one of the requests, transmitting a return tag to a source of the request via an associated hierarchical client of a plurality of clients, wherein the return tag identifies the associated hierarchical client and the source, and further wherein the return tag indicates to the source when to write packet data to or read packet data from a client chain such that the requested access to the packet memory by the request is able to be fulfilled. 15. The packet memory arbiter of claim 14 , wherein each of the plurality of hierarchical clients and the packet memory arbiter are serially communicatively coupled together via a plurality of primary interfaces thereby forming the client chain. 16. The packet memory arbiter of claim 15 , wherein the packet memory arbiter is further configured to at least one of: receive via the client chain packet data that is to be written into the packet memory from the plurality of hierarchical clients, and output via the client chain packet data that is to be read out from the packet memory to the plurality of hierarchical clients. 17. The packet memory arbiter of claim 16 , wherein the client chain is only used to transmit the packet data to be read out from the packet memory and the packet memory arbiter is at the beginning of the client chain. 18. The packet memory arbiter of claim 16 , wherein the 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 client chain forms a loop such that the packet memory arbiter is at the beginning and the end of the client chain. 19. The packet memory arbiter of claim 14 , wherein the client chain is only used to transmit the packet data to be written into the packet memory and the packet memory arbiter is at the end of the client chain. 20. The packet memory arbiter of claim 19 , wherein one or more of the plurality of hierarchical clients are directly coupled to the packet memory arbiter separately from the client chain via one or more secondary interfaces, and further wherein the secondary interfaces are only used to transmit the packet data to be read out from the packet memory. 21. The packet memory arbiter of claim 20 , wherein the client chain further comprises one or more additional write clients that are unaffiliated with the source and configured to write the packet data into the packet memory. 22. The packet memory arbiter of claim 21 , wherein each of a 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. 23. The packet memory arbiter of claim 22 , wherein each cycle the packet memory arbiter is configured to limit a sum of a number of sources associated with the plurality of clients and a number of additional sources associated with the plurality of additional clients that are granted access to write the packet data into the one or more memory banks of
Access to shared memory · CPC title
with latency improvement · CPC title
using buffers · CPC title
using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence) · CPC title
minimising geographical or physical path length · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.