IP Library Granted Patent US 8,996,798
Granted Patent B1
US 8,996,798 · App. 13/678,377 · Granted Mar 31, 2015

Systems and methods for using TCAMs in network devices

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 8,996,798
App. No.
13/678,377
Granted
Mar 31, 2015
Kind
B1
Abstract

Methods and systems for a network device having a plurality of base-ports, each base-port having a plurality of sub-ports configured to operate independently as a port for sending and receiving information using one of a plurality of network links at a plurality of rates complying with a plurality of protocols. The network device includes a ternary content addressable memory (TCAM) module for storing a plurality of entries for routing frames that are received for the plurality of sub-ports complying with the plurality of protocols. Each TCAM entry has an associated history value that is used by a processor for the network device to purge TCAM entries based on an age of the TCAM entries.

Claims (40)

1. A network device, comprising:

a plurality of base-ports, each base-port having a plurality of sub-ports configured to operate independently as a port for sending and receiving information using one of a plurality of network links at a plurality of rates complying with a plurality of protocols;

a routing sequencer comprising:

a ternary content addressable memory (TCAM) module for storing a plurality of entries for routing frames that are received for the plurality of sub-ports complying with the plurality of protocols, wherein each TCAM entry has an associated history bit value that is used by a processor for the network device to purge TCAM entries based on an age of the TCAM entries; and

a timer;

wherein, upon expiration of the timer, the routing sequencer resets the timer and updates the history bit values associated with the TCAM entries; and

wherein, when an incoming frame is matched to one of the plurality of entries for routing frames in the TCAM, the routing sequencer updates the history bit value associated with that one matched entry.

2. The network device of claim 1 , wherein the network device is a switch coupled to one or more devices.

3. The network device of claim 1 , wherein one of the plurality of sub-ports is configured to operate as a Fibre Channel port.

4. The network device of claim 1 , wherein one of the plurality of sub-ports is configured to operate as an Ethernet port or a Fibre Channel over Ethernet port.

5. The network device of claim 1 , further comprising a scheduler that is configured to receive requests on behalf of the plurality of sub-ports for moving frames from a receive segment and for transmitting frames from a transmit segment of one of the base-ports.

6. The network device of claim 5 , wherein the requests from the plurality of sub-ports are generated by a request module after a destination for received frames is determined by the routing sequencer that maintains the TCAM module.

7. The network device of claim 6 , wherein the routing sequencer is shared by the plurality of sub-ports.

8. The network device of claim 6 , wherein the routing sequencer is dedicated to one of the plurality of sub-ports.

9. A network device, comprising:

a plurality of base-ports, each base-port having a plurality of sub-ports configured to operate independently as a port for sending and receiving information using one of a plurality of network links at a plurality of rates complying with a plurality of protocols; and

a scheduler that is configured to receive requests on behalf of the plurality of sub-ports for moving frames from a receive segment and for transmitting frames from a transmit segment of one of the base-ports;

wherein the requests from the plurality of sub-ports are generated by a request module after a destination for received frames is determined by a routing module that comprises:

a TCAM module, the TCAM module configured for storing a plurality of entries for routing frames that are received for the plurality of sub-ports complying with the plurality of protocols, wherein each TCAM entry has an associated history value that is used by a processor for the network device to purge TCAM entries based on an age of the TCAM entries; and

a timer;

wherein, upon expiration of the timer, the routing module resets the timer and updates the history bit values associated with the TCAM entries; and

wherein, when an incoming frame is matched to one of the plurality of entries for routing frames in the TCAM, the routing module updates the history bit value associated with that one matched entry.

10. The network device of claim 9 , wherein the network device is a switch coupled to one or more devices.

11. The network device of claim 9 , wherein one of the plurality of sub-ports is configured to operate as a Fibre Channel port.

12. The network device of claim 9 , wherein one of the plurality of sub-ports is configured to operate as an Ethernet port or a Fibre Channel over Ethernet port.

13. The network device of claim 9 , wherein the routing module is shared by the plurality of sub-ports.

14. The network device of claim 9 , wherein the routing module is dedicated to one of the plurality of sub-ports.

15. A machine-implemented method for managing a ternary content addressable module (TCAM) for routing frames by a network device, the method comprising:

maintaining a plurality of entries at the TCAM for routing frames for a base-port of the network device having a plurality of sub-ports configured to operate independently as a port for sending and receiving information using one of a plurality of network links at a plurality of rates complying with a plurality of protocols;

using an age bit value for indicating an age for each TCAM entry;

operating a timer;

when the timer expires, updating the age bit values associated with the TCAM entries;

matching one of the plurality of TCAM entries for routing frames in the TCAM based on an incoming frame;

updating the history bit value associated with that one matched entry; and

purging TCAM entries based on the age bits to accommodate new TCAM entries.

16. The method of claim 15 , wherein the network device is a switch coupled to one or more devices.

17. The network device of claim 15 , wherein one of the plurality of sub-ports is configured to operate as a Fibre Channel port.

18. The method of claim 15 , wherein one of the plurality of sub-ports is configured to operate as an Ethernet port or a Fibre Channel over Ethernet port.

19. The method of claim 15 , wherein a routing module maintains the TCAM module for obtaining destination information for frames received by the base-port.

20. The method of claim 19 , wherein the routing module is shared by the plurality of sub-ports or dedicated to one of the plurality of sub-ports.

Assignments (7)
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 Oct 8, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047205/0953 →
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 →
MERGER Recorded Oct 18, 2017
From: QLOGIC CORPORATION
To: CAVIUM, INC.
Reel/Frame 044812/0504 →
SECURITY AGREEMENT Recorded Mar 1, 2017
From: QLOGIC CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 041854/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2012
From: DROPPS, FRANK R.; ANDERSEN, WILLIAM J.; SLECHTA, LEO J., JR.; VERBA, CRAIG M.
To: QLOGIC, CORPORATION
Reel/Frame 029307/0228 →