IP Library Granted Patent US 9,577,932
Granted Patent B2
US 9,577,932 · App. 14/530,193 · Granted Feb 21, 2017

Techniques for managing ternary content-addressable memory (TCAM) resources in heterogeneous systems

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 9,577,932
App. No.
14/530,193
Granted
Feb 21, 2017
Kind
B2
Abstract

Techniques for managing ternary content-addressable memory (TCAM) in a network device/system are provided. In one embodiment, the network device/system can include one or more TCAMs and can execute a TCAM manager for each TCAM. Each TCAM manager can manage allocation of resources of its associated TCAM, as well as manage access to the TCAM by one or more network applications running on the device/system. In this way, the TCAM managers can hide TCAM implementation differences (e.g., different sizes, different capabilities, etc.) from the network applications and thereby enable the applications to interact with the TCAMs in a uniform manner.

Claims (41)

1. A network system comprising:

a first ternary content-addressable memory (TCAM) supporting one or more first hardware capabilities;

a second TCAM supporting one or more second hardware capabilities that are not supported by the first TCAM;

a processor; and

a non-transitory computer readable storage medium having stored thereon instructions that, when executed by the processor, cause the processor to:

execute a first TCAM manager associated with the first TCAM; and

execute a second TCAM manager associated with the second TCAM, wherein each of the first and second TCAM managers:

exposes, to a network application running on the network system, a unified application programming interface (API) for programming a rule into its associated TCAM, the unified API being identical for the first and second TCAM managers; and

upon receiving an invocation of the unified API from the network application, determines how to program the rule based on its associated TCAM's supported hardware capabilities.

2. The network system of claim 1 wherein first TCAM has a different size than the second TCAM.

3. The network system of claim 1 wherein the one or more second hardware capabilities supported by the second TCAM include hardware-based prioritization of rules programmed into the second TCAM.

4. The network system of claim 3 wherein the first TCAM manager implements prioritization of rules programmed into the first TCAM by implementing:

a feature group manager that groups together features that make use of the first TCAM based on feature priorities; and

a rule manager that maintains mappings between the features and indices of rules that have been programmed into the first TCAM; and

an index manager that allocates a portion of the first TCAM to each feature group that is determined by the feature group manager.

5. The network system of claim 4 wherein the index manager assigns higher priority feature groups to partitions of the first TCAM that have a lower TCAM index range and assigns lower priority feature groups to partitions of the first TCAM that have a higher TCAM index range.

6. The network system of claim 4 wherein the feature group manager further allows a feature that is applied on multiple ports of the network system to be represented by a single rule in the first TCAM.

7. The network system of claim 4 wherein, upon receiving the invocation of the unified API, the first TCAM manager:

determines, based on the partitions allocated by the index manager, a particular partition in which the rule should be placed; and

programs the rule into a free entry of the determined partition.

8. The network system of claim 1 wherein the one or more second hardware capabilities supported by the second TCAM include register-level access for programming the second TCAM.

9. The network system of claim 1 wherein the one or more second hardware capabilities supported by the second TCAM include API-level access for programming the second TCAM.

10. The network system of claim 1 wherein the first TCAM is designed by a different chip vendor than the second TCAM.

11. The network system of claim 1 wherein the network system is a mixed stacking system comprising one or more high-end stackable switches and one or more low-end stackable switches.

12. The network system of claim 1 wherein the network system is a modular chassis system comprising a plurality of line cards.

13. A method comprising:

executing, by a network system comprising first and second ternary content-addressable memories (TCAMs), a first TCAM manager associated with the first TCAM and a second TCAM manager associated with the second TCAM,

wherein the first TCAM supports one or more first hardware capabilities,

wherein the second TCAM supports one or more second hardware capabilities that are not supported by the first TCAM, and

wherein each of the first and second TCAM managers:

exposes, to a network application running on the network system, a unified application programming interface (API) for programming a rule into its associated TCAM, the unified API being identical for the first and second TCAM managers; and

upon receiving an invocation of the unified API from the network application, determines how to program the rule based on its associated TCAM's supported hardware capabilities.

14. The method of claim 13 wherein the first TCAM has a different size than the second TCAM.

15. The method of claim 13 wherein the one or more second hardware capabilities supported by the second TCAM include hardware-based prioritization of rules programmed into the second TCAM.

16. A non-transitory computer readable medium having stored thereon instructions executable by a processor of a network system, the network system comprising first and second ternary content-addressable memories (TCAMs), the first TCAM supporting one or more first hardware capabilities, the second TCAM supporting one or more second hardware capabilities that are not supported by the first TCAM, the instructions comprising:

instructions that cause the processor to execute a first TCAM manager for the first TCAM and a second TCAM manager for the second TCAM,

wherein each of the first and second TCAM managers:

exposes, to a network application running on the network system, a unified application programming interface (API) for programming a rule into its associated TCAM, the unified API being identical for the first and second TCAM managers; and

upon receiving an invocation of the unified API from the network application, determines how to program the rule based on its associated TCAM's supported hardware capabilities.

17. The non-transitory computer readable medium of claim 16 wherein the first TCAM has a different size than the second TCAM.

18. The non-transitory computer readable medium of claim 16 wherein the one or more second hardware capabilities supported by the second TCAM include hardware-based prioritization of rules programmed into the second TCAM.

Assignments (9)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2024
From: ARRIS ENTERPRISES LLC
To: RUCKUS IP HOLDINGS LLC
Reel/Frame 066399/0561 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC F/K/A BROCADE COMMUNICATIONS SYSTEMS, INC; FOUNDRY NETWORKS LLC F/K/A FOUNDRY NETWORKS INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 045600/0755 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044861/0618 →