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

Multiport content addressable memory device and timing signals

Assignee: Avago Technologies International Sales Pte Ltd
•
Filing: 1997-10-30
•
Granted: 2001-03-06
•
Expires: 2017-10-30
📄 Original PDF 🌐 Google Patents

Abstract

Abstract A content addressable memory (CAM) device. The CAM device is a synchronous device that may perform all of the following operations all in one clock cycle: (1) receive comparand data from a comparand bus; (2) receive an instruction from an instruction bus instructing the CAM device to compare the comparand data with a first group of CAM cells in a CAM array; (3) perform the comparison of the comparand data with the first group of CAM cells; (4) generate a match address for a location in the CAM array that stores data matching the comparand data; (5) access data stored in a second group of the CAM cells in the CAM array, wherein the second group of CAM cells may store data associated with the matched location; and (6) output to an output bus the match address, the data stored in the second group of CAM cells, and/or status information corresponding to the matched address or the second group of CAM cells. The status information may include a match flag, multiple match flag, full flag, skip bit, empty bit, or a device identification for the CAM device.

Inventors

  • 👤 Varadarajan Srinivasan
  • 👤 Bindiganavale S. Nataraj
  • 👤 Sandeep Khanna

Bibliographic Details

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

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 245 words
A synchronous content addressable memory (CAM) device comprising: a CAM array having a plurality of rows of CAM cells coupled to a plurality of match lines; a first port coupled to the CAM array and for receiving comparand data; a comparand register coupled to receive the comparand data from the first port, and further coupled to provide the comparand data to the CAM array; a second port for receiving a compare instruction for the CAM device; an instruction decoder coupled to receive the compare instruction from the second port and configured to decode the compare instruction, wherein the compare instruction instructs the CAM device to compare the comparand data with data stored in the plurality of rows of CAM cells and to provide match results on the plurality of match lines; a priority encoder coupled to receive the match results from the plurality of match lines and configured to generate a match address; a third port coupled to the priority encoder to output the match address from the CAM device; and a timing generator coupled to receive a clock signal and a signal from the instruction decoder indicative of the decoded compare instruction, wherein in response to the clock signal and the signal from the instruction decoder the timing generator is configured to provide first and second timing signals to the comparand register and the priority encoder, respectively, to synchronize when the match address is output to the third port relative to the clock signal.
Claim 2
Dependent Claim 245 words
A synchronous content addressable memory (CAM) device comprising: a CAM array having a plurality of rows of CAM cells coupled to a plurality of match lines; a first port coupled to the CAM array and for receiving comparand data; a comparand register coupled to receive the comparand data from the first port, and further coupled to provide the comparand data to the CAM array; a second port for receiving a compare instruction for the CAM device; an instruction decoder coupled to receive the compare instruction from the second port and configured to decode the compare instruction, wherein the compare instruction instructs the CAM device to compare the comparand data with data stored in the plurality of rows of CAM cells and to provide match results on the plurality of match lines; a priority encoder coupled to receive the match results from the plurality of match lines and configured to generate a match address; a third port coupled to the priority encoder to output the match address from the CAM device; and a timing generator coupled to receive a clock signal and a signal from the instruction decoder indicative of the decoded compare instruction, wherein in response to the clock signal and the signal from the instruction decoder the timing generator is configured to provide first and second timing signals to the comparand register and the priority encoder, respectively, to synchronize when the match address is output to the third port relative to the clock signal.
Claim 3
Dependent Claim 24 words
The synchronous CAM device of claim 1 , further comprising a storage element coupled between the plurality of match lines and the priority encoder.
Claim 4
Dependent Claim 55 words
The synchronous CAM device of claim 2 , wherein the storage element is configured to couple the match results from the CAM array to the priority encoder in response to a third timing signal, and wherein the third timing signal is generated in response to the clock signal and the signal from the instruction decoder.
Claim 5
Dependent Claim 34 words
The synchronous CAM device of claim 1 , further comprising an address decoder coupled to receive the match address from the priority encoder and to provide a decoded match address to the CAM array.
Claim 6
Dependent Claim 51 words
The synchronous CAM device of claim 4 , wherein the address decoder is configured to provide the decoded match address to the CAM array in response to a third timing signal, wherein the third timing signal is generated in response to the clock signal and the signal from the instruction decoder.
Claim 7
Dependent Claim 28 words
The synchronous CAM device of claim 4 , further comprising means for sensing data stored in at least one of the CAM cells at the decoded match address.
Claim 8
Dependent Claim 50 words
The synchronous CAM device of claim 6 , wherein the sensing means further for providing the sensed data to the third port in response to a third timing signal, and wherein the third timing signal is generated in response to the clock signal and the signal from the instruction decoder.
Claim 9
Dependent Claim 23 words
The CAM device of claim 4 , further comprising a storage element coupled between the plurality of match lines and the priority encoder.
Claim 10
Dependent Claim 22 words
The CAM device of claim 4 , wherein the CAM device executes the instruction in one clock cycle of the clock signal.
Claim 11
Dependent Claim 22 words
The CAM device of claim 4 , wherein the CAM device executes the instruction in two clock cycles of the clock signal.
Claim 12
Dependent Claim 22 words
The synchronous CAM device of claim 4 , further comprising a storage element coupled between the priority encoder and the address decoder.
Claim 13
Dependent Claim 56 words
The synchronous CAM device of claim 11 , wherein the storage element further is configured to couple the match results from the priority encoder to the address decoder in response to a third timing signal, and wherein the third timing signal is generated in response to the clock signal and the signal from the instruction decoder.
Claim 14
Dependent Claim 18 words
The CAM device of claim 1 , further comprising a clock input configured to receive a clock signal.
Claim 15
Dependent Claim 24 words
The synchronous CAM device of claim 1 , wherein the CAM device executes the compare instruction in one clock cycle of the clock signal.
Claim 16
Dependent Claim 24 words
The synchronous CAM device of claim 1 , wherein the CAM device executes the compare instruction in two clock cycles of the clock signal.
Claim 17
Dependent Claim 21 words
The CAM device of claim 1 , further comprising a storage element coupled between the priority encoder and the address decoder.
Claim 18
Dependent Claim 44 words
The CAM device of claim 1 , further comprising an address selector coupled between the priority encoder and the address decoder, the address selector configured to couple either the match address or another address to the address decoder in response to the compare instruction.
Claim 19
Dependent Claim 203 words
The synchronous CAM device of claim 1 , wherein the timing generator is configured to provide third, fourth, fifth, and sixth timing signals in response to the clock signal and the signal from the instruction decoder, and wherein the synchronous CAM device further comprises: a first storage element coupled to the timing generator and coupled between the match lines and the priority encoder, wherein the first storage element is configured to couple the match results from the CAM array to the priority encoder in response to the third timing signal from the timing generator; a second storage element coupled to the timing generator and the priority encoder, wherein the second storage element is configured to output the match results from the priority encoder in response to the fourth timing signal; an address decoder coupled to the timing generator and the second storage element, the address decoder configured to provide a decoded match address to the CAM array in response to the fifth timing signal; and means for sensing data stored in at least one of the CAM cells at the decoded match address, wherein the sensing means for providing the sensed data to the third port in response to the sixth timing signal.
Claim 20
Dependent Claim 24 words
The synchronous CAM device of claim 18 , wherein the CAM device executes the compare instruction in one clock cycle of the clock signal.
Claim 21
Dependent Claim 24 words
The synchronous CAM device of claim 18 , wherein the CAM device executes the compare instruction in two clock cycles of the clock signal.
Claim 22
Dependent Claim 340 words
A synchronous content addressable memory (CAM) device comprising: a CAM array having a plurality of rows of CAM cells, wherein each CAM cell comprises: a memory cell coupled to first and second bit lines and for storing a bit and a second bit, wherein the first bit is the complement of the second bit, and wherein the first bit line is for carrying the first bit and the second bit line is for carrying the second bit; a compare circuit coupled to the memory cell and first and second compare lines, the first compare line for carrying a comparand data bit and the second compare line for carrying the logical complement of the comparand data bit, the compare circuit comprising: first and second transistors coupled in series between a power terminal and a match line, wherein the first transistor has its gate coupled to receive the first bit from the memory cell, and the second transistor has its gate coupled to receive the second comparand data bit from the second compare data line; and third and fourth transistors coupled in series between the memory cell and the match line, wherein the third transistor has its gate coupled to receive the second bit from the memory cell, and the fourth transistor has its gate coupled to receive the first comparand data bit from the first compare data line; and a first port coupled to the CAM array and configured to receive the first and second comparand data bits; a second port coupled to the CAM array and configured to receive an instruction for the CAM device; and a third port coupled to the CAM array, wherein the instruction instructs the CAM device to compare the first and second comparand data bits with the first and second data bits stored in at least one of the plurality of rows of CAM cells and output a match address to the third port, wherein the match address corresponds to the address of the at least one of the plurality of rows of CAM cells.
Claim 23
Dependent Claim 340 words
A synchronous content addressable memory (CAM) device comprising: a CAM array having a plurality of rows of CAM cells, wherein each CAM cell comprises: a memory cell coupled to first and second bit lines and for storing a bit and a second bit, wherein the first bit is the complement of the second bit, and wherein the first bit line is for carrying the first bit and the second bit line is for carrying the second bit; a compare circuit coupled to the memory cell and first and second compare lines, the first compare line for carrying a comparand data bit and the second compare line for carrying the logical complement of the comparand data bit, the compare circuit comprising: first and second transistors coupled in series between a power terminal and a match line, wherein the first transistor has its gate coupled to receive the first bit from the memory cell, and the second transistor has its gate coupled to receive the second comparand data bit from the second compare data line; and third and fourth transistors coupled in series between the memory cell and the match line, wherein the third transistor has its gate coupled to receive the second bit from the memory cell, and the fourth transistor has its gate coupled to receive the first comparand data bit from the first compare data line; and a first port coupled to the CAM array and configured to receive the first and second comparand data bits; a second port coupled to the CAM array and configured to receive an instruction for the CAM device; and a third port coupled to the CAM array, wherein the instruction instructs the CAM device to compare the first and second comparand data bits with the first and second data bits stored in at least one of the plurality of rows of CAM cells and output a match address to the third port, wherein the match address corresponds to the address of the at least one of the plurality of rows of CAM cells.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-03-05 2004-09-04 2005-03-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-03-05 2008-09-04 2009-03-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-03-05 2012-09-04 2013-03-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag