← Back to Patent Explorer
US6535951B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Hit result register file used in a CAM

Assignee: Cisco Technology Inc
•
Filing: 2000-02-29
•
Granted: 2003-03-18
•
Expires: 2020-02-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The invention provides a method and system for performing additional processing on CAM hit results, in which the additional processing does not add to the complexity or size of the CAM chip, can be altered after manufacture of the CAM chip, and does not delay other operations of the CAM. The CAM hit results are presented as indices from the CAM and sent to a hit result register file where they are stored. The contents of the hit result register file can be processed by other hardware or software coupled to the CAM. The index associated with the CAM input tag can be accessed using the hit result register file and a register indirect operation. The index associated with the CAM input tag can be used for CAM management functions in conjunction with (such as in parallel or pipelined) other CAM functions.

Inventors

  • 👤 Mark A. Ross

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 13:17
CPC Classifications
G; G11; G11C; G11C15/00

Claims Analysis

Total Claims: 41
Claim 1
Independent Claim 64 words
An apparatus for performing additional processing on content addressable memory (CAM) hit results, the apparatus comprising: a CAM array disposed to receive input tags and to generate index values; and a hit result register file disposed to receive, catalog, and send said index values back to the CAM array in such a way that said index values can be used to alter CAM entries.
Claim 2
Independent Claim 64 words
An apparatus for performing additional processing on content addressable memory (CAM) hit results, the apparatus comprising: a CAM array disposed to receive input tags and to generate index values; and a hit result register file disposed to receive, catalog, and send said index values back to the CAM array in such a way that said index values can be used to alter CAM entries.
Claim 3
Dependent Claim 26 words
The apparatus of claim 1 , wherein the CAM array is disposed to match said input tags of varying sizes with entries in the CAM array.
Claim 4
Dependent Claim 61 words
The apparatus of claim 1 , wherein the hit result register file includes a set of hit result register file entries, each entry of the set of hit result register file entries being disposed for storing one or more said index values in a manner that is responsive to the total number of said index values returned by the CAM array.
Claim 5
Dependent Claim 26 words
The apparatus of claim 1 , wherein the CAM array is disposed to receive said index values, an input entry value and an input operations code.
Claim 6
Dependent Claim 50 words
The apparatus of claim 4 , wherein the CAM array includes a plurality of CAM entries; and wherein the input operations code instructs the CAM array to read from or write to a specific one of the plurality of CAM entries indicated by at least one of said index values.
Claim 7
Dependent Claim 17 words
The apparatus of claim 1 , including means for forming an address for addressing the CAM array.
Claim 8
Dependent Claim 24 words
The apparatus of claim 6 , wherein said means for forming the address relies in part upon tag widths corresponding to said input tags.
Claim 9
Independent Claim 75 words
A method comprising: providing an input tag value to a content addressable memory, the content addressable memory including a set of entries, each entry of the set of entries including tag and associated values; providing an associated value in response to a tag value, the associated value being responsive to at least one entry in the set of entries; and providing a pointer to the associated value to one of at least one result register.
Claim 10
Independent Claim 75 words
A method comprising: providing an input tag value to a content addressable memory, the content addressable memory including a set of entries, each entry of the set of entries including tag and associated values; providing an associated value in response to a tag value, the associated value being responsive to at least one entry in the set of entries; and providing a pointer to the associated value to one of at least one result register.
Claim 11
Dependent Claim 15 words
The method of claim 8 , including performing a register indirect operation on the pointer.
Claim 12
Dependent Claim 14 words
The method of claim 8 , including processing the associated value using the pointer.
Claim 13
Dependent Claim 43 words
The method of claim 8 , including: using a register indirect operation on the pointer to access the associated value; comparing the associated value with a selected set of lookup semantics; and validating the associated value in response to said steps for comparing.
Claim 14
Dependent Claim 70 words
The method of claim 8 , including: using a register indirect operation on the pointer to access the associated value; comparing the associated value with a selected set of lookup semantics, the set of lookup semantics being dynamically selectable in response to a value external to the content addressable memory; and validating the associated value in response to said comparing the associated value with the selected set of lookup semantics.
Claim 15
Dependent Claim 16 words
The method of claim 8 , including routing a message in response to the associated value.
Claim 16
Dependent Claim 20 words
The method of claim 8 , including using a register indirect operation on the pointer to access the associated value.
Claim 17
Dependent Claim 25 words
The method of claim 14 , wherein said using the register indirect operation includes using a null operation when the pointer shows a non-hit result.
Claim 18
Dependent Claim 16 words
The method of claim 14 , including forming an address for addressing the content addressable memory.
Claim 19
Dependent Claim 24 words
The method of claim 16 , wherein said forming the address relies in part upon a tag width corresponding to the input tag value.
Claim 20
Dependent Claim 82 words
A computer-readable medium containing computer-executable instructions for performing steps comprising: providing an input tag value to a content addressable memory, the content addressable memory including a set of entries, each entry of the set of entries including tag and associated values; providing an associated value in response to a tag value, the associated value being responsive to at least one entry in the set of entries; and providing a pointer to the associated value to one of at least one result register.
Claim 21
Dependent Claim 82 words
A computer-readable medium containing computer-executable instructions for performing steps comprising: providing an input tag value to a content addressable memory, the content addressable memory including a set of entries, each entry of the set of entries including tag and associated values; providing an associated value in response to a tag value, the associated value being responsive to at least one entry in the set of entries; and providing a pointer to the associated value to one of at least one result register.
Claim 22
Dependent Claim 22 words
The computer-readable medium of claim 18 , having computer-executable instructions for performing steps including performing a register indirect operation on the pointer.
Claim 23
Dependent Claim 21 words
The computer-readable medium of claim 18 , having computer-executable instructions for performing steps including processing the associated value using the pointer.
Claim 24
Dependent Claim 50 words
The computer-readable medium of claim 18 , having computer-executable instructions for performing steps including: using a register indirect operation on the pointer to access the associated value; comparing the associated value with a selected set of lookup semantics; and validating the associated value in response to said steps for comparing.
Claim 25
Dependent Claim 77 words
The computer-readable medium of claim 18 , having computer-executable instructions for performing steps including: using a register indirect operation on the pointer to access the associated value; comparing the associated value with a selected set of lookup semantics, the set of lookup semantics being dynamically selectable in response to a value external to the content addressable memory; and validating the associated value in response to said comparing the associated value with the selected set of lookup semantics.
Claim 26
Dependent Claim 23 words
The computer-readable medium of claim 18 , having computer-executable instructions for performing steps including routing a message in response to the associated value.
Claim 27
Dependent Claim 27 words
The computer-readable medium of claim 18 , having computer-executable instructions for performing steps including using a register indirect operation on the pointer to access the associated value.
Claim 28
Dependent Claim 26 words
The computer-readable medium of claim 24 , wherein said using the register indirect operation includes using a null operation when the pointer shows a non-hit result.
Claim 29
Dependent Claim 23 words
The computer-readable medium of claim 24 , having computer-executable instructions for performing steps including forming an address for addressing the content addressable memory.
Claim 30
Dependent Claim 25 words
The computer-readable medium of claim 26 , wherein said forming the address relies in part upon a tag width corresponding to the input tag value.
Claim 31
Independent Claim 81 words
An apparatus comprising: means for providing an input tag value to a content addressable memory, the content addressable memory including a set of entries, each entry of the set of entries including tag and associated values; means for providing an associated value in response to a tag value, the associated value being responsive to at least one entry in the set of entries; and means for providing a pointer to the associated value to one of at least one result register.
Claim 32
Independent Claim 81 words
An apparatus comprising: means for providing an input tag value to a content addressable memory, the content addressable memory including a set of entries, each entry of the set of entries including tag and associated values; means for providing an associated value in response to a tag value, the associated value being responsive to at least one entry in the set of entries; and means for providing a pointer to the associated value to one of at least one result register.
Claim 33
Dependent Claim 17 words
The apparatus of claim 28 , including means for performing a register indirect operation on the pointer.
Claim 34
Dependent Claim 16 words
The apparatus of claim 28 , including means for processing the associated value using the pointer.
Claim 35
Dependent Claim 49 words
The apparatus of claim 28 , including: means for using a register indirect operation on the pointer to access the associated value; means for comparing the associated value with a selected set of lookup semantics; and means for validating the associated value in response to said steps for comparing.
Claim 36
Dependent Claim 76 words
The apparatus of claim 28 , including: means for using a register indirect operation on the pointer to access the associated value; means for comparing the associated value with a selected set of lookup semantics, the set of lookup semantics being dynamically selectable in response to a value external to the content addressable memory; and means for validating the associated value in response to said comparing the associated value with the selected set of lookup semantics.
Claim 37
Dependent Claim 18 words
The apparatus of claim 28 , including means for routing a message in response to the associated value.
Claim 38
Dependent Claim 22 words
The apparatus of claim 28 , including means for using a register indirect operation on the pointer to access the associated value.
Claim 39
Dependent Claim 29 words
The apparatus of claim 34 , wherein said means for using the register indirect operation includes means for using a null operation when the pointer shows a non-hit result.
Claim 40
Dependent Claim 18 words
The apparatus of claim 34 , including means for forming an address for addressing the content addressable memory.
Claim 41
Dependent Claim 26 words
The apparatus of claim 36 , wherein said means for forming the address relies in part upon a tag width corresponding to the input tag value.

References Cited (Backward Citations)

US5806083A Cited
US5619446A Cited
US5270591A Cited
US6122706A Cited
US6101115A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-03-17 2006-09-16 2007-03-18 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-03-17 2010-09-16 2011-03-18 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-03-17 2014-09-16 2015-03-18 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag