IP Library Granted Patent US 10,419,571
Granted Patent B2
US 10,419,571 · App. 14/667,488 · Granted Sep 17, 2019

Packet processor forwarding database cache

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,419,571
App. No.
14/667,488
Granted
Sep 17, 2019
Kind
B2
Abstract

A forwarding database cache system is described herein. The forwarding database cache system includes a main forwarding database and one or more forwarding database caches. When a packet is received, the cache is searched first for information such as address information, and if found, then the packet is forwarded to the appropriate destination. If the address information is not found in the cache, then the main forwarding database is searched, and the packet is forwarded to the appropriate destination based on the information in the main forwarding database.

Claims (40)

1. A method comprising:

receiving a packet containing information at a network switch;

searching a cache on the network switch containing a first set of searchable information for a match of the information;

if the match of the information is not found in the cache, then searching a memory on the network switch containing a second set of searchable information for the information;

sending the packet to a destination based on the match of the information, wherein the cache and the memory are in separate physical memories that are both within the network switch and are discontinuous with each other, wherein at least a portion of the first set of searchable information is speculatively sent from the memory to the cache independent of a search of the memory matching the portion, wherein the portion forms one or more speculative entries within the cache; and

deleting one or more of the speculative entries of the cache in response to the match of the information being found within the cache.

2. The method of claim 1 wherein the first set of searchable information is stored in a first forwarding database in the cache, and the second set of searchable information is stored in a second forwarding database in the memory.

3. The method of claim 1 wherein the first set of searchable information is stored in a plurality of first forwarding databases in the cache, and the second set of searchable information is stored in a second forwarding database in the memory.

4. The method of claim 1 wherein the cache includes a plurality of first physical memories and the memory is a separate physical memory.

5. The method of claim 1 wherein the destination includes a virtual interface or a port.

6. The method of claim 1 wherein the first set of searchable information within the cache contains less searchable information than the second set of searchable information within the memory, further wherein the first set of searchable information is able to retrieve searchable information from the second set of searchable information.

7. The method of claim 1 wherein the information comprises address information.

8. A system comprising:

a packet processing element of a network switch configured for processing a packet including information;

a main memory of the network switch configured for storing searchable information to search for the information; and

a cache memory of the network switch configured for storing a subset of the searchable information less than the entire searchable information to search for the information, wherein the cache memory and the main memory are in separate physical memories that are both within the network switch and are discontinuous with each other, wherein at least a portion of the searchable information is speculatively sent from the main memory to the cache memory independent of a search of the main memory matching the portion, wherein the portion forms one or more speculative entries within the cache, and further wherein one or more of the speculative entries of the cache are deleted in response to the match of the information being found within the cache.

9. The system of claim 8 wherein the searchable information is stored in a first forwarding database in the cache memory and a second forwarding database in the main memory.

10. The system of claim 8 wherein the searchable information is stored in a plurality of first forwarding databases in the cache memory and a second forwarding database in the main memory.

11. The system of claim 8 wherein the cache memory includes a plurality of first physical memories and the main memory is a separate physical memory.

12. The system of claim 8 wherein processing the packet includes forwarding the packet to a destination including a virtual interface or a port.

13. The system of claim 8 wherein the information comprises address information.

14. A network switch comprising:

a memory for storing an application, the application configured for:

receiving a packet containing information;

searching a cache containing a first set of searchable information for a match of the information;

if the match of the information is not found in the cache, then searching a memory containing a second set of searchable information for the information; and

sending the packet to a destination based on the match of the information; and

a processing component coupled to the memory, the processing component configured for processing the application, wherein the cache and the memory are in separate physical memories that are both within the network switch and are discontinuous with each other, wherein at least a portion of the first set of searchable information is speculatively sent from the memory to the cache independent of a search of the memory matching the portion, wherein the portion forms one or more speculative entries within the cache, and further wherein one or more of the speculative entries of the cache are deleted in response to the match of the information being found within the cache.

15. The network switch of claim 14 wherein the first set of searchable information is stored in a first forwarding database in the cache, and the second set of searchable information is stored in a second forwarding database in the memory.

16. The network switch of claim 14 wherein the first set of searchable information is stored in a plurality of first forwarding databases in the cache, and the second set of searchable information is stored in a second forwarding database in the memory.

17. The network switch of claim 14 wherein the cache includes a plurality of first physical memories and the memory is a separate physical memory.

18. The network switch of claim 14 wherein the destination includes a virtual interface or a port.

19. The network switch of claim 14 wherein the first set of searchable information within the cache contains less searchable information than the second set of searchable information within the memory, further wherein the first set of searchable information is able to retrieve searchable information from the second set of searchable information.

20. The network switch of claim 14 wherein the information comprises address information.

21. The method of claim 2 wherein the first forwarding database and the second forwarding database operate independent of each other.

22. The system of claim 9 wherein the first forwarding database and the second forwarding database operate independent of each other.

23. The network switch of claim 15 wherein the first forwarding database and the second forwarding database operate independent of each other.

24. The method of claim 2 wherein the first and second forwarding databases include tags associated with the first and second sets of searchable information so that if there are conflicting tags, the cache is able to be flushed of the information associated with the conflicting tags.

25. The system of claim 9 wherein the first and second forwarding databases include tags associated with the first and second sets of searchable information so that if there are conflicting tags, the cache memory is able to be flushed of the information associated with the conflicting tags.

26. The network switch of claim 15 wherein the first and second forwarding databases include tags associated with the first and second sets of searchable information so that if there are conflicting tags, the cache is able to be flushed of the information associated with the conflicting tags.

Assignments (8)
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 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
SECURITY AGREEMENT Recorded Aug 17, 2016
From: CAVIUM, INC.; CAVIUM NETWORKS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 039715/0449 →
MERGER Recorded Mar 8, 2016
From: XPLIANT, INC.
To: CAVIUM NETWORKS LLC
Reel/Frame 038039/0328 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2016
From: CAVIUM NETWORKS LLC
To: CAVIUM, INC.
Reel/Frame 038040/0251 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 10, 2015
From: WHITE, MARTIN LESLIE
To: XPLIANT, INC.
Reel/Frame 036062/0873 →