Method and apparatus for determining an exact match in a ternary content addressable memory device
First Claim
1. A content addressable memory (CAM) cell comprising:
- a first memory cell;
a first compare circuit coupled to the first memory cell;
a second memory cell for storing mask data for the first memory cell;
a second compare circuit coupled to the second memory cell;
a mask circuit coupled to the first compare circuit and the second memory cell; and
a mask override circuit coupled to the mask circuit, the mask override circuit operable to override the mask data.
11 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for determining an exact match in a ternary CAM device. Each ternary CAM cell includes CAM cells for storing CAM data, local mask cells for storing prefix mask data for the corresponding CAM cells, and a mask override circuit. Each local mask cell includes a masking circuit that masks the prefix mask data or CAM data provided to the comparison circuit, or masks the comparison result from the match line of a CAM cell. The mask override circuit effectively overrides the prefix mask data stored in the local mask cell. The mask override circuit performs the override function by negating the operation of the mask circuit such that no masking operation occurs when an exact match compare or invalidate function is performed by the ternary CAM device. For example, during an exact match operation, the CAM cells compare comparand data with unmasked CAM data and provide the compare results to CAM match lines. The local mask cells also compare mask data with the stored prefix mask data and provide the results to mask match lines. If both compares result in a match, then an exact match entry is located in the ternary CAM device. The locations or indexes of the exact match entries may then be output from the CAM device. One or more of the exact match locations may also be invalidated or deleted.
-
Citations
38 Claims
-
1. A content addressable memory (CAM) cell comprising:
-
a first memory cell;
a first compare circuit coupled to the first memory cell;
a second memory cell for storing mask data for the first memory cell;
a second compare circuit coupled to the second memory cell;
a mask circuit coupled to the first compare circuit and the second memory cell; and
a mask override circuit coupled to the mask circuit, the mask override circuit operable to override the mask data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 10, 11)
a second memory cell for storing the mask data;
a second compare circuit coupled to the second memory cell and a match line; and
a masking circuit coupled to the second memory cell.
-
-
9. A content addressable memory (CAM) comprising:
-
a first CAM cell for storing CAM data and comparing first comparand data with the CAM data; and
a second CAM cell coupled to the first CAM cell, the second CAM cell for storing mask data for the first CAM cell; and
means for overriding the mask data. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A content addressable memory (CAM) device comprising:
-
a plurality of rows of CAM cells for storing CAM data;
a plurality of rows of local mask cells each coupled to a corresponding row of CAM cells, each local mask cell for storing mask data for a corresponding CAM cell;
a plurality of first match lines;
a first plurality of signal lines;
a plurality of rows of compare circuits each coupled to a corresponding row of mask cells and a corresponding first match line, each circuit having a first input coupled to one of the first match lines, a second input coupled to receive mask data from one of the mask cells, and an output coupled to one of the first plurality of signal lines;
a second plurality of signal lines coupled to the local mask cells; and
a multiplexer circuit coupled to provide at least one of comparand data and data from the first plurality of signal lines to the second plurality of signal lines. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A content addressable memory (CAM) device comprising:
-
a plurality of rows of CAM cells for storing CAM data;
a plurality of rows of local mask cells each coupled to a corresponding row of CAM cells, and each local mask cell for storing mask data for a corresponding CAM cell; and
means for selecting at least one of comparand data and mask data from one of the rows of local mask cells to be compared with mask data stored in each of the rows of local mask cells. - View Dependent Claims (28, 29)
-
-
30. A method of operating a content addressable memory (CAM) device, the CAM device having a plurality of rows of CAM cells and corresponding local mask cells, the method comprising:
-
overriding local mask data stored in the local mask cells;
comparing first comparand data with data stored in the rows of CAM cells to determine logical states of a first plurality of match lines; and
comparing second comparand data with data stored in the rows of local mask cells to determine logical states of a second plurality of match lines. - View Dependent Claims (31, 32, 33, 34)
-
-
35. A content address memory (CAM) device comprising:
-
a ternary CAM array having N rows of M ternary CAM cells, wherein each ternary CAM cell has a first and second CAM cell, and wherein N and M are integers; and
means for configuring the ternary CAM array to operate as a binary CAM array having N rows of 2M binary CAM cells.
-
-
36. A method of operating a ternary content addressable memory (CAM) array as a binary content addressable memory array, the ternary CAM array having N rows of M ternary CAM cells, wherein each ternary CAM cell has a first and second binary CAM cell, and wherein N and M are integers, the method comprising:
-
overriding local mask data stored in the second binary CAM cells;
comparing a first comparand word with data stored in the N rows of the first binary CAM cells to determine logical states of a first plurality of match lines;
comparing a second comparand word with data stored in the N rows of the second binary CAM cells to determine logical states of a second plurality of match lines; and
logically combining the states of the first and second plurality of match lines to determine logical states of a third plurality of match lines.
-
-
37. A content addressable memory (CAM) device, comprising:
-
a CAM array to store CAM data and mask data, the CAM array including a mask override circuit operable to override the mask data;
a first plurality of match lines coupled with the CAM array; and
a logic circuit coupled with the first plurality of match lines to generate a match flag indicating whether a match has occurred based on a state of the first plurality of match lines. - View Dependent Claims (38)
-
Specification