Claims
- 1. A ternary content addressable memory (CAM) cell comprising:
a first memory cell for storing data; a first compare circuit coupled to the first memory cell; a second memory cell for storing mask data for the first 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 to override the mask data.
- 2. The ternary CAM cell of claim 1, wherein the CAM cell comprises a first memory cell coupled to a first compare circuit and a first match line.
- 3. The ternary CAM cell of claim 2, further comprising a second compare circuit coupled to the second memory cell and a second match line.
- 4. The ternary CAM cell of claim 3, further comprising a logic circuit coupled to the second memory cell and the first match line, the logic circuit for logically comparing the mask data with the logic state of the first match line.
- 5. A ternary content addressable memory (CAM) cell comprising:
a CAM cell for storing CAM data and comparing first comparand data with the CAM data; and a local mask cell coupled to the CAM cell, the local mask cell for storing mask data for the CAM cell; and means for overriding the mask data.
- 6. The ternary CAM cell of claim 5, wherein the CAM cell comprises a first memory cell coupled to a first compare circuit and a first match line.
- 7. The ternary CAM cell of claim 6, wherein the local mask cell comprises:
a second memory cell for storing the mask data; a second compare circuit coupled to the second memory cell and a second match line; and a masking circuit coupled to the memory cell.
- 8. The ternary CAM cell of claim 7, further comprising a logic circuit coupled to the second memory cell and the first match line, the logic circuit for logically comparing the mask data with the logic state of the first match line.
- 9. A ternary 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; 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 comparand data or data from the first plurality of signal lines to the second plurality of signal lines.
- 10. The ternary CAM device of claim 9, further comprising a second plurality of match lines each coupled to a row of the local mask cells.
- 11. The ternary CAM device of claim 10, further comprising logic having first inputs coupled to the first plurality of match lines, second inputs coupled to the second plurality of match lines, and outputs coupled to a third plurality of match lines.
- 12. The ternary CAM device of claim 11, wherein the logic comprises a plurality of AND gates.
- 13. The ternary CAM device of claim 9, further comprising flag logic coupled to the first plurality of match lines and the third plurality of match lines, and configured to generate a match flag signal.
- 14. The ternary CAM cell of claim 9, further comprising a priority encoder coupled to the third plurality of match lines.
- 15. The ternary CAM device of claim 9, further comprising a register coupled to the first plurality of signal lines.
- 16. The ternary CAM device of claim 9, wherein the comparand data comprises mask data.
- 17. The ternary CAM device of claim 9, wherein the comparand data comprises decoded mask data, and wherein the ternary CAM device further comprises decoding logic having inputs for receiving encoded mask data and outputs for providing the decoded mask data to the plurality of mask cells and to the multiplexer circuit.
- 18. The ternary CAM device of claim 9, further comprising encoding logic having inputs for receiving the mask data and outputs for providing encoded mask data.
- 19. A ternary 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 providing comparand data or 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.
- 20. The ternary CAM device of claim 19, further comprising means for overriding local mask data stored in the local mask cells.
- 21. A method of operating a ternary content addressable memory (CAM) device, the ternary 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; 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; and logically combining the states of the first and second plurality of match lines.
- 22. The method of claim 21, wherein logically combining the states of the first and second plurality of match lines determines logical states of a third plurality of match lines.
- 23. The method of claim 21, further comprising determining that at least one row of CAM cells and corresponding local mask cells stores data that matches the first and second comparand data, respectively.
- 24. The method of claim 23, further comprising invalidating the data stored in the CAM cells of the at least one row of CAM cells that stores data that matches the first and second comparand data, respectively.
- 25. The method of claim 21, wherein the first comparand data is an Internet Protocol (IP) address, and the second comparand data is prefix data associated with the IP address.
- 26. A ternary 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.
- 27. 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 CAM cell, and wherein N and M are integers, the method comprising:
overriding local mask data stored in the local mask cells; comparing a first plurality of bits of a comparand word with data stored in the N rows of the first plurality M binary CAM cells to determine logical states of a first plurality of match lines; comparing a first plurality of bits of the comparand word with data stored in the N rows of the second plurality of M 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, wherein the binary content addressable memory array has N rows of 2M binary CAM cells.
- 28. A method of operating a content addressable memory (CAM) device comprising:
storing first data in CAM cells in a row of ternary CAM cells, the ternary CAM cells having local mask cells corresponding to the CAM cells; storing mask data in binary CAM cells coupled to the row of ternary CAM cells; and comparing comparand data with the first data and the mask data.
- 29. The method of claim 28, further comprising disabling the local mask cells from affecting the comparison of the comparand data with the first data.
- 30. The method of claim 28, further comprising encoding the mask data prior to storing the mask data in the binary CAM cells.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of, and claims the benefit of, co-pending U.S. application Ser. No. 09/338,452 filed on Jun. 22, 1999 and entitled “METHOD AND APPARATUS FOR DETERMINING A LONGEST PREFIX MATCH IN A CONTENT ADDRESSABLE MEMORY DEVICE,” which is a continuation-in-part of, and claims the benefit of, co-pending U.S. application Ser. No. 09/256,268 filed on Feb. 23, 1999 and entitled “METHOD AND APPARATUS FOR DETERMINING A LONGEST PREFIX MATCH IN A CONTENT ADDRESSABLE MEMORY DEVICE,” Ser. No. 09/255,494 filed on Feb. 23, 1999 and entitled “METHOD AND APPARATUS FOR DETERMINING A LONGEST PREFIX MATCH IN A DEPTH CASCASED CONTENT ADDRESSABLE MEMORY SYSTEM,” and Ser. No. 09/255,497 filed on Feb. 23, 1999 and entitled “TERNARY CONTENT ADDRESSABLE MEMORY CELL.”
Divisions (1)
|
Number |
Date |
Country |
Parent |
09442042 |
Nov 1999 |
US |
Child |
10142855 |
May 2002 |
US |
Continuation in Parts (4)
|
Number |
Date |
Country |
Parent |
09338452 |
Jun 1999 |
US |
Child |
09442042 |
Nov 1999 |
US |
Parent |
09256268 |
Mar 2000 |
US |
Child |
09338452 |
Jun 1999 |
US |
Parent |
09255494 |
Feb 1999 |
US |
Child |
09338452 |
Jun 1999 |
US |
Parent |
09255497 |
Feb 1999 |
US |
Child |
09338452 |
Jun 1999 |
US |