USRE39227E1 - Content addressable memory (CAM) arrays and cells having low power requirements - Google Patents

Content addressable memory (CAM) arrays and cells having low power requirements Download PDF

Info

Publication number
USRE39227E1
USRE39227E1 US10/403,581 US40358103A USRE39227E US RE39227 E1 USRE39227 E1 US RE39227E1 US 40358103 A US40358103 A US 40358103A US RE39227 E USRE39227 E US RE39227E
Authority
US
United States
Prior art keywords
cam
match
bit lines
cell
comparison
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US10/403,581
Inventor
Chuen-Der Lien
Chau-Chin Wu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Avago Technologies International Sales Pte Ltd
Original Assignee
Integrated Device Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Integrated Device Technology Inc filed Critical Integrated Device Technology Inc
Priority to US10/403,581 priority Critical patent/USRE39227E1/en
Application granted granted Critical
Publication of USRE39227E1 publication Critical patent/USRE39227E1/en
Assigned to SILICON VALLEY BANK reassignment SILICON VALLEY BANK SECURITY AGREEMENT Assignors: NETLOGIC MICROSYSTEMS CAYMANS LIMITED, NETLOGIC MICROSYSTEMS INTERNATIONAL LIMITED, NETLOGIC MICROSYSTEMS, INC.
Assigned to NETLOGIC MICROSYSTEMS, INC. reassignment NETLOGIC MICROSYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: INTEGRATED DEVICE TECHNOLOGY, INC.
Assigned to NETLOGIC MICROSYSTEMS, INC., NETLOGIC MICROSYSTEMS INTERNATIONAL LIMITED, NETLOGIC MICROSYSTEMS CAYMANS LIMITED reassignment NETLOGIC MICROSYSTEMS, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: SILICON VALLEY BANK
Assigned to NETLOGIC I LLC reassignment NETLOGIC I LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: NETLOGIC MICROSYSTEMS, INC.
Assigned to BROADCOM CORPORATION reassignment BROADCOM CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NETLOGIC I LLC
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A., AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: BROADCOM CORPORATION
Assigned to AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. reassignment AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BROADCOM CORPORATION
Assigned to BROADCOM CORPORATION reassignment BROADCOM CORPORATION TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Assignors: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements

Definitions

  • the present invention relates to content addressable memory (CAM) cells. More specifically, the present invention relates to nine transistor CAM cells and methods for operating these cells in an array.
  • CAM content addressable memory
  • FIG. 1 is a block diagram of a conventional memory array formed using twelve CAM cells.
  • the CAM cells are labeled M X,Y , where X is the row of the array, and Y is the column of the array.
  • the array includes CAM cells M 0,0 to M 2,3 .
  • Each of the CAM cells is programmed to store a data value. In the described example, the data value stored in each CAM cell is indicated by either a “0” or a “1” in brackets.
  • CAM cells M 0,0 , M 0,1 , M 0,2 and M 0,3 store data values of 0, 1, 0 and 0, respectively.
  • Each row of CAM cells is coupled to a common match line.
  • CAM cells M 0,0 , M 0,1 , M 0,2 and M 0,3 are coupled to match line MATCH 0 .
  • the array of CAM cells is addressed by providing a data value to each column of CAM cells.
  • data values D 0 , D 1 , D 2 and D 3 are provided to columns 0, 1, 2 and 3, respectively.
  • complementary data values D 0 #, D 1 #, D 2 # and D 3 # are also provided to columns 0, 1, 2 and 3, respectively.
  • the match signals Match 0 -MATCH 2 can be used for various purposes, such as implementing virtual addressing, in a manner (known to those skilled in the art.
  • CAM cells Many different types have been designed. Important considerations in the design of a CAM cell include: the number of transistors required to implement the cell, the power required to operate the CAM cell, and the speed of the CAM cell. In general, it is desirable to have a CAM cell that is implemented using a relatively small number of transistors, such that the layout area of the CAM cell is minimized. It is also desirable for the CAM cell to have a low power requirement and a fast operating speed.
  • FIG. 2 is a circuit diagram of a conventional nine tune transistor (9-T) CAM cell 10 .
  • CAM cell 10 is described in detail in U.S. Pat. No. 4,723,224.
  • CAM cell 10 includes a conventional static random access memory (SRAM) cell 12 and as exclusive OR (XOR) gate 14 .
  • SRAM cell 12 includes access transistors 20 and 22 , and cross-coupled inverters 16 and 18 .
  • Access transistors 20 and 22 are coupled to word line 28 and bit lines 24 and 26 , as illustrated.
  • Driver circuitry 36 provides a data value (D) and the inverse of the data value (D#) to bit lines 24 and 26 , respectively, during write and compare operations.
  • D data value
  • D# the inverse of the data value
  • SRAM cell 12 is written like a conventional SRAM cell. That is, a logic high value is applied to word line 28 , and data values D and D# are applied to bit lines 24 and 26 , respectively. As a result, the data values D and D# are latched by inverters 16 and 18 , such that the data value D is provided as the output of inverter 18 , and the inverted data value D# is provided at the output of inverter 16 .
  • XOR gate 14 includes n-channel transistors 30 and 32 , which are connected in series between bit lines 24 and 26 .
  • the output terminal of inverter 16 is connected to the gate of transistor 30 , such that the inverted data value D# stored in SRAM cell 12 is provided to the gate of transistor 30 .
  • the output terminal of inverter 18 is connected to the gate of transistor 32 , such that the data value D stored in SRAM cell 12 is provided to the gate of transistor 30 .
  • Transistors 30 and 32 are commonly connected at node 34 , which forms the output terminal of XOR gate 14 .
  • Node 34 is connected to the gate of n-channel transistor 38 .
  • Transistor 38 has a source coupled to ground line 42 , and a drain coupled to match line 40 .
  • CAM cell 10 performs a compare operation as follows.
  • Driver circuitry 36 applies a comparison data value (C) and its complement (C#) to bit lines 24 and 26 , respectively. If the comparison data value C matches the data value D stored in SRAM cell 12 , then node 34 is connected to receive a logic “0” signal. As a result, transistor 38 is turned off, thereby isolating match line 40 from ground line 42 . Under these conditions, match line 40 retains a pre-charged logic high value.
  • CAM cell 10 exhibits relatively high power consumption because the same driver circuitry 36 is used to supply the write data values as well as the comparison data values.
  • Driver circuitry 36 is powered by the V CC supply voltage, such that both the write and comparison data values have logic high values of V CC .
  • the compare operation of CAM cell 10 is relatively slow because the capacitance of SRAM cell 12 is coupled to bit lines 24 and 26 during the compare operation.
  • the present invention provides a CAM cell that implements a match line having a signal swing equal to one transistor threshold voltage, or about 0.3 Volts.
  • the operating power of the CAM cell of the present invention is relatively low because the match line only undergoes a small voltage swing during a compare operation.
  • a CAM in accordance with the present invention includes an SRAM cell that operates in response to a V CC supply voltage.
  • One or more read/write bit lines are coupled to the SRAM cell, thereby allowing read and write data values to be transferred to and from the SRAM cell.
  • the V CC and ground voltage supplies provide signals to the read/write bit lines. That is, the signals applied to the read/write bit lines vary between a high voltage of V CC and a low voltage of 0 Volts.
  • One or more comparison bit lines are coupled to receive a comparison data value.
  • the signals transmitted on the comparison bit lines have a signal swing that is less than the V CC supply voltage.
  • the signal swing on the comparison bit lines is equal to two times the transistor threshold voltage.
  • the transistor threshold voltage is equal to 0.3 Volts
  • the signal swing on the comparison bit lines is equal to 0.6 Volts. Because the comparison bit lines are not directly connected to the SRAM cell, the capacitance of the SRAM cell is advantageously not coupled to the comparison bit lines. This improves both operating speed and power consumption of the CAM cell.
  • the signals transmitted on the comparison bit lines are generated by a bit line control circuit that is powered in response to a supply voltage V CC1 that is significantly lower than the V CC supply voltage.
  • the supply voltage V CC1 can have a value as low as 0.9 Volts.
  • a sensor circuit is provided for comparing the data value stored in the CAM cell with the comparison data value provided on the comparison bit lines.
  • the sensor circuit pre-charges the match line prior to a compare operation. If the data value stored in the CAM cell does not match the comparison data value, the match line is pulled down.
  • the signal swing of the match line is smaller than the V CC supply voltage. In one embodiment, the signal swing on the match line is equal to transistor threshold voltage, or 0.3 Volts.
  • the sensor circuit monitors the voltage on the match line to determine whether the comparison data value matches the data value stored in the CAM cell (a match condition), or whether the comparison data value fails to match the data value stored in the CAM cell (a no-match condition).
  • the sensor circuit converts the small swing signal on the match line to a large swing output signal. This output signal has a signal swing equal to the V CC supply voltage.
  • a bit line control circuit is provided to control the voltages on the comparison bit lines.
  • the bit line control circuit equalizes the voltages on the comparison bit lines to an intermediate voltage prior to each compare operation. As a result, less power is consumed during the compare operation.
  • the intermediate voltage is equal to a transistor threshold voltage (e.g., 0.3 Volts).
  • FIG. 1 is a block diagram of a conventional array of CAM cells
  • FIG. 2 is a circuit diagram of a conventional nine transistor CAM cell
  • FIG. 3 which consists of FIGS. 3A and 3B as illustrated, is a schematic diagram of a 2 ⁇ 2 array of nine-transistor CAM cells in accordance with one embodiment of the present invention
  • FIGS. 4A and 4B are schematic diagrams of diode connected transistors that can be used in various embodiments of the invention.
  • FIG. 4C is a schematic diagram of a diode-connected transistor and a local masking transistor in accordance with another embodiment of the invention.
  • FIG. 5 is a schematic diagram of the sensor circuit of FIG. 3 in accordance with one embodiment of the present invention.
  • FIG. 6 is a schematic diagram of the bit line control circuit of FIG. 3 in accordance with one embodiment of the present invention.
  • FIG. 7A is a schematic diagram of an 8-T CAM cell in accordance with one variation of the present invention.
  • FIG. 7B is a schematic diagram of an 8-T CAM cell in accordance with another variation of the present invention.
  • FIG. 8 which consists of FIGS. 8A and 8B as illustrated, is a schematic diagram of a 2 ⁇ 2 array of nine-transistor CAM cells in accordance with another embodiment of the present invention.
  • FIG. 9 is a schematic diagram of the sensor circuit of FIG. 8 in accordance with one embodiment of the present invention.
  • FIG. 10A is a schematic diagram of an 8-T CAM cell in accordance with one variation of the present invention.
  • FIG. 10B is a schematic diagram of an 8-T CAM cell in accordance with another variation of the present invention.
  • FIG. 3 which consists of FIGS. 3A and 3B as illustrated, is a schematic diagram of an array of nine-transistor CAM cells 100 , 200 , 300 and 400 .
  • CAM cell 100 includes read/write bit lines 101 - 102 , compare bit lines 103 - 104 , word line 105 , p-channel transistors 110 - 111 , n-channel transistors 112 - 118 , and diode element 119 .
  • P-channel transistors 110 - 111 and n-channel transistors 112 - 115 are connected as a six-transistor SRAM cell. More specifically, transistors 110 and 112 are connected in series between the V CC supply terminal and the ground supply terminal to form a first inverter 121 .
  • transistors 111 and 113 are connected between the V CC supply terminal and the ground supply terminal to form a second inverter 122 .
  • Inverters 121 and 122 are cross-coupled, thereby forming a storage latch that stores a data value D 0 .
  • the output terminal of inverter 121 is labeled node N 1
  • the output terminal of inverter 122 is labeled node N 2 .
  • N-channel transistor 114 is coupled as an access transistor between node N 1 and read/write bit line 101 .
  • n-channel transistor 115 is coupled as an access transistor between node N 2 and read/write bit line 102 .
  • Read/write bit lines 101 and 102 are coupled to receive read/write data values D 0 and D 0 #, respectively, from column decoder circuitry (not shown).
  • Read/write data value D 0 has a logic high value of V CC and a logic low level of 0 Volts during a write operation.
  • read/write data value D 0 has a logic high value of V CC and a logic low level of V CC ⁇ CV during a read operation (where CV is about 300 mV).
  • Word line 105 is coupled to receive word line signal WL 0 from row decoder circuitry (not shown).
  • the word line signal VL 0 has a logic high value of V CC and a logic low value of 0 Volts.
  • Comparison bit lines 103 and 104 are coupled to receive comparison data values CD 0 and CD 0 # from bit line control circuit 120 , which is described in more detail below in connection with FIG. 5 .
  • Comparison data value CD 0 has a logic high value of 0.6 Volts, a logic low value of 0 Volts, and a pre-charge value of 0.3 Volts. Thus, the voltages used during a comparison operation are much lower than the V CC supply voltage.
  • bit line control circuit 120 operates in response to a supply voltage V CC1 , which is much less than the V CC supply voltage. In the described embodiment, the V CC1 supply voltage is about 0.9 Volts.
  • N-channel transistors 116 and 117 are connected in series between bit lines 103 and 104 .
  • Transistors 116 and 117 are commonly connected at node N 3 .
  • the gates of transistors 116 and 117 are connected to nodes N 1 and N 2 , respectively.
  • Node N 3 is coupled to a match sense line 150 through diode element 119 and n-channel transistor 118 .
  • Match sense line 150 is coupled to sensor circuit 130 .
  • Diode element 119 can be implemented in various ways, including a conventional p-n junction or a diode-connected transistor.
  • FIGS. 4A and 4B are schematic diagrams of diode connected transistors 119 A and 119 B, respectively, that can be used to implement diode element 119 in accordance with various embodiments of the invention.
  • diode element 119 is counted as one of the nine transistors of CAM cell 100 .
  • n-channel transistor 118 is an optional local masking transistor. Because local masking transistor 118 is optional, this transistor is typically not included in determining the transistor count of CAM cell 100 .
  • Local masking transistor 118 is coupled to receive a local mask enable signal LM# 1 .
  • FIG. 4c is a schematic diagram illustrating local masking transistor 118 coupled to diode connected transistor 119 A in accordance with another variation.
  • CAM cell 200 includes read/write bit lines 201 - 202 , comparison bit lines 203 - 204 , word line 105 , p-channel transistors 210 - 211 , n-channel transistors 212 - 218 , and diode element 219 .
  • the elements of CAM cell 200 are connected in the same manner as the elements of CAM cell 100 .
  • CAM cell 200 is connected to word line 105 in the same manner as CAM cell 100 .
  • CAM cell 200 is connected to match sense line 150 in the same manner as CAM cell 100 .
  • Read/write bit lines 201 and 202 of CAM cell 200 are coupled to receive read/write data values D 1 and D 1 # from column control circuitry (not shown).
  • Comparison bit lines 203 and 204 of CAM cell 200 are coupled to receive comparison data values CD 1 and CD 1 # from bit line control circuit 220 .
  • CAM cell 300 includes read/write bit lines 101 - 102 , comparison bit lines 103 - 104 , word line 106 , p-channel transistors 310 - 311 , n-channel transistors 312 - 318 , and diode element 319 .
  • CAM cell 400 includes read/write bit lines 201 - 202 , comparison bit lines 203 - 204 , word line 106 , p-channel transistors 410 - 411 , n-channel transistors 412 - 418 , and diode element 419 .
  • the elements of CAM cells 300 and 400 are connected in the same manner as the elements of CAM cell 100 .
  • CAM cells 300 and 400 are coupled to a second word line 106 in the same manner that CAM cells 100 and 200 are coupled to word line 105 .
  • CAM cells 300 and 400 are coupled to a second match sense line 151 in the same manner that CAM cells 100 and 200 are coupled to match sense line 150 .
  • Match sense line 151 is coupled to a sensor circuit 131 , which is identical to sensor circuit 130 .
  • CAM cells 100 and 300 share bit lines 101 - 104 .
  • CAM cells 200 and 400 share bit lines 201 - 204 .
  • an array of CAM cells includes eight rows and seventy-two columns of CAM cells.
  • Data values are written to a row of CAM cells (e.g., CAM cells 100 and 200 ), as follows.
  • the voltage WL 0 on word line 105 is pulled up to the V CC supply voltage (e.g., 2.5 Volts) by the row decoder circuitry.
  • access transistors 114 - 115 and 214 - 215 are turned on, thereby coupling bit lines 101 - 102 and 201 - 202 to the storage latches in CAM cells 100 and 200 .
  • the voltage WL 1 on the second word line 106 is pulled down to 0 Volts, thereby turning off access transistors 314 - 315 and 414 - 415 in CAM cells 300 and 400 .
  • bit lines 101 - 102 and 201 - 202 are isolated from the storage latches in CAM cells 300 and 400 .
  • the column decoder circuitry applies write data values D 0 , D 0 #, D 1 , and D 1 # to bit lines 101 , 102 , 201 and 202 , respectively. These write data values have a logic high value equal to the V CC supply voltage and a logic low value of 0 Volts. In the described example, data values D 0 , D 0 #, D 1 , and D 1 # have values of V CC , 0, 0 and V CC , respectively.
  • the write data values D 0 , D 0 #, D 1 , and D 1 # are transmitted through turned on access transistors 114 - 115 and 214 - 215 to the storage latches in CAM cells 100 and 200 .
  • the word line signal WL 0 is then de-asserted low, thereby turning off access transistors 114 - 115 and 214 - 215 , and latching the write data values D 0 , D 0 #, D 1 , and D 1 # in the storage latches of CAM cells 100 and 200 .
  • Write operations are therefore performed in the same manner as in a conventional six-transistor SRAM array.
  • nodes N 1 , N 2 , N 4 and N 5 store voltages of V CC , 0 Volts, 0 Volts and V CC , respectively.
  • Data values are read from a row of CAM cells (e.g., CAM cells 100 and 200 ), as follows.
  • the column decoder circuitry applies the V CC supply voltage to read/write bit lines 101 , 102 , 201 and 202 .
  • the voltage WL 0 on word line 105 is pulled up to the V CC supply voltage (e.g., 2.5 Volts) by the row decoder circuitry.
  • access transistors 114 - 115 and 214 - 215 are turned on, thereby coupling bit lines 101 - 102 and 201 - 202 to the storage latches in CAM cells 100 and 200 .
  • bit lines 101 - 102 and 201 - 202 are isolated from the storage latches in CAM cells 300 and 400 .
  • nodes N 2 and N 4 are pulled down through transistors 113 and 212 , respectively.
  • bit lines 102 and 201 are pulled down by transistors 113 and 212 , respectively.
  • Nodes N 2 and N 4 are pulled down to V CC -CV at this time, where CV is approximately 300 mV.
  • Bit lines 101 and 202 are not pulled down in this manner.
  • Sense amplifiers (not shown) coupled to bit lines 101 - 102 and 201 - 202 sense the different voltages on these bit lines to identify the data values stored by CAM cells 100 and 200 . Read operations are therefore performed in the same manner as in a conventional six-transistor SRAM array.
  • word lines 105 and 106 are maintained at 0 Volts, thereby isolating the CAM cells 100 , 200 , 300 and 400 from read/write bit lines 101 - 102 and 201 - 202 .
  • Read/write bit lines 101 - 102 and 201 - 202 are held at either V CC or 0 Volts during standby conditions.
  • a compare operation is performed as follows. During a compare operation, word lines 105 and 106 are maintained at a voltage of 0 Volts, thereby isolating the CAM cells 100 , 200 , 300 and 400 from bit lines 101 - 102 and 201 - 202 . Read/write bit lines 101 - 102 and 201 - 202 are held at either V CC or 0 Volts during a compare operation.
  • a compare operation is simultaneously performed within each CAM cell of the array, unless there is global or local masking that inhibits the compare operation within the CAM cell. For purposes of clarity, a compare operation within CAM cell 100 is described in detail. The compare operations performed within CAM cells 200 , 300 and 400 are identical to the compare operation performed within CAM cell 100 .
  • the compare operation within CAM cell 100 is controlled by bit line control circuit 120 and sensor circuit 130 .
  • the data value in the storage latch of CAM cell 100 turns on one and only one of transistors 116 and 117 , thereby coupling one of the comparison bit lines 103 - 104 to node N 3 .
  • node N 3 and comparison bit lines 103 - 104 are maintained at 0.3 Volts (assuming there is no global masking enabled by bit line control circuit 120 ).
  • Local masking transistor 118 is turned on (assuming there is no local masking enabled within CAM cell 100 ).
  • Sensor circuit 130 maintains match sense line 150 at a voltage of 0.6 Volts. A 0.3 Volt forward voltage drop therefore exists across diode-connected transistor 119 A.
  • bit line control circuit 120 applies comparison data values CD 0 and CD 0 # to comparison bit lines 103 and 104 , respectively.
  • the logic high comparison data value has a voltage of 0.6 Volts
  • the logic low comparison data value has a voltage of 0 Volts. If the comparison data value matches the data value stored in CAM cell 100 , then a voltage of 0.6 Volts is applied to node N 3 . Under these conditions, the voltage on match sense line 150 remains at 0.6 Volts. If the comparison data value does not match the data value stored in CAM cell 100 , then a voltage of 0 Volts is applied to node N 3 . Under these conditions, the voltage on match sense line 150 is pulled down to 0.3 Volts.
  • Sensor circuit 130 senses the voltage on match sense line 150 , and indicates a match condition if match sense line 150 is maintained at 0.6 Volts, and indicates a no-match condition if match sense line 150 is pulled down to 0.3 Volts. Because the full signal swing on match sense line 150 is equal to 0.3 Volts, and because the comparison bit lines are operated at voltages much less than the V CC supply voltage, the power requirements of a compare operation are advantageously very low in CAM cell 100 .
  • Local masking signal LM# 1 is an active low signal. If the local masking signal LM# 1 has a logic low value, local masking transistor 118 is turned off, thereby isolating node N 3 from match sense line 150 . Under these conditions, match sense line is maintained at 0.6 Volts, regardless of the results of the comparison within CAM cell 100 . CAM cell 100 therefore performs as if a match condition exists, regardless of the results of the comparison within CAM cell 100 . In this manner, local masking transistor 118 enables CAM cell 100 to be effectively masked from the comparison operation.
  • FIG. 4C is a schematic diagram illustrating another possible arrangement of diode-connected transistor 119 A and local masking transistor 118 . Other variations are apparent to those of ordinary skill in the art.
  • FIG. 5 is a schematic diagram of sensor circuit 130 .
  • Sensor circuit 130 includes inverters 501 - 502 , current sources 503 - 504 , NAND gate 505 and n-channel transistors 311 - 511 , which are connected as illustrated.
  • the CLK1 and CLK2 signals have logic low values.
  • the logic low CLK2 signal causes transistor 511 to turn on, thereby coupling the V CC1 supply voltage to the drain of transistor 513 .
  • the V CC1 supply voltage is equal to approximately three times the threshold voltage of an n-channel transistor, or about 0.9 Volts.
  • the logic low CLK1 signal causes NAND gate 505 to provide a logic high output signal (e.g., 2.5 Volts) to the gate of transistor 512 , thereby turning on this transistor.
  • a logic high output signal e.g. 2.5 Volts
  • transistor 512 also helps to pull up the voltage on the drain of transistor 513 to the V CC1 supply voltage.
  • transistors 514 and 515 are turned on by current source 504 .
  • Each of transistors 514 and 515 has a threshold voltage of 0.3 Volts.
  • the voltage on match sense line 150 is held at 0.6 Volts.
  • the voltage on node N 3 is equal to 0.3 Volts, or one threshold voltage below the voltage on match sense line 150 .
  • the compare operation begins when the CLK2 signal goes high.
  • the CLK2 signal transitions to a logic high state shortly before the CLK1 signal transitions to a logic high state.
  • the output signal provided by NAND gate 505 remains high for a short time after the CLK2 signal goes high. This ensures that transistor 512 remains on while the CLK2 signal goes high, thereby preventing noise conditions from pulling down the voltage on match sense line 150 .
  • the CLK1 signal then transitions to a logic high value, such that the output voltage provided by NAND gate 505 is determined by the state of the voltage on match sense line 150 .
  • node N 3 is either pulled up to 0.3 Volts (if a match condition exists) or pulled down to 0 Volts (if a no-match condition exists).
  • node N 3 will be coupled to a comparison bit line having a voltage of 0.6 Volts through either transistor 116 or transistor 117 . Under these conditions, no current flows through transistor 513 . As a result, the gate of transistor 513 is maintained at about 0.6 Volts. This 0.6 Volt signal represents a logic low input signal to NAND gate 505 . As a result, NAND gate 505 provides a logic high output signal to transistor 512 . Transistor 512 therefore remains on (even though there is no current flow). If the signal on match sense line 150 is pulled low by noise, then current source 503 will pull the voltage on match sense line 150 back up to 0.6 Volts through turned on transistor 512 .
  • NAND gate 505 The logic high output of NAND gate 505 is also provided to inverter 502 .
  • inverter 502 provides a logic low output signal having a voltage equal to the ground supply voltage (e.g., 0 Volts). This output signal is used to indicate a match condition to an encoder circuit (not shown).
  • node N 3 will be coupled to a comparison bit line having a voltage of 0 Volts through either transistor 116 or transistor 117 . As a result, node N 3 is pulled down to 0 Volts. Under these conditions, current will flow through transistor 513 . This current is greater than the current provided by current source 503 .
  • the voltage of match sense line 150 is pulled down to 0.3 Volts (i.e., one threshold voltage greater than the voltage on node N 3 ).
  • the 0.3 Volt signal on match sense line 150 causes the voltage on the gate of transistor 513 to be pulled up to the V CC supply voltage (e.g., 2.5 Volts) by current source 504 .
  • This V CC supply voltage represents a logic high input signal to NAND gate 505 . Consequently, NAND gate 505 provides a logic low output signal to the gate of transistor 512 . As a result, transistor 512 is turned off, thereby preventing DC current flow through transistor 513 .
  • NAND gate 505 The logic low output of NAND gate 505 is also provided to inverter 502 .
  • inverter 502 provides a logic high output signal having a voltage equal to the V CC supply voltage (e.g., 2.5 Volts). This output signal is used to indicate a no-match condition to an encoder circuit (not shown).
  • sensor circuit 130 has been described in connection with a single CAM cell 100 , it is understood that a match condition must exist in all of the CAM cells coupled to match sense line 150 in order for sensor circuit 130 to provide a logic high output signal to the encoder. Conversely, if a no-match condition exists in any one of the CAM cells coupled to match sense line 150 , then sensor circuit 130 will provide a logic low output signal to the encoder.
  • FIG. 6 is a schematic diagram of bit line control circuit 120 .
  • Bit line control circuit 121 is identical to bit line control circuit 120 .
  • Bit line control circuit 120 includes inverters 601 - 609 , NAND gates 611 - 612 , n-channel transistors 621 - 630 and current source 631 , which are connected as illustrated.
  • bit line control circuit 120 provides voltages on comparison bit lines 103 - 104 in response to a comparison data input value D IN , the clock signal CLK2, and a global masking signal GM#.
  • Bit line control circuit 120 operates as follows. Transistors 628 - 630 and current source 631 are connected to form a regulated voltage source 640 .
  • Current source 631 which operates in response to the V CC supply voltage, turns on transistors 629 and 630 .
  • Each of transistors 629 and 630 has a threshold voltage of 0.3 Volts.
  • the voltage on voltage supply line 650 is held at 0.6 Volts.
  • Transistor 628 which is coupled to the V CC1 voltage supply (0.9 Volts), is turned on to help pull up voltage supply line 650 to 0.6 Volts.
  • the voltage on voltage supply line 650 is selected to be equal to two times the threshold voltage of an n-channel transistor (i.e., 0.3 Volts).
  • Global masking signal GM# is an active low signal.
  • inverters 602 - 604 provide a logic high signal to transistors 621 and 622 , thereby turning on these transistors.
  • the logic low GM# signal causes transistors 623 - 626 to be turned off.
  • Transistor 627 is either turned off or turned on, depending on the state of the CLK2 signal.
  • both of comparison bit lines 103 and 104 are connected to receive a voltage of 0.6 Volts from voltage supply line 650 . If both of comparison bit lines 103 have a voltage of 0.6 Volts, then all of the CAM cells in the column served by bit line control circuit 120 will indicate a match condition during a compare operation. As a result, the entire column is effectively masked during such a compare operation.
  • the CLK2 signal can have a logic low or logic high value.
  • a pre-charge operation is performed if the CLK2 signal has a logic low value, and a compare operation is performed if the CLK2 signal has a logic high value. If the CLK2 signal has a logic low value, transistor 627 is turned on, thereby connecting comparison bit lines 103 and 104 .
  • the logic low CLK2 signal further causes transistors 623 - 626 to turn off, thereby isolating comparison bit lines 103 and 104 from voltage supply line 650 and the ground voltage supply.
  • a compare operation occurs when the CLK2 signal transitions to a logic high value (and the GM# signal is de-asserted high). Under these conditions, transistors 621 - 622 and 627 are turned off. Comparison data input value D IN is asserted at this time. A comparison data input value D IN having a logic high state will turn on transistors 623 and 624 (and turn off transistors 625 and 626 ), thereby applying 0.6 Volts to comparison bit line 103 and 0 Volts to comparison bit line 104 .
  • a comparison data input value D IN having a logic low state will turn on transistors 625 and 626 (and turn off transistors 623 and 624 ), thereby applying 0.6 Volts to comparison bit line 104 and 0 Volts to comparison bit line 103 .
  • FIG. 7A is a schematic diagram of an 8-T CAM cell 700 A in accordance with one variation of the present invention. Similar elements in CAM cell 100 ( FIG. 3 ) and CAM cell 700 A are labeled with similar reference numbers. CAM cell 700 A includes the same elements as CAM cell 100 , with the exception of access transistor 115 and bit line 102 , which are not present in CAM cell 700 A. CAM cell 700 A is written and read through bit line 101 and access transistor 114 . The compare operation of CAM cell 700 A is identical to the compare operation of CAM cell 100 . CAM cell 700 A advantageously uses one less transistor and one less bit line than CAM cell 100 . Note that the above-described variations of CAM cell 100 can also be applied to CAM cell 700 A.
  • FIG. 7B is a schematic diagram of an 8-T CAM 700 B in accordance with another variation of the present invention. Similar elements in CAM cell 100 ( FIG. 3 ) and CAM cell 700 B are labeled with similar reference numbers. CAM cell 700 B includes the same elements as CAM cell 100 , with the exception of access transistor 115 and bit lines 102 and 103 , which are not present in CAM cell 700 B. CAM cell 700 B is written and read through bit line 101 and access transistor 114 . The compare operation of CAM cell 700 B is similar to the compare operation of CAM cell 100 . However, the comparison data value CD 0 is provided on bit line 101 in this variation.
  • Selection circuitry (not shown) is provided to selectively couple bit line 101 to the above-described column select circuitry (not shown) during a read or a write operation, or to the bit line control circuit 120 during a compare operation.
  • CAM cell 700 B advantageously uses one fewer transistor and two fewer bit lines than CAM cell 100 . Note that the above-described variations of CAM cell 100 can also be applied to CAM cell 700 B.
  • FIG. 8 which consists of FIGS. 8A and 8B as illustrated, is a schematic diagram of an array of nine-transistor CAM cells 1000 , 2000 , 3000 and 4000 . Because CAM cells 1000 , 2000 , 3000 and 4000 are similar to CAM cells 100 , 200 , 300 and 400 (FIG. 3 ), similar elements in FIGS. 3 and 8 are labeled with similar reference numbers.
  • CAM cell 1000 replaces diode element 119 , local masking transistor 118 and match sense line 150 of CAM cell 100 with match transistor 1190 , local masking transistor 1180 and match sense lines 1500 and 1510 .
  • Transistors 1180 and 1190 are connected in series between match sense lines 1500 and 1510 .
  • the gate of match transistor 1190 is coupled to node N 3 . Both of match sense lines 1500 and 1510 are connected to sensor circuit 1300 .
  • CAM cells 2000 , 3000 and 4000 include similar match transistors 2190 , 3190 and 4190 and similar local masking transistors 2180 , 3180 and 4180 .
  • CAM cells 3000 and 4000 share match sense lines 1520 and 1530 , which in turn, are connected to sensor circuit 1310 .
  • Bit line control circuits 1200 and 2200 are connected to comparison bit lines 103 - 104 and 203 - 204 , respectively.
  • FIG. 8 only has two rows and two columns of CAM cells, it is understood that this array can be expanded to include many more rows and columns of CAM cells.
  • the manner of expansion is obvious in view of the 2 ⁇ 2 array of CAM cells 1000 , 2000 , 3000 and 4000 shown in FIG. 8 .
  • CAM cells 1000 , 2000 , 3000 and 4000 are identical, only CAM cell 1000 is described in detail.
  • sensor circuits 1300 and 1310 are identical, only sensor circuit 1300 is described in detail.
  • CAM cell 1000 reverses the polarity of the comparison data values CD 0 and CD 0 # provided by bit line control circuit 120 , such that comparison data value CD 0 # is applied to comparison bit line 103 , and comparison data value CD 0 is applied to comparison bit line 104 .
  • voltage supply line 650 is directly connected to the V CC1 supply voltage of 0.9 Volts (3V T ) instead of to regulated voltage source 640 .
  • the bit line control circuit 1200 is identical to bit line control circuit 120 (FIG. 6 ).
  • Read, write and standby operations are performed within CAM cell 1000 in the same manner described above in connection with CAM cell 100 .
  • a compare operation is performed within CAM cell 1000 as follows. During a compare operation, word lines 105 and 106 are maintained at a voltage of 0 Volts, thereby isolating the CAM cells 1000 , 2000 , 3000 and 4000 from bit lines 101 - 102 and 201 - 202 . Read/write bit lines 101 - 102 and 201 - 202 are held at either V CC or 0 Volts during a compare operation.
  • a compare operation is simultaneously performed within each CAM cell of the array, unless there is global or local masking that inhibits the compare operation within the CAM cell. For purposes of clarity, a compare operation within CAM cell 1000 is described in detail. The compare operations performed within CAM cells 2000 , 3000 and 4000 are identical to the compare operation performed within CAM cell 1000 .
  • the compare operation within CAM cell 1000 is controlled by bit line control circuit 1200 and sensor circuit 1300 .
  • the data value in the storage latch of CAM cell 1000 turns on one and only one of transistors 116 and 117 , thereby coupling one of the comparison bit lines 103 - 104 to node N 3 .
  • node N 3 and comparison bit lines 103 - 104 are maintained at 0.3 Volts (assuming there is no global masking enabled by bit line control circuit 1200 ).
  • Local masking transistor 1180 is turned on (assuming there is no local masking enabled within CAM cell 1000 ).
  • Sensor circuit 1300 maintains match sense lines 1500 and 1510 at 0.3 Volts.
  • bit line control circuit 1200 applies comparison data values CD 0 and CD 0 # to comparison bit lines 104 and 103 , respectively.
  • the logic high comparison data value has a voltage of 0.9 Volts (i.e., V CC1 or 3V T ), and the logic low comparison data value has a voltage of 0 Volts. If the comparison data value matches the data value stored in CAM cell 1000 , then a voltage of 0 Volts is applied to node N 3 . Under these conditions, match transistor 1190 is turned off, thereby allowing the voltage on match sense line 1500 to remain at 0.3 Volts.
  • a voltage of 0.9 Volts is applied to node N 3 .
  • 1 match transistor 1190 turns on, thereby pulling down the voltage on match sense line 1500 down to 0 Volts.
  • Sensor circuit 1300 senses the voltage on match sense line 1500 , and indicates a no-match condition if match sense line 1500 is pulled down to 0 Volts, and indicates a match condition if match sense line 1500 remains at 0.3 Volts. Because the full signal swing on match sense line 1500 is equal to 0.3 Volts, and because the bit line control circuit 1200 is powered by the V CC1 supply voltage, the power requirements of a compare operation are advantageously very low in CAM cell 1000 .
  • Local masking signal LM# 1 is an active low signal. If the local masking signal LM# 1 has a logic low value, local masking transistor 1180 is turned off, thereby isolating match sense lines 1500 and 1510 . Under these conditions, match sense line is maintained at 0.3 Volts, regardless of the results of the comparison within CAM cell 1000 . CAM cell 1000 therefore performs as if a match condition exists, regardless of the results of the comparison within CAM cell 1000 . In this manner, local masking transistor 1180 enables CAM cell 1000 to be effectively masked from the comparison operation. Although FIG. 8 indicates that local masking transistor 1180 is coupled between match transistor 1190 and match sense line 1510 , it is understood that local masking transistor 1180 can be coupled between match transistor 1190 and match sense line 1500 to achieve similar results.
  • FIG. 9 is a schematic diagram of sensor circuit 1300 . Because sensor circuit 1300 is similar to sensor circuit 130 (FIG. 5 ), similar elements in FIGS. 5 and 9 are labeled with similar reference numbers. Sensor circuit 1300 eliminates transistor 515 of sensor circuit 130 , such that the source of transistor 514 is connected to ground. Sensor circuit 1300 further includes n-channel transistor 516 , which is connected in series across match lines 1500 and 1510 . The gate of transistor 516 is connected to the output terminal of inverter 501 . Sensor circuit 1500 also includes n-channel transistor 517 , which is connected between match sense line 1510 and the ground supply terminal. The gate of transistor 517 is coupled to receive the CLK2 signal.
  • the CLK1 and CLK2 signals have logic low values.
  • the logic low CLK2 signal causes transistor 511 to turn on, thereby coupling the V CC1 supply voltage to the drain of transistor 513 .
  • the V CC1 supply voltage is equal to approximately three times the threshold voltage of an n-channel transistor, or about 0.9 Volts.
  • the logic low CLK1 signal causes NAND gate 505 to provide a logic high output signal (e.g., 2.5 Volts) to the gate of transistor 512 , thereby turning on this transistor.
  • transistor 512 also helps to pull up the voltage on the drain of transistor 513 to the V CC1 supply voltage.
  • transistor 514 is turned on by current source 504 .
  • Transistor 514 has a threshold voltage of 0.3 Volts.
  • the voltage on match sense line 1500 is held at 0.3 Volts.
  • the logic low CLK2 signal causes transistor 516 to turn on, thereby coupling match sense lines 1500 and 1510 . Consequently, match sense line 1510 is also held at 0.3 Volts.
  • the compare operation begins when the CLK2 signal goes high.
  • the logic high CLK2 signal causes transistors 511 and 516 to be turned off.
  • the CLK2 signal transitions in a logic high state shortly before the CLK1 signal transitions to a logic high state.
  • the output signal provided by NAND gate 505 remains high for a short time after the CLK2 signal goes high. This ensures that transistor 512 remains on while the CLK2 signal goes high, thereby preventing noise conditions from pulling down the voltage on match sense line 1500 .
  • the CLK1 signal then transitions to a logic high value, such that the output voltage provided by NAND gate 505 is determined by the state of the voltage on match sense line 1500 .
  • node N 3 is either pulled up to 0.9 Volts (if a no-match condition exists) or pulled down to 0 Volts (if a match condition exists).
  • node N 3 will be coupled to a comparison bit line having a voltage of 0.9 Volts through either transistor 116 or transistor 117 .
  • match transistor 1190 turns on, and current flows through transistor 513 .
  • This current is greater than the current provided by current source 503 .
  • the voltage of match sense line 1500 is pulled down to 0 Volts.
  • the 0 Volt signal on match sense line 1500 causes the voltage on the gate of transistor 513 to be pulled up to the V CC supply voltage (e.g., 2.5 Volts) by current source 304 .
  • This V CC supply voltage represents a logic high input signal to NAND gate 505 . Consequently, NAND gate 505 provides a logic low output signal to the gate of transistor 512 .
  • transistor 512 is turned off, thereby preventing DC current flow through transistor 513 .
  • NAND gate 505 The logic low output of NAND gate 505 is also provided to inverter 502 .
  • inverter 502 provides a logic high output signal having a voltage equal to the V CC supply voltage (e.g., 2.5 Volts). This output signal is used to indicate a no-match condition to an encoder circuit (not shown).
  • node N 3 will be coupled to a comparison bit line having a voltage of 0 Volts through either transistor 116 or transistor 117 .
  • no current flows through transistor 513 . Consequently, the gate of transistor 513 is maintained at about 0.3 Volts.
  • This 0.3 Volt signal represents a logic low input signal to NAND gate 505 .
  • NAND gate 505 provides a logic high output signal to transistor 512 .
  • Transistor 512 therefore remains on (even though there is no current flow). If the signal on match sense line 1500 is pulled low by noise, then current source 503 will pull the voltage on match sense line 1500 back up to 0.3 Volts through turned on transistor 512 .
  • NAND gate 505 The logic high output of NAND gate 505 is also provided to inverter 502 .
  • inverter 502 provides a logic low output signal having a voltage equal to 0 Volts. This output signal is used to indicate a match condition to an encoder circuit (not shown).
  • sensor circuit 1300 has been described in connection with a single CAM cell 1000 , it is understood that a match condition must exist in all of the CAM cells coupled to match sense line 1500 in order for sensor circuit 1300 to provide a logic low output signal to the encoder. Conversely, if a no-match condition exists in any one of the CAM cells coupled to match sense line 1500 , then sensor circuit 1300 will provide a logic high output signal to the encoder.
  • FIG. 10A is a schematic diagram of an 8-T CAM cell 800 A in accordance with one variation of the present invention. Similar elements in CAM cell 1000 ( FIG. 8 ) and CAM cell 800 A are labeled with similar reference numbers. CAM cell 800 A includes the same elements as CAM cell 1000 , with the exception of access transistor 115 and bit line 102 , which are not present in CAM cell 800 A. CAM cell 800 A is written and read through bit line 101 and access transistor 114 . The compare operation of CAM cell 800 A is identical to the compare operation of CAM cell 1000 . CAM cell 800 A advantageously uses one less transistor and one less bit line than CAM cell 1000 . Note that the above-described variations of CAM cell 1000 can also be applied to CAM cell 800 A.
  • FIG. 10B is a schematic diagram of an 8-T CAM cell 800 B in accordance with another variation of the present invention. Similar elements in CAM cell 1000 ( FIG. 8 ) and CAM cell 800 B are labeled with similar reference numbers. CAM cell 800 B includes the same elements as CAM cell 1000 , with the exception of access transistor 115 and bit lines 102 and 103 , which are not present in CAM cell 800 B. CAM cell 800 B is written and read through bit line 101 and access transistor 114 . The compare operation of CAM cell 800 B is similar to the compare operation of CAM cell 1000 . However, the comparison data value CD 0 # is provided on bit line 101 in this variation.
  • Selection circuitry (not shown) is provided to selectively couple bit line 101 to the above-described column select circuitry (not shown) during a read or a write operation, or to the bit line control circuit 120 during a compare operation.
  • CAM cell 800 B advantageously uses one fewer transistor and two fewer bit lines than CAM cell 1000 . Note that the above-described variations of CAM cell 1000 can also be applied to CAM cell 800 B.

Landscapes

  • Static Random-Access Memory (AREA)

Abstract

A content addressable memory (CAM) cell that includes a static random access memory (SRAM) cell that operates in response to a VCC supply voltage. A first set of bit lines coupled to the SRAM cell are used to transfer data values to and from the SRAM cell. The signals transmitted on the first set of bit lines have a signal swing equal to the VCC supply voltage. A second set of bit lines is coupled to receive a comparison data value. The signals transmitted on the second set of bit lines have a signal swing that is less than the VCC supply voltage. For example, the signal swing on the second set of bit lines can be as low as two transistor threshold voltages. The second set of bit lines is biased with a supply voltage that is less than the VCC supply voltage. A sensor circuit is provided for comparing the data value stored in the CAM cell with the comparison data value. The sensor circuit pre-charges a match scan line prior to a compare operation. If the data value stored in the CAM cell does not match the comparison data value, the match sense line is pulled down. The signal swing of the match sense line is smaller than the VCC supply voltage. For example, the signal swing on the match sense line can be as low as one transistor threshold voltage.

Description

This application is a divisional of U.S. application Ser. No. 10/246,586, filed Sep. 18, 2002, now abandoned, which is a reissue of U.S. application Ser. No. 09/185,057, filed Nov. 2, 1998, now U.S. Pat. No. 6,128,207.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to content addressable memory (CAM) cells. More specifically, the present invention relates to nine transistor CAM cells and methods for operating these cells in an array.
2. Discussion of Related Art
CAM cells are defined as memory cells that are addressed in response to their content, rather than by a physical address within an array. FIG. 1 is a block diagram of a conventional memory array formed using twelve CAM cells. The CAM cells are labeled MX,Y, where X is the row of the array, and Y is the column of the array. Thus, the array includes CAM cells M0,0 to M2,3. Each of the CAM cells is programmed to store a data value. In the described example, the data value stored in each CAM cell is indicated by either a “0” or a “1” in brackets. For example, CAM cells M0,0, M0,1, M0,2 and M0,3 store data values of 0, 1, 0 and 0, respectively. Each row of CAM cells is coupled to a common match line. For example, CAM cells M0,0, M0,1, M0,2 and M0,3 are coupled to match line MATCH0.
The array of CAM cells is addressed by providing a data value to each column of CAM cells. Thus data values D0, D1, D2 and D3 are provided to columns 0, 1, 2 and 3, respectively. Note that complementary data values D0#, D1#, D2# and D3# are also provided to columns 0, 1, 2 and 3, respectively. If the data values stored in a row of the CAM cells match the applied data values D0-D3, then a match condition occurs. For example, if the data values D0, D1, D2 and D3 are 0, 1, 0 and 0, respectively, then the data values stored in the CAM cells of row 0 match the applied data values. Under these conditions, the MATCHo signal is asserted high. Because the applied data values D0, D1, D2 and D3 do not match the data values store in the CAM cells of rows 1 or 2, the MATCH1 and MATCH2 signals are de-asserted low. The match signals Match0-MATCH2 can be used for various purposes, such as implementing virtual addressing, in a manner (known to those skilled in the art.
Many different types of CAM cells have been designed. Important considerations in the design of a CAM cell include: the number of transistors required to implement the cell, the power required to operate the CAM cell, and the speed of the CAM cell. In general, it is desirable to have a CAM cell that is implemented using a relatively small number of transistors, such that the layout area of the CAM cell is minimized. It is also desirable for the CAM cell to have a low power requirement and a fast operating speed.
FIG. 2 is a circuit diagram of a conventional nine tune transistor (9-T) CAM cell 10. CAM cell 10 is described in detail in U.S. Pat. No. 4,723,224. CAM cell 10 includes a conventional static random access memory (SRAM) cell 12 and as exclusive OR (XOR) gate 14. SRAM cell 12 includes access transistors 20 and 22, and cross-coupled inverters 16 and 18. Access transistors 20 and 22 are coupled to word line 28 and bit lines 24 and 26, as illustrated. Driver circuitry 36 provides a data value (D) and the inverse of the data value (D#) to bit lines 24 and 26, respectively, during write and compare operations.
SRAM cell 12 is written like a conventional SRAM cell. That is, a logic high value is applied to word line 28, and data values D and D# are applied to bit lines 24 and 26, respectively. As a result, the data values D and D# are latched by inverters 16 and 18, such that the data value D is provided as the output of inverter 18, and the inverted data value D# is provided at the output of inverter 16.
XOR gate 14 includes n- channel transistors 30 and 32, which are connected in series between bit lines 24 and 26. The output terminal of inverter 16 is connected to the gate of transistor 30, such that the inverted data value D# stored in SRAM cell 12 is provided to the gate of transistor 30. Similarly, the output terminal of inverter 18 is connected to the gate of transistor 32, such that the data value D stored in SRAM cell 12 is provided to the gate of transistor 30. Transistors 30 and 32 are commonly connected at node 34, which forms the output terminal of XOR gate 14. Node 34 is connected to the gate of n-channel transistor 38. Transistor 38 has a source coupled to ground line 42, and a drain coupled to match line 40.
CAM cell 10 performs a compare operation as follows. Driver circuitry 36 applies a comparison data value (C) and its complement (C#) to bit lines 24 and 26, respectively. If the comparison data value C matches the data value D stored in SRAM cell 12, then node 34 is connected to receive a logic “0” signal. As a result, transistor 38 is turned off, thereby isolating match line 40 from ground line 42. Under these conditions, match line 40 retains a pre-charged logic high value.
Conversely, if the comparison data value C does not match the data value D stored in SRAM cell 12, then node 34 is connected to receive a logic “1” signal. As a result, transistor 38 is turned on, thereby coupling match line 40 to ground line 42. Under these conditions, match line 40 is pulled down toward ground.
CAM cell 10 exhibits relatively high power consumption because the same driver circuitry 36 is used to supply the write data values as well as the comparison data values. Driver circuitry 36 is powered by the VCC supply voltage, such that both the write and comparison data values have logic high values of VCC. Moreover, the compare operation of CAM cell 10 is relatively slow because the capacitance of SRAM cell 12 is coupled to bit lines 24 and 26 during the compare operation.
It would therefore be desirable to have an improved CAM cell which allows a compare operation to be carried out using a supply voltage less than the VCC supply voltage. It would also be desirable for the improved CAM cell to have bit lines that are not coupled to the capacitance introduced by an SRAM cell during a compare operation. It would also be desirable for the improved CAM cell to be implemented using fewer transistors than conventional CAM cell 10. It would further be desirable for the improved CAM cell to have global and local masking capabilities.
SUMMARY
Accordingly, the present invention provides a CAM cell that implements a match line having a signal swing equal to one transistor threshold voltage, or about 0.3 Volts. The operating power of the CAM cell of the present invention is relatively low because the match line only undergoes a small voltage swing during a compare operation.
A CAM in accordance with the present invention includes an SRAM cell that operates in response to a VCC supply voltage. One or more read/write bit lines are coupled to the SRAM cell, thereby allowing read and write data values to be transferred to and from the SRAM cell. The VCC and ground voltage supplies provide signals to the read/write bit lines. That is, the signals applied to the read/write bit lines vary between a high voltage of VCC and a low voltage of 0 Volts.
One or more comparison bit lines are coupled to receive a comparison data value. The signals transmitted on the comparison bit lines have a signal swing that is less than the VCC supply voltage. In one embodiment, the signal swing on the comparison bit lines is equal to two times the transistor threshold voltage. Thus, if the transistor threshold voltage is equal to 0.3 Volts, then the signal swing on the comparison bit lines is equal to 0.6 Volts. Because the comparison bit lines are not directly connected to the SRAM cell, the capacitance of the SRAM cell is advantageously not coupled to the comparison bit lines. This improves both operating speed and power consumption of the CAM cell.
Moreover, the signals transmitted on the comparison bit lines are generated by a bit line control circuit that is powered in response to a supply voltage VCC1 that is significantly lower than the VCC supply voltage. In one embodiment, the supply voltage VCC1 can have a value as low as 0.9 Volts. By lowering the supply voltage required to perform a compare operation, the power of operating the CAM is advantageously reduced.
A sensor circuit is provided for comparing the data value stored in the CAM cell with the comparison data value provided on the comparison bit lines. The sensor circuit pre-charges the match line prior to a compare operation. If the data value stored in the CAM cell does not match the comparison data value, the match line is pulled down. The signal swing of the match line is smaller than the VCC supply voltage. In one embodiment, the signal swing on the match line is equal to transistor threshold voltage, or 0.3 Volts.
The sensor circuit monitors the voltage on the match line to determine whether the comparison data value matches the data value stored in the CAM cell (a match condition), or whether the comparison data value fails to match the data value stored in the CAM cell (a no-match condition). The sensor circuit converts the small swing signal on the match line to a large swing output signal. This output signal has a signal swing equal to the VCC supply voltage.
In one embodiment of the invention, a bit line control circuit is provided to control the voltages on the comparison bit lines. The bit line control circuit equalizes the voltages on the comparison bit lines to an intermediate voltage prior to each compare operation. As a result, less power is consumed during the compare operation. In one embodiment the intermediate voltage is equal to a transistor threshold voltage (e.g., 0.3 Volts).
The present invention will be more fully understood in view of the following description and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a conventional array of CAM cells;
FIG. 2 is a circuit diagram of a conventional nine transistor CAM cell;
FIG. 3, which consists of FIGS. 3A and 3B as illustrated, is a schematic diagram of a 2×2 array of nine-transistor CAM cells in accordance with one embodiment of the present invention;
FIGS. 4A and 4B are schematic diagrams of diode connected transistors that can be used in various embodiments of the invention;
FIG. 4C is a schematic diagram of a diode-connected transistor and a local masking transistor in accordance with another embodiment of the invention;
FIG. 5 is a schematic diagram of the sensor circuit of FIG. 3 in accordance with one embodiment of the present invention;
FIG. 6 is a schematic diagram of the bit line control circuit of FIG. 3 in accordance with one embodiment of the present invention;
FIG. 7A is a schematic diagram of an 8-T CAM cell in accordance with one variation of the present invention;
FIG. 7B is a schematic diagram of an 8-T CAM cell in accordance with another variation of the present invention;
FIG. 8, which consists of FIGS. 8A and 8B as illustrated, is a schematic diagram of a 2×2 array of nine-transistor CAM cells in accordance with another embodiment of the present invention;
FIG. 9 is a schematic diagram of the sensor circuit of FIG. 8 in accordance with one embodiment of the present invention;
FIG. 10A is a schematic diagram of an 8-T CAM cell in accordance with one variation of the present invention; and
FIG. 10B is a schematic diagram of an 8-T CAM cell in accordance with another variation of the present invention.
DETAILED DESCRIPTION
FIG. 3, which consists of FIGS. 3A and 3B as illustrated, is a schematic diagram of an array of nine- transistor CAM cells 100, 200, 300 and 400. CAM cell 100 includes read/write bit lines 101-102, compare bit lines 103-104, word line 105, p-channel transistors 110-111, n-channel transistors 112-118, and diode element 119. P-channel transistors 110-111 and n-channel transistors 112-115 are connected as a six-transistor SRAM cell. More specifically, transistors 110 and 112 are connected in series between the VCC supply terminal and the ground supply terminal to form a first inverter 121. Similarly, transistors 111 and 113 are connected between the VCC supply terminal and the ground supply terminal to form a second inverter 122. Inverters 121 and 122 are cross-coupled, thereby forming a storage latch that stores a data value D0. The output terminal of inverter 121 is labeled node N1, and the output terminal of inverter 122 is labeled node N2.
N-channel transistor 114 is coupled as an access transistor between node N1 and read/write bit line 101. Similarly, n-channel transistor 115 is coupled as an access transistor between node N2 and read/write bit line 102. Read/ write bit lines 101 and 102 are coupled to receive read/write data values D0 and D0#, respectively, from column decoder circuitry (not shown). Read/write data value D0 has a logic high value of VCC and a logic low level of 0 Volts during a write operation. Similarly, read/write data value D0 has a logic high value of VCC and a logic low level of VCC−CV during a read operation (where CV is about 300 mV). The gates of access transistors 114 and 115 are commonly connected to word line 105. Word line 105 is coupled to receive word line signal WL0 from row decoder circuitry (not shown). The word line signal VL0 has a logic high value of VCC and a logic low value of 0 Volts.
Comparison bit lines 103 and 104 are coupled to receive comparison data values CD0 and CD0# from bit line control circuit 120, which is described in more detail below in connection with FIG. 5. Comparison data value CD0 has a logic high value of 0.6 Volts, a logic low value of 0 Volts, and a pre-charge value of 0.3 Volts. Thus, the voltages used during a comparison operation are much lower than the VCC supply voltage. Moreover, bit line control circuit 120 operates in response to a supply voltage VCC1, which is much less than the VCC supply voltage. In the described embodiment, the VCC1 supply voltage is about 0.9 Volts. As a result, the power requirements of CAM cell 100 are much less than a conventional 9-T CAM cell. In addition, the bit lines 103-104 used to perform a comparison are not coupled to the 6-T SRAM cell. As a result, the comparison operation is not burdened by the capacitance introduced by the 6-T SRAM cell. N- channel transistors 116 and 117 are connected in series between bit lines 103 and 104. Transistors 116 and 117 are commonly connected at node N3. The gates of transistors 116 and 117 are connected to nodes N1 and N2, respectively. Node N3 is coupled to a match sense line 150 through diode element 119 and n-channel transistor 118. Match sense line 150 is coupled to sensor circuit 130.
Diode element 119 can be implemented in various ways, including a conventional p-n junction or a diode-connected transistor. FIGS. 4A and 4B are schematic diagrams of diode connected transistors 119A and 119B, respectively, that can be used to implement diode element 119 in accordance with various embodiments of the invention. Thus, diode element 119 is counted as one of the nine transistors of CAM cell 100. As described in more detail below, n-channel transistor 118 is an optional local masking transistor. Because local masking transistor 118 is optional, this transistor is typically not included in determining the transistor count of CAM cell 100. Local masking transistor 118 is coupled to receive a local mask enable signal LM#1. FIG. 4c is a schematic diagram illustrating local masking transistor 118 coupled to diode connected transistor 119A in accordance with another variation.
CAM cell 200 includes read/write bit lines 201-202, comparison bit lines 203-204, word line 105, p-channel transistors 210-211, n-channel transistors 212-218, and diode element 219. The elements of CAM cell 200 are connected in the same manner as the elements of CAM cell 100. CAM cell 200 is connected to word line 105 in the same manner as CAM cell 100. Similarly, CAM cell 200 is connected to match sense line 150 in the same manner as CAM cell 100. Read/ write bit lines 201 and 202 of CAM cell 200 are coupled to receive read/write data values D1 and D1# from column control circuitry (not shown). Comparison bit lines 203 and 204 of CAM cell 200 are coupled to receive comparison data values CD1 and CD1# from bit line control circuit 220.
CAM cell 300 includes read/write bit lines 101-102, comparison bit lines 103-104, word line 106, p-channel transistors 310-311, n-channel transistors 312-318, and diode element 319. Similarly, CAM cell 400 includes read/write bit lines 201-202, comparison bit lines 203-204, word line 106, p-channel transistors 410-411, n-channel transistors 412-418, and diode element 419. The elements of CAM cells 300 and 400 are connected in the same manner as the elements of CAM cell 100. CAM cells 300 and 400 are coupled to a second word line 106 in the same manner that CAM cells 100 and 200 are coupled to word line 105. Similarly, CAM cells 300 and 400 are coupled to a second match sense line 151 in the same manner that CAM cells 100 and 200 are coupled to match sense line 150. Match sense line 151 is coupled to a sensor circuit 131, which is identical to sensor circuit 130. Note that CAM cells 100 and 300 share bit lines 101-104. Similarly, CAM cells 200 and 400 share bit lines 201-204.
Although the array illustrated in FIG. 3 only has two rows and two columns of CAM cells, it is understood that this array can be expanded to include many more rows and columns of CAM cells. The manner of expansion is obvious in view of the 2×2 array of CAM cells 100, 200, 300 and 400 shown in FIG. 3. In a particular example, an array of CAM cells includes eight rows and seventy-two columns of CAM cells.
Data values are written to a row of CAM cells (e.g., CAM cells 100 and 200), as follows. The voltage WL0 on word line 105 is pulled up to the VCC supply voltage (e.g., 2.5 Volts) by the row decoder circuitry. As a result, access transistors 114-115 and 214-215 are turned on, thereby coupling bit lines 101-102 and 201-202 to the storage latches in CAM cells 100 and 200. The voltage WL1 on the second word line 106 is pulled down to 0 Volts, thereby turning off access transistors 314-315 and 414-415 in CAM cells 300 and 400. As a result, bit lines 101-102 and 201-202 are isolated from the storage latches in CAM cells 300 and 400.
The column decoder circuitry applies write data values D0, D0#, D1, and D1# to bit lines 101, 102, 201 and 202, respectively. These write data values have a logic high value equal to the VCC supply voltage and a logic low value of 0 Volts. In the described example, data values D0, D0#, D1, and D1# have values of VCC, 0, 0 and VCC, respectively. The write data values D0, D0#, D1, and D1# are transmitted through turned on access transistors 114-115 and 214-215 to the storage latches in CAM cells 100 and 200. The word line signal WL0 is then de-asserted low, thereby turning off access transistors 114-115 and 214-215, and latching the write data values D0, D0#, D1, and D1# in the storage latches of CAM cells 100 and 200. Write operations are therefore performed in the same manner as in a conventional six-transistor SRAM array. In the present example, nodes N1, N2, N4 and N5 store voltages of VCC, 0 Volts, 0 Volts and VCC, respectively.
Data values are read from a row of CAM cells (e.g., CAM cells 100 and 200), as follows. The column decoder circuitry applies the VCC supply voltage to read/ write bit lines 101, 102, 201 and 202. The voltage WL0 on word line 105 is pulled up to the VCC supply voltage (e.g., 2.5 Volts) by the row decoder circuitry. As a result, access transistors 114-115 and 214-215 are turned on, thereby coupling bit lines 101-102 and 201-202 to the storage latches in CAM cells 100 and 200. The voltage WL1 on the second word line 106 is pulled down to 0 Volts, thereby turning off access transistors 314-315 and 414-415 in CAM cells 300 and 400. As a result, bit lines 101-102 and 201-202 are isolated from the storage latches in CAM cells 300 and 400.
In the present example, nodes N2 and N4 are pulled down through transistors 113 and 212, respectively. When access transistors 115 and 214 are turned on, bit lines 102 and 201 are pulled down by transistors 113 and 212, respectively. Nodes N2 and N4 are pulled down to VCC-CV at this time, where CV is approximately 300 mV. Bit lines 101 and 202 are not pulled down in this manner. Sense amplifiers (not shown) coupled to bit lines 101-102 and 201-202 sense the different voltages on these bit lines to identify the data values stored by CAM cells 100 and 200. Read operations are therefore performed in the same manner as in a conventional six-transistor SRAM array.
During standby conditions, word lines 105 and 106 are maintained at 0 Volts, thereby isolating the CAM cells 100, 200, 300 and 400 from read/write bit lines 101-102 and 201-202. Read/write bit lines 101-102 and 201-202 are held at either VCC or 0 Volts during standby conditions.
A compare operation is performed as follows. During a compare operation, word lines 105 and 106 are maintained at a voltage of 0 Volts, thereby isolating the CAM cells 100, 200, 300 and 400 from bit lines 101-102 and 201-202. Read/write bit lines 101-102 and 201-202 are held at either VCC or 0 Volts during a compare operation. A compare operation is simultaneously performed within each CAM cell of the array, unless there is global or local masking that inhibits the compare operation within the CAM cell. For purposes of clarity, a compare operation within CAM cell 100 is described in detail. The compare operations performed within CAM cells 200, 300 and 400 are identical to the compare operation performed within CAM cell 100.
The compare operation within CAM cell 100 is controlled by bit line control circuit 120 and sensor circuit 130. In general, the data value in the storage latch of CAM cell 100 turns on one and only one of transistors 116 and 117, thereby coupling one of the comparison bit lines 103-104 to node N3. Prior to the comparison operation, node N3 and comparison bit lines 103-104 are maintained at 0.3 Volts (assuming there is no global masking enabled by bit line control circuit 120). Local masking transistor 118 is turned on (assuming there is no local masking enabled within CAM cell 100). Sensor circuit 130 maintains match sense line 150 at a voltage of 0.6 Volts. A 0.3 Volt forward voltage drop therefore exists across diode-connected transistor 119A.
To initiate the comparison operation, bit line control circuit 120 applies comparison data values CD0 and CD0# to comparison bit lines 103 and 104, respectively. The logic high comparison data value has a voltage of 0.6 Volts, and the logic low comparison data value has a voltage of 0 Volts. If the comparison data value matches the data value stored in CAM cell 100, then a voltage of 0.6 Volts is applied to node N3. Under these conditions, the voltage on match sense line 150 remains at 0.6 Volts. If the comparison data value does not match the data value stored in CAM cell 100, then a voltage of 0 Volts is applied to node N3. Under these conditions, the voltage on match sense line 150 is pulled down to 0.3 Volts. Sensor circuit 130 senses the voltage on match sense line 150, and indicates a match condition if match sense line 150 is maintained at 0.6 Volts, and indicates a no-match condition if match sense line 150 is pulled down to 0.3 Volts. Because the full signal swing on match sense line 150 is equal to 0.3 Volts, and because the comparison bit lines are operated at voltages much less than the VCC supply voltage, the power requirements of a compare operation are advantageously very low in CAM cell 100.
Local masking signal LM#1 is an active low signal. If the local masking signal LM#1 has a logic low value, local masking transistor 118 is turned off, thereby isolating node N3 from match sense line 150. Under these conditions, match sense line is maintained at 0.6 Volts, regardless of the results of the comparison within CAM cell 100. CAM cell 100 therefore performs as if a match condition exists, regardless of the results of the comparison within CAM cell 100. In this manner, local masking transistor 118 enables CAM cell 100 to be effectively masked from the comparison operation. Although FIG. 3 indicates that local masking transistor 118 is coupled between diode 119 and match line 150, it is understood that local masking transistor 118 can be coupled between diode 119 and node N3 to achieve similar results. FIG. 4C is a schematic diagram illustrating another possible arrangement of diode-connected transistor 119A and local masking transistor 118. Other variations are apparent to those of ordinary skill in the art.
Bit line control circuit 120 and sensor circuit 130 will now be described in more detail. FIG. 5 is a schematic diagram of sensor circuit 130. Sensor circuit 130 includes inverters 501-502, current sources 503-504, NAND gate 505 and n-channel transistors 311-511, which are connected as illustrated. During a pre-charge period before the compare operation is performed, the CLK1 and CLK2 signals have logic low values. The logic low CLK2 signal causes transistor 511 to turn on, thereby coupling the VCC1 supply voltage to the drain of transistor 513. In the described example, the VCC1 supply voltage is equal to approximately three times the threshold voltage of an n-channel transistor, or about 0.9 Volts. The logic low CLK1 signal causes NAND gate 505 to provide a logic high output signal (e.g., 2.5 Volts) to the gate of transistor 512, thereby turning on this transistor. As a result, transistor 512 also helps to pull up the voltage on the drain of transistor 513 to the VCC1 supply voltage.
Under these conditions, transistors 514 and 515 are turned on by current source 504. Each of transistors 514 and 515 has a threshold voltage of 0.3 Volts. As a result, the voltage on match sense line 150 is held at 0.6 Volts. At this time, the voltage on node N3 is equal to 0.3 Volts, or one threshold voltage below the voltage on match sense line 150.
The compare operation begins when the CLK2 signal goes high. The CLK2 signal transitions to a logic high state shortly before the CLK1 signal transitions to a logic high state. As a result, the output signal provided by NAND gate 505 remains high for a short time after the CLK2 signal goes high. This ensures that transistor 512 remains on while the CLK2 signal goes high, thereby preventing noise conditions from pulling down the voltage on match sense line 150. The CLK1 signal then transitions to a logic high value, such that the output voltage provided by NAND gate 505 is determined by the state of the voltage on match sense line 150. At this time, node N3 is either pulled up to 0.3 Volts (if a match condition exists) or pulled down to 0 Volts (if a no-match condition exists).
As described in more detail below, during a match condition node N3 will be coupled to a comparison bit line having a voltage of 0.6 Volts through either transistor 116 or transistor 117. Under these conditions, no current flows through transistor 513. As a result, the gate of transistor 513 is maintained at about 0.6 Volts. This 0.6 Volt signal represents a logic low input signal to NAND gate 505. As a result, NAND gate 505 provides a logic high output signal to transistor 512. Transistor 512 therefore remains on (even though there is no current flow). If the signal on match sense line 150 is pulled low by noise, then current source 503 will pull the voltage on match sense line 150 back up to 0.6 Volts through turned on transistor 512.
The logic high output of NAND gate 505 is also provided to inverter 502. In response, inverter 502 provides a logic low output signal having a voltage equal to the ground supply voltage (e.g., 0 Volts). This output signal is used to indicate a match condition to an encoder circuit (not shown). As described in more detail below, during a no-match condition node N3 will be coupled to a comparison bit line having a voltage of 0 Volts through either transistor 116 or transistor 117. As a result, node N3 is pulled down to 0 Volts. Under these conditions, current will flow through transistor 513. This current is greater than the current provided by current source 503. As a result, the voltage of match sense line 150 is pulled down to 0.3 Volts (i.e., one threshold voltage greater than the voltage on node N3). The 0.3 Volt signal on match sense line 150 causes the voltage on the gate of transistor 513 to be pulled up to the VCC supply voltage (e.g., 2.5 Volts) by current source 504. This VCC supply voltage represents a logic high input signal to NAND gate 505. Consequently, NAND gate 505 provides a logic low output signal to the gate of transistor 512. As a result, transistor 512 is turned off, thereby preventing DC current flow through transistor 513.
The logic low output of NAND gate 505 is also provided to inverter 502. In response, inverter 502 provides a logic high output signal having a voltage equal to the VCC supply voltage (e.g., 2.5 Volts). This output signal is used to indicate a no-match condition to an encoder circuit (not shown).
Although the operation of sensor circuit 130 has been described in connection with a single CAM cell 100, it is understood that a match condition must exist in all of the CAM cells coupled to match sense line 150 in order for sensor circuit 130 to provide a logic high output signal to the encoder. Conversely, if a no-match condition exists in any one of the CAM cells coupled to match sense line 150, then sensor circuit 130 will provide a logic low output signal to the encoder.
FIG. 6 is a schematic diagram of bit line control circuit 120. Bit line control circuit 121 is identical to bit line control circuit 120. Bit line control circuit 120 includes inverters 601-609, NAND gates 611-612, n-channel transistors 621-630 and current source 631, which are connected as illustrated. In general, bit line control circuit 120 provides voltages on comparison bit lines 103-104 in response to a comparison data input value DIN, the clock signal CLK2, and a global masking signal GM#.
Bit line control circuit 120 operates as follows. Transistors 628-630 and current source 631 are connected to form a regulated voltage source 640. Current source 631, which operates in response to the VCC supply voltage, turns on transistors 629 and 630. Each of transistors 629 and 630 has a threshold voltage of 0.3 Volts. As a result, the voltage on voltage supply line 650 is held at 0.6 Volts. Transistor 628, which is coupled to the VCC1 voltage supply (0.9 Volts), is turned on to help pull up voltage supply line 650 to 0.6 Volts. In the described embodiment, the voltage on voltage supply line 650 is selected to be equal to two times the threshold voltage of an n-channel transistor (i.e., 0.3 Volts).
Global masking signal GM# is an active low signal. When the global masking signal GM# has a logic low value, inverters 602-604 provide a logic high signal to transistors 621 and 622, thereby turning on these transistors. The logic low GM# signal causes transistors 623-626 to be turned off. Transistor 627 is either turned off or turned on, depending on the state of the CLK2 signal. Under these conditions, both of comparison bit lines 103 and 104 are connected to receive a voltage of 0.6 Volts from voltage supply line 650. If both of comparison bit lines 103 have a voltage of 0.6 Volts, then all of the CAM cells in the column served by bit line control circuit 120 will indicate a match condition during a compare operation. As a result, the entire column is effectively masked during such a compare operation.
When the global masking signal GM# is de-asserted high, transistors 621 and 622 are turned off. During this time, the CLK2 signal can have a logic low or logic high value. A pre-charge operation is performed if the CLK2 signal has a logic low value, and a compare operation is performed if the CLK2 signal has a logic high value. If the CLK2 signal has a logic low value, transistor 627 is turned on, thereby connecting comparison bit lines 103 and 104. The logic low CLK2 signal further causes transistors 623-626 to turn off, thereby isolating comparison bit lines 103 and 104 from voltage supply line 650 and the ground voltage supply. As a result, the voltages on both bit lines 103 and 104 are equalized at 0.3 Volts by sensor circuit 130 during the pre-charge operation. Note that the comparison data input value DIN does not have any effect on transistors 623-627 when the CLK2 signal has a logic low value.
A compare operation occurs when the CLK2 signal transitions to a logic high value (and the GM# signal is de-asserted high). Under these conditions, transistors 621-622 and 627 are turned off. Comparison data input value DIN is asserted at this time. A comparison data input value DIN having a logic high state will turn on transistors 623 and 624 (and turn off transistors 625 and 626), thereby applying 0.6 Volts to comparison bit line 103 and 0 Volts to comparison bit line 104. Conversely, a comparison data input value DIN having a logic low state will turn on transistors 625 and 626 (and turn off transistors 623 and 624), thereby applying 0.6 Volts to comparison bit line 104 and 0 Volts to comparison bit line 103.
Although the present invention has been described in connection with particular embodiments, other embodiments are possible and are considered to be within the scope of the present invention. FIG. 7A is a schematic diagram of an 8-T CAM cell 700A in accordance with one variation of the present invention. Similar elements in CAM cell 100 (FIG. 3) and CAM cell 700A are labeled with similar reference numbers. CAM cell 700A includes the same elements as CAM cell 100, with the exception of access transistor 115 and bit line 102, which are not present in CAM cell 700A. CAM cell 700A is written and read through bit line 101 and access transistor 114. The compare operation of CAM cell 700A is identical to the compare operation of CAM cell 100. CAM cell 700A advantageously uses one less transistor and one less bit line than CAM cell 100. Note that the above-described variations of CAM cell 100 can also be applied to CAM cell 700A.
FIG. 7B is a schematic diagram of an 8-T CAM 700B in accordance with another variation of the present invention. Similar elements in CAM cell 100 (FIG. 3) and CAM cell 700B are labeled with similar reference numbers. CAM cell 700B includes the same elements as CAM cell 100, with the exception of access transistor 115 and bit lines 102 and 103, which are not present in CAM cell 700B. CAM cell 700B is written and read through bit line 101 and access transistor 114. The compare operation of CAM cell 700B is similar to the compare operation of CAM cell 100. However, the comparison data value CD0 is provided on bit line 101 in this variation. Selection circuitry (not shown) is provided to selectively couple bit line 101 to the above-described column select circuitry (not shown) during a read or a write operation, or to the bit line control circuit 120 during a compare operation. CAM cell 700B advantageously uses one fewer transistor and two fewer bit lines than CAM cell 100. Note that the above-described variations of CAM cell 100 can also be applied to CAM cell 700B.
FIG. 8, which consists of FIGS. 8A and 8B as illustrated, is a schematic diagram of an array of nine- transistor CAM cells 1000, 2000, 3000 and 4000. Because CAM cells 1000, 2000, 3000 and 4000 are similar to CAM cells 100, 200, 300 and 400 (FIG. 3), similar elements in FIGS. 3 and 8 are labeled with similar reference numbers. CAM cell 1000 replaces diode element 119, local masking transistor 118 and match sense line 150 of CAM cell 100 with match transistor 1190, local masking transistor 1180 and match sense lines 1500 and 1510. Transistors 1180 and 1190 are connected in series between match sense lines 1500 and 1510. The gate of match transistor 1190 is coupled to node N3. Both of match sense lines 1500 and 1510 are connected to sensor circuit 1300.
CAM cells 2000, 3000 and 4000 include similar match transistors 2190, 3190 and 4190 and similar local masking transistors 2180, 3180 and 4180. CAM cells 3000 and 4000 share match sense lines 1520 and 1530, which in turn, are connected to sensor circuit 1310.
Bit line control circuits 1200 and 2200 are connected to comparison bit lines 103-104 and 203-204, respectively.
Although the array illustrated in FIG. 8 only has two rows and two columns of CAM cells, it is understood that this array can be expanded to include many more rows and columns of CAM cells. The manner of expansion is obvious in view of the 2×2 array of CAM cells 1000, 2000, 3000 and 4000 shown in FIG. 8.
Because CAM cells 1000, 2000, 3000 and 4000 are identical, only CAM cell 1000 is described in detail. Similarly, because sensor circuits 1300 and 1310 are identical, only sensor circuit 1300 is described in detail.
CAM cell 1000 reverses the polarity of the comparison data values CD0 and CD0# provided by bit line control circuit 120, such that comparison data value CD0# is applied to comparison bit line 103, and comparison data value CD0 is applied to comparison bit line 104. In addition, voltage supply line 650 is directly connected to the VCC1 supply voltage of 0.9 Volts (3VT) instead of to regulated voltage source 640. Otherwise, the bit line control circuit 1200 is identical to bit line control circuit 120 (FIG. 6).
Read, write and standby operations are performed within CAM cell 1000 in the same manner described above in connection with CAM cell 100.
A compare operation is performed within CAM cell 1000 as follows. During a compare operation, word lines 105 and 106 are maintained at a voltage of 0 Volts, thereby isolating the CAM cells 1000, 2000, 3000 and 4000 from bit lines 101-102 and 201-202. Read/write bit lines 101-102 and 201-202 are held at either VCC or 0 Volts during a compare operation. A compare operation is simultaneously performed within each CAM cell of the array, unless there is global or local masking that inhibits the compare operation within the CAM cell. For purposes of clarity, a compare operation within CAM cell 1000 is described in detail. The compare operations performed within CAM cells 2000, 3000 and 4000 are identical to the compare operation performed within CAM cell 1000.
The compare operation within CAM cell 1000 is controlled by bit line control circuit 1200 and sensor circuit 1300. In general, the data value in the storage latch of CAM cell 1000 turns on one and only one of transistors 116 and 117, thereby coupling one of the comparison bit lines 103-104 to node N3. Prior to the comparison operation, node N3 and comparison bit lines 103-104 are maintained at 0.3 Volts (assuming there is no global masking enabled by bit line control circuit 1200). Local masking transistor 1180 is turned on (assuming there is no local masking enabled within CAM cell 1000). Sensor circuit 1300 maintains match sense lines 1500 and 1510 at 0.3 Volts.
To initiate the comparison operation, bit line control circuit 1200 applies comparison data values CD0 and CD0# to comparison bit lines 104 and 103, respectively. The logic high comparison data value has a voltage of 0.9 Volts (i.e., VCC1 or 3VT), and the logic low comparison data value has a voltage of 0 Volts. If the comparison data value matches the data value stored in CAM cell 1000, then a voltage of 0 Volts is applied to node N3. Under these conditions, match transistor 1190 is turned off, thereby allowing the voltage on match sense line 1500 to remain at 0.3 Volts. If the comparison data value does not match the data value stored in CAM cell 1000, then a voltage of 0.9 Volts is applied to node N3. Under these conditions, 1 match transistor 1190 turns on, thereby pulling down the voltage on match sense line 1500 down to 0 Volts. Sensor circuit 1300 senses the voltage on match sense line 1500, and indicates a no-match condition if match sense line 1500 is pulled down to 0 Volts, and indicates a match condition if match sense line 1500 remains at 0.3 Volts. Because the full signal swing on match sense line 1500 is equal to 0.3 Volts, and because the bit line control circuit 1200 is powered by the VCC1 supply voltage, the power requirements of a compare operation are advantageously very low in CAM cell 1000.
Local masking signal LM#1 is an active low signal. If the local masking signal LM#1 has a logic low value, local masking transistor 1180 is turned off, thereby isolating match sense lines 1500 and 1510. Under these conditions, match sense line is maintained at 0.3 Volts, regardless of the results of the comparison within CAM cell 1000. CAM cell 1000 therefore performs as if a match condition exists, regardless of the results of the comparison within CAM cell 1000. In this manner, local masking transistor 1180 enables CAM cell 1000 to be effectively masked from the comparison operation. Although FIG. 8 indicates that local masking transistor 1180 is coupled between match transistor 1190 and match sense line 1510, it is understood that local masking transistor 1180 can be coupled between match transistor 1190 and match sense line 1500 to achieve similar results.
FIG. 9 is a schematic diagram of sensor circuit 1300. Because sensor circuit 1300 is similar to sensor circuit 130 (FIG. 5), similar elements in FIGS. 5 and 9 are labeled with similar reference numbers. Sensor circuit 1300 eliminates transistor 515 of sensor circuit 130, such that the source of transistor 514 is connected to ground. Sensor circuit 1300 further includes n-channel transistor 516, which is connected in series across match lines 1500 and 1510. The gate of transistor 516 is connected to the output terminal of inverter 501. Sensor circuit 1500 also includes n-channel transistor 517, which is connected between match sense line 1510 and the ground supply terminal. The gate of transistor 517 is coupled to receive the CLK2 signal.
During a pre-charge period before the compare operation is performed, the CLK1 and CLK2 signals have logic low values. The logic low CLK2 signal causes transistor 511 to turn on, thereby coupling the VCC1 supply voltage to the drain of transistor 513. In the described example, the VCC1 supply voltage is equal to approximately three times the threshold voltage of an n-channel transistor, or about 0.9 Volts. The logic low CLK1 signal causes NAND gate 505 to provide a logic high output signal (e.g., 2.5 Volts) to the gate of transistor 512, thereby turning on this transistor. As a result, transistor 512 also helps to pull up the voltage on the drain of transistor 513 to the VCC1 supply voltage.
Under these conditions, transistor 514 is turned on by current source 504. Transistor 514 has a threshold voltage of 0.3 Volts. As a result, the voltage on match sense line 1500 is held at 0.3 Volts. The logic low CLK2 signal causes transistor 516 to turn on, thereby coupling match sense lines 1500 and 1510. Consequently, match sense line 1510 is also held at 0.3 Volts.
The compare operation begins when the CLK2 signal goes high. The logic high CLK2 signal causes transistors 511 and 516 to be turned off. The CLK2 signal transitions in a logic high state shortly before the CLK1 signal transitions to a logic high state. As a result, the output signal provided by NAND gate 505 remains high for a short time after the CLK2 signal goes high. This ensures that transistor 512 remains on while the CLK2 signal goes high, thereby preventing noise conditions from pulling down the voltage on match sense line 1500. The CLK1 signal then transitions to a logic high value, such that the output voltage provided by NAND gate 505 is determined by the state of the voltage on match sense line 1500. At this time, node N3 is either pulled up to 0.9 Volts (if a no-match condition exists) or pulled down to 0 Volts (if a match condition exists).
As previously described, during a no-match condition node N3 will be coupled to a comparison bit line having a voltage of 0.9 Volts through either transistor 116 or transistor 117. Under these conditions, match transistor 1190 turns on, and current flows through transistor 513. This current is greater than the current provided by current source 503. As a result, the voltage of match sense line 1500 is pulled down to 0 Volts. The 0 Volt signal on match sense line 1500 causes the voltage on the gate of transistor 513 to be pulled up to the VCC supply voltage (e.g., 2.5 Volts) by current source 304. This VCC supply voltage represents a logic high input signal to NAND gate 505. Consequently, NAND gate 505 provides a logic low output signal to the gate of transistor 512. As a result, transistor 512 is turned off, thereby preventing DC current flow through transistor 513.
The logic low output of NAND gate 505 is also provided to inverter 502. In response, inverter 502 provides a logic high output signal having a voltage equal to the VCC supply voltage (e.g., 2.5 Volts). This output signal is used to indicate a no-match condition to an encoder circuit (not shown).
As described above, during a match condition node N3 will be coupled to a comparison bit line having a voltage of 0 Volts through either transistor 116 or transistor 117. As a result, no current flows through transistor 513. Consequently, the gate of transistor 513 is maintained at about 0.3 Volts. This 0.3 Volt signal represents a logic low input signal to NAND gate 505. As a result, NAND gate 505 provides a logic high output signal to transistor 512. Transistor 512 therefore remains on (even though there is no current flow). If the signal on match sense line 1500 is pulled low by noise, then current source 503 will pull the voltage on match sense line 1500 back up to 0.3 Volts through turned on transistor 512.
The logic high output of NAND gate 505 is also provided to inverter 502. In response, inverter 502 provides a logic low output signal having a voltage equal to 0 Volts. This output signal is used to indicate a match condition to an encoder circuit (not shown).
Although the operation of sensor circuit 1300 has been described in connection with a single CAM cell 1000, it is understood that a match condition must exist in all of the CAM cells coupled to match sense line 1500 in order for sensor circuit 1300 to provide a logic low output signal to the encoder. Conversely, if a no-match condition exists in any one of the CAM cells coupled to match sense line 1500, then sensor circuit 1300 will provide a logic high output signal to the encoder.
Although the present invention has been described in connection with particular embodiments, other embodiments are possible and are considered to be within the scope of the present invention. FIG. 10A is a schematic diagram of an 8-T CAM cell 800A in accordance with one variation of the present invention. Similar elements in CAM cell 1000 (FIG. 8) and CAM cell 800A are labeled with similar reference numbers. CAM cell 800A includes the same elements as CAM cell 1000, with the exception of access transistor 115 and bit line 102, which are not present in CAM cell 800A. CAM cell 800A is written and read through bit line 101 and access transistor 114. The compare operation of CAM cell 800A is identical to the compare operation of CAM cell 1000. CAM cell 800A advantageously uses one less transistor and one less bit line than CAM cell 1000. Note that the above-described variations of CAM cell 1000 can also be applied to CAM cell 800A.
FIG. 10B is a schematic diagram of an 8-T CAM cell 800B in accordance with another variation of the present invention. Similar elements in CAM cell 1000 (FIG. 8) and CAM cell 800B are labeled with similar reference numbers. CAM cell 800B includes the same elements as CAM cell 1000, with the exception of access transistor 115 and bit lines 102 and 103, which are not present in CAM cell 800B. CAM cell 800B is written and read through bit line 101 and access transistor 114. The compare operation of CAM cell 800B is similar to the compare operation of CAM cell 1000. However, the comparison data value CD0# is provided on bit line 101 in this variation. Selection circuitry (not shown) is provided to selectively couple bit line 101 to the above-described column select circuitry (not shown) during a read or a write operation, or to the bit line control circuit 120 during a compare operation. CAM cell 800B advantageously uses one fewer transistor and two fewer bit lines than CAM cell 1000. Note that the above-described variations of CAM cell 1000 can also be applied to CAM cell 800B.
Although the present invention has been described in connection with several embodiments, it is understood that this invention is not limited to the embodiments disclosed, but is capable of various modifications which would be apparent to one of ordinary skill in the art. Thus, the invention is limited only by the following claims.

Claims (68)

1. A content addressable memory (CAM) cell comprising:
a static random access memory (SRAM) cell that operates in response to a VCC supply voltage, the SRAM cell storing a data value;
a first set of one or more bit lines coupled to the SRAM cell, wherein the data value is written to and read from the SRAM cell on the first set bit lines, the first set of bit lines having a signal swing equal to the VCC supply voltage; and
a second set of bit lines coupled to receive a comparison data value, the second set of bit lines having a signal swing less than the VCC supply voltage.
2. The CAM cell of claim 1, further comprising a circuit for comparing the data value with the comparison data value to determine whether a match exists.
3. The CAM cell of claim 2, wherein the circuit comprises:
a first transistor having a gate coupled to receive a signal representative of the data value;
and
a second transistor having a gate coupled to receive a signal representative of the inverse of the data value.
4. The CAM cell of claim 3, wherein the second set of bit lines comprises:
a first bit line coupled to a source region of the first transistor; and
a second bit line coupled to a source region of the second transistor.
5. The CAM cell of claim 4, wherein a drain region of the first transistor is coupled to a drain region of the second transistor at a first node.
6. The CAM cell of claim 5, further comprising a diode element coupled to the first node.
7. The CAM cell of claim 6, further comprising a local mask transistor coupled in series with the diode element.
8. The CAM cell of claim 6, wherein the diode element comprises a diode-connected transistor.
9. The CAM cell of claim 6, wherein the diode element comprises a P-N junction.
10. The CAM cell of claim 6, further comprising a match line coupled to the diode element, wherein the diode element is forward biased from the match line to the first node.
11. The CAM cell of claim 10, wherein the match line has a signal swing equal to a transistor threshold voltage.
12. The CAM cell of claim 10, further comprising a sensor circuit coupled to the match line, the sensor circuit pre-charging the match line to a voltage less than the VCC supply voltage.
13. The CAM cell of claim 12, wherein the sensor circuit comprises a logic gate for providing an output signal that indicates whether a match or a no-match condition exists, the output signal having a signal swing equal to the VCC supply voltage.
14. The CAM cell of claim 1, further comprising a bit line control circuit for biasing the second set of bit lines.
15. The CAM cell of claim 14, wherein the bit line control circuit comprises a first transistor for coupling the second set of bit lines during a pre-charge operation.
16. The CAM cell of claim 14, wherein the bit control circuit comprises one or more transistors for coupling the second set of bit lines to a voltage supply line during a global masking operation, the voltage supply line having a voltage less than the VCC supply voltage.
17. The CAM cell of claim 14, wherein the bit line control circuit comprises a plurality of transistors for selectively coupling the second set of bit lines to a voltage supply line and a ground supply line, whereby the second set of bit lines receive voltages representative of the comparison data value from the voltage supply line and the ground supply line, the voltage supply line having a voltage less than the VCC supply voltage.
18. The CAM cell of claim 17, wherein the voltage supply line has a voltage of two times a transistor threshold voltage.
19. The CAM cell of claim 14, wherein the bit line control circuit is powered by a supply voltage less than the VCC supply voltage.
20. A content addressable memory (CAM) cell having a match line that carries a signal to indicate whether a match or a no-match condition exists within the CAM cell, wherein the difference between a voltage on the match line during the match condition and a voltage on the the match line during the no-match condition in equal to one transistor threshold voltage.
21. A method of operating a content addressable memory (CAM) cell that includes a static random access (SRAM) cell, the method comprising:
operating the SRAM cell in response to a VCC supply voltage, the SRAM cell storing a data value;
writing a data value to the SRAM cell on a first set of one or more bit lines, the first set of bit lines having a signal swing equal to the VCC supply voltage;
reading data values from the SRAM cell on the first set of bit lines;
controlling the signal swing on the first set of bit lines to be equal to the VCC supply voltage;
providing comparison data values to the CAM cell on a second set of bit lines; and
controlling the signal swing on the second set of bit lines to be less than the VCC supply voltage.
22. The method of claim 21, further comprising the step of comparing the data value stored in the CAM cell with the comparison data value to determine whether a match condition or a no-match condition exists.
23. The method of claim 22, further comprising the step of indicating a match condition and a no-match audition by providing a signal having a signal swing equal to one transistor threshold voltage.
24. The method of claim 22, wherein the step of comparing comprises the step of coupling one of the bit lines in the second set of bit lines to a match line in response to the data value stored in the CAM cell.
25. The method of claim 24, further comprising the step of pre-charging the match line to a voltage less than the VCC supply voltage.
26. The method of claim 25, further comprising the step of discharging the match line when a no-match condition exists.
27. The method of claim 23, further comprising the step of converting the signal having the signal swing of one transistor threshold voltage to a signal having a signal swing equal to the VCC supply voltage.
28. The method of claim 21, further comprising the step of equalizing the second set of bit lines prior to providing the comparison data values to the CAM cell on the second set of bit lines.
29. The method of claim 21, further comprising the step of connecting the second set of bit lines to a voltages supply line during a global masking operation, the voltage supply line having a voltage less than the VCC supply voltage.
30. The method of claim 21, further comprising the step of selectively coupling the second set of bit lines to a voltage supply line and a ground supply line, whereby the second set of bit lines receive voltages representative of the comparison data value from the voltage supply line and the ground supply line, the voltage supply line having a voltage less than the VCC supply voltage.
31. The method of claim 30, wherein the voltage supply line has a voltage of two times a transistor threshold voltage.
32. The method of claim 21, further comprising the step of biasing the second set of bit lines with a supply voltage less than the VCC supply voltage.
33. A method of operating a content addressable memory (CAM) array, comprising the steps of:
precharging first and second match sense lines that are electrically coupled to compare circuitry within a row of CAM cells to first and second positive voltage levels, respectively, said second voltage level having a maximum value that is less than Vcc, where Vcc is a power supply voltage supplied to the row of CAM cells;
applying a plurality of comparison data values to a plurality of comparison data lines that are electrically coupled to the row of CAM cells; and
detecting a match/no-match condition between the applied comparison data values and data stored in the row of CAM cells by sensing a voltage on the first match sense line in-sync with discharging the second match sense line from its precharged second positive voltage level.
34. The method of claim 33, wherein said detecting step comprises shorting the precharged first match sense line to the discharged second match sense line if a no-match condition is present between the applied comparison data values and the data stored in the row of CAM cells.
35. The method of claim 33, wherein the row of CAM cells is electrically coupled to a plurality of read/write bit lines; wherein said precharging step is preceded by the step of writing data into the row of CAM cells by driving at least some of the plurality of read/write bit lines at high logic levels that are about equal to Vcc; and wherein said applying step comprises driving at least some of the comparison data lines at high logic levels that are lower than Vcc by an amount equal to at least a transistor threshold voltage.
36. A content addressable memory (CAM) array, comprising the steps of:
a plurality of pairs of comparison data lines;
a row of CAM cells having compare circuitry therein that is electrically coupled to said plurality of pairs of comparison data lines;
first and second match sense lines that are electrically coupled to the compare circuitry in said row of CAM cells; and
a sensor circuit that is configured to disable the compare circuitry from indicating a match/no-match condition on the first match sense line by precharging the first and second match sense lines to first and second positive voltage levels, respectively, and is further configured to enable the compare circuitry to indicate a match/no-match condition on the first match sense line by discharging the second match sense line from its precharged second positive voltage level, said second positive voltage level having a maximum value that is less than Vcc by at least a transistor threshold voltage, where Vcc is a power supply voltage supplied to said row of CAM cells.
37. The CAM array of claim 36, wherein said sensor circuit is further configured to detect a voltage on the first match sense line as representing the match/no-match condition, in response to discharging the second match sense line from its precharged second positive voltage level.
38. The CAM array of claim 37, wherein an output of said sensor circuit is electrically coupled to an encoder.
39. The CAM array of claim 37, wherein said sensor circuit is responsive to at least one clock signal.
40. The CAM array of claim 37, wherein in response to being enabled by said sensor circuit, the compare circuitry is configured to short the first match sense line to the discharged second match sense line if a no-match condition is present between data applied to said plurality of pairs of comparison data lines and data entry stored in said row of CAM cells.
41. The CAM array of claim 37, wherein the compare circuitry comprises a plurality of local masking transistors having first current carrying terminals electrically connected to the second match sense line.
42. The CAM array of claim 41, wherein said row of CAM cells comprises SRAM-based memory cells therein; and wherein the local masking transistors are responsive to local mask enable signals.
43. The CAM array of claim 42, further comprising a plurality of pairs of read/write bit lines electrically coupled to the SRAM-based memory cells in said row of CAM cells.
44. The CAM array of claim 37, wherein the compare circuitry comprises a plurality of local masking transistors having first current carrying terminals electrically connected to the first match sense line.
45. The CAM array of claim 44, wherein said row of CAM cells comprises SRAM-based memory cells therein; and wherein the local masking transistors are responsive to local mask enable signals.
46. The CAM array of claim 45, further comprising a plurality of pairs of read/write bit lines electrically coupled to the SRAM-based memory cells in said row of CAM cells.
47. The CAM array of claim 36, wherein the compare circuitry comprises a plurality of XOR gates that are each associated with a respective CAM cell in said row of CAM cells.
48. A method of operating a content addressable memory (CAM) cell, comprising the steps of:
precharging first and second match sense lines that are electrically coupled to a compare circuit within the CAM cell to first and second positive voltage levels, respectively, said second positive voltage level having a maximum value that is less than Vcc, where Vcc is a power supply voltage supplied to the CAM cell;
applying a comparison data value to a pair of comparison data lines that are electrically coupled to the CAM cell; and
comparing the applied comparison data value with a data value stored in the CAM cell by discharging the second match sense line from its precharged second positive voltage level to a discharged voltage level and then sensing whether the first match sense line is maintained at its precharged first positive voltage level or is pulled down to the discharged voltage level by the compare circuit.
49. The method of claim 48, wherein said precharging step is performed in-sync with a first edge to a first clock signal; and wherein said comparing step is performed in-sync with a second edge of the first clock signal.
50. The method of claim 48, wherein the first and second positive voltage levels are equal.
51. The method of claim 50, wherein said applying step comprises driving at least one of the pair of comparison data lines with a signal having a voltage swing that is less than Vcc.
52. The method of claim 48, wherein said comparing step comprises shorting the first match sense line to the discharged second match sense line in the event a no-match condition exists between the applied comparison data value and the data value stored in the CAM cell.
53. The CAM array of claim 36, further comprising:
a plurality of pairs of read/write bit lines that are electrically coupled to the CAM cells in said row of CAM cells; and
a bit line control circuit electrically coupled to said plurality of pairs of comparison data lines and said plurality of pairs of read/write bit lines, said bit line control circuit configured to support signal swings on said plurality of pairs of comparison data lines that are less than signal swings on said plurality of pairs of read/write bit lines.
54. The CAM array of claim 53, wherein the signal swings on said plurality of pairs of read/write bit lines are equal to about Vcc.
55. A CAM array, comprising:
a CAM cell having a memory cell therein that is powered at a supply voltage;
a pair of read/write bit lines electrically coupled to said CAM cell;
a pair of comparison data lines electrically coupled to said CAM cell; and
a bit line control circuit electrically coupled to said pair of read/write bit lines and said pair of comparison bit lines, said bit line control circuit configured to support a signal swing on said pair of comparison bit lines that is less than a signal swing on said pair of read/write bit lines.
56. A CAM cell, comprising:
a memory cell electrically coupled to a pair of read/write bit lines; and
a data comparison circuit electrically coupled to a pair of comparison bit lines, a match line and said memory cell, said data comparison circuit configured to indicate a mismatch between data stored in said memory cell and data applied to the pair of comparison bit lines during a comparison operation, by transferring charge between the match line and at least one of the pair of comparison bit lines.
57. The CAM cell of claim 56, wherein said data comparison circuit comprises a pair of N-channel transistors that are electrically connected in series between the pair of comparison bit lines.
58. The CAM cell of claim 57, wherein gate terminals of the pair of N-channel transistors are electrically coupled to said memory cell.
59. The CAM cell of claim 58, wherein the pair of N-channel transistors are joined together at a node; and wherein said data comparison circuit further comprises a first transistor having first current carrying terminal electrically coupled to the node.
60. The CAM cell of claim 59, wherein said data comparison circuit further comprises a local masking transistor having a first current carrying terminal electrically connected to the first transistor and a second current carrying terminal electrically connected to the match line.
61. A CAM array, comprising:
a first CAM cell comprising a first memory cell electrically coupled to a first pair of read/write bit lines, and a first data comparison circuit electrically coupled to a first pair of comparison bit lines, a match line and said first memory cell, said first data comparison circuit configured to indicate a mismatch between data stored in said first memory cell and data applied to the first pair of comparison bit lines during a comparison operation, by transferring charge between the match line and at least one of the first pair of comparison bit lines; and
a second CAM cell comprising a second memory cell electrically coupled to a second pair of read/write bit lines, and a second data comparison circuit electrically coupled to a second pair of comparison bit lines, the match line and said second memory cell, said second data comparison circuit configured to indicate a mismatch between data stored in said second memory cell and data applied to the second pair of comparison bit lines during the comparison operation, by transferring charge between the match line and at least one of the second pair of comparison bit lines.
62. The CAM array of claim 61, wherein the first data comparison circuit comprises a first pair of N-channel transistors that are electrically connected in series between the first pair of comparison bit lines; and wherein the second data comparison circuit comprises a second pair of N-channel transistors that are electrically connected in series between the second pair of comparison bit lines.
63. The CAM array of claim 62, wherein gate terminals of the first pair of N-channel transistors are electrically coupled to the first memory cell.
64. The CAM array of claim 62, wherein the first pair of N-channel transistors are joined together at a first node; and wherein the first data comparison circuit further comprises a first transistor having a first current carrying terminal electrically coupled to the first node.
65. The CAM array of claim 64, wherein the second pair of N-channel transistors are joined together at a second node; and wherein the second data comparison circuit further comprises a second transistor having a first current carrying terminal electrically coupled to the second node.
66. The CAM array of claim 65, further comprising a sensor circuit having an output that is electrically coupled to gate terminals of the first and second transistors.
67. The CAM array of claim 64, wherein said first data comparison circuit further comprises a local masking transistor having a first current carrying terminal electrically connected to the first transistor and a second current carrying terminal electrically connected to the match line.
68. A CAM cell, comprising:
a memory cell electrically coupled to a pair of read/write bit lines; and
a data comparison circuit electrically coupled to a pair of comparison bit lines, a match line and said memory cell, said data comparison circuit configured to indicate a mismatch between data stored in said memory cell and data applied to the pair of comparison bit lines during a comparison operation, by sinking current from the match line to at least one of the pair of comparison bit lines.
US10/403,581 1998-11-02 2003-03-31 Content addressable memory (CAM) arrays and cells having low power requirements Expired - Lifetime USRE39227E1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/403,581 USRE39227E1 (en) 1998-11-02 2003-03-31 Content addressable memory (CAM) arrays and cells having low power requirements

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/185,057 US6128207A (en) 1998-11-02 1998-11-02 Low-power content addressable memory cell
US24658602A 2002-09-18 2002-09-18
US10/403,581 USRE39227E1 (en) 1998-11-02 2003-03-31 Content addressable memory (CAM) arrays and cells having low power requirements

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/185,057 Reissue US6128207A (en) 1998-11-02 1998-11-02 Low-power content addressable memory cell

Publications (1)

Publication Number Publication Date
USRE39227E1 true USRE39227E1 (en) 2006-08-08

Family

ID=22679390

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/185,057 Ceased US6128207A (en) 1998-11-02 1998-11-02 Low-power content addressable memory cell
US10/403,581 Expired - Lifetime USRE39227E1 (en) 1998-11-02 2003-03-31 Content addressable memory (CAM) arrays and cells having low power requirements

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/185,057 Ceased US6128207A (en) 1998-11-02 1998-11-02 Low-power content addressable memory cell

Country Status (1)

Country Link
US (2) US6128207A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2680870C1 (en) * 2018-01-23 2019-02-28 Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук" (ФГУ ФНЦ НИИСИ РАН) Method for comparing data in the cell of the associative memory device, and module for comparing data in the cell of the associative memory device

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE518883C2 (en) * 1999-05-19 2002-12-03 Switchcore Ab Cam / frame memory device with a scalable structure
US6262907B1 (en) 2000-05-18 2001-07-17 Integrated Device Technology, Inc. Ternary CAM array
US6266263B1 (en) * 2000-10-02 2001-07-24 Integrated Device Technology, Inc. CAM array with minimum cell size
US6466470B1 (en) 2000-11-04 2002-10-15 Virage Logic Corp. Circuitry and method for resetting memory without a write cycle
US6373738B1 (en) * 2000-11-20 2002-04-16 International Business Machines Corporation Low power CAM match line circuit
US6496398B2 (en) * 2000-12-15 2002-12-17 International Business Machines Corporation Content addressable memory
KR100380157B1 (en) * 2000-12-22 2003-04-11 주식회사 하이닉스반도체 Sensing circuit for code addressable memory cell
US6421265B1 (en) 2001-03-22 2002-07-16 Integrated Devices Technology, Inc. DRAM-based CAM cell using 3T or 4T DRAM cells
US6665202B2 (en) 2001-09-25 2003-12-16 Integrated Device Technology, Inc. Content addressable memory (CAM) devices that can identify highest priority matches in non-sectored CAM arrays and methods of operating same
US20030090921A1 (en) * 2001-11-15 2003-05-15 Afghahi Morteza Cyrus Content addressable memory match line sensing techniques
US6781857B1 (en) 2002-02-27 2004-08-24 Integrated Device Technology, Inc. Content addressable memory (CAM) devices that utilize multi-port CAM cells and control logic to support multiple overlapping search cycles that are asynchronously timed relative to each other
US6657878B2 (en) 2002-02-27 2003-12-02 Integrated Device Technology, Inc. Content addressable memory (CAM) devices having reliable column redundancy characteristics and methods of operating same
US6751110B2 (en) * 2002-03-08 2004-06-15 Micron Technology, Inc. Static content addressable memory cell
US6965519B1 (en) 2003-06-18 2005-11-15 Integrated Device Technology, Inc. Content addressable memory (CAM) devices that utilize dual-capture match line signal repeaters to achieve desired speed/power tradeoff and methods of operating same
US6760242B1 (en) 2002-04-10 2004-07-06 Integrated Device Technology, Inc. Content addressable memory (CAM) devices having speed adjustable match line signal repeaters therein
US6839256B1 (en) 2002-03-15 2005-01-04 Integrated Device Technology, Inc. Content addressable memory (CAM) devices having dedicated mask cell sub-arrays therein and methods of operating same
US7050317B1 (en) 2002-03-15 2006-05-23 Integrated Device Technology, Inc. Content addressable memory (CAM) devices that support power saving longest prefix match operations and methods of operating same
US6967856B1 (en) 2002-04-10 2005-11-22 Integrated Device Technology, Inc. Content addressable memory (CAM) devices that utilize segmented match lines and word lines to support pipelined search and write operations and methods of operating same
US6879532B1 (en) 2002-04-10 2005-04-12 Integrated Device Technology, Inc. Content addressable and random access memory devices having high-speed sense amplifiers therein with low power consumption requirements
US6512685B1 (en) 2002-06-06 2003-01-28 Integrated Device Technology, Inc. CAM circuit with separate memory and logic operating voltages
US7187571B1 (en) 2004-04-09 2007-03-06 Integrated Device Technology, Inc. Method and apparatus for CAM with reduced cross-coupling interference
US7499303B2 (en) * 2004-09-24 2009-03-03 Integrated Device Technology, Inc. Binary and ternary non-volatile CAM
CN100419913C (en) * 2004-11-03 2008-09-17 东南大学 Low power consumption static random memory with low level thread amplitude of oscillation
CN100529829C (en) * 2005-06-08 2009-08-19 鸿富锦精密工业(深圳)有限公司 Lens of digital camera
US7417882B1 (en) * 2005-09-21 2008-08-26 Netlogics Microsystems, Inc. Content addressable memory device
US8125810B2 (en) * 2007-08-01 2012-02-28 Texas Instruments Incorporated Low power ternary content-addressable memory (TCAM)
US8981322B2 (en) * 2009-02-04 2015-03-17 Tel Epion Inc. Multiple nozzle gas cluster ion beam system
US7944724B2 (en) 2009-04-28 2011-05-17 Netlogic Microsystems, Inc. Ternary content addressable memory having reduced leakage effects
US20110051484A1 (en) * 2009-08-28 2011-03-03 International Business Machines Corporation Low active power content addressable memory
US7920397B1 (en) 2010-04-30 2011-04-05 Netlogic Microsystems, Inc. Memory device having bit line leakage compensation
US8625320B1 (en) 2010-08-31 2014-01-07 Netlogic Microsystems, Inc. Quaternary content addressable memory cell having one transistor pull-down stack
US8462532B1 (en) 2010-08-31 2013-06-11 Netlogic Microsystems, Inc. Fast quaternary content addressable memory cell
US8553441B1 (en) 2010-08-31 2013-10-08 Netlogic Microsystems, Inc. Ternary content addressable memory cell having two transistor pull-down stack
US8582338B1 (en) 2010-08-31 2013-11-12 Netlogic Microsystems, Inc. Ternary content addressable memory cell having single transistor pull-down stack
US8264862B2 (en) 2010-11-24 2012-09-11 Lsi Corporation Low power SRAM based content addressable memory
US8773880B2 (en) 2011-06-23 2014-07-08 Netlogic Microsystems, Inc. Content addressable memory array having virtual ground nodes
US8837188B1 (en) 2011-06-23 2014-09-16 Netlogic Microsystems, Inc. Content addressable memory row having virtual ground and charge sharing
US9540725B2 (en) 2014-05-14 2017-01-10 Tel Epion Inc. Method and apparatus for beam deflection in a gas cluster ion beam system
US9786358B1 (en) * 2014-08-12 2017-10-10 Skan Technologies Corporation 6T bitcell for single port static random access memories (SRAM) with single-ended read and single-ended write
CN108153406B (en) * 2016-12-02 2021-09-10 成都理想智美科技有限公司 Method for controlling visual angle of HMD (HMD) and head-mounted display equipment
WO2020139895A1 (en) * 2018-12-24 2020-07-02 The Trustees Of Columbia University In The City Of New York Circuits and methods for in-memory computing

Citations (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4377855A (en) * 1980-11-06 1983-03-22 National Semiconductor Corporation Content-addressable memory
US4559618A (en) * 1982-09-13 1985-12-17 Data General Corp. Content-addressable memory module with associative clear
US4646271A (en) * 1983-12-23 1987-02-24 Hitachi, Ltd. Content addressable memory having dual access modes
US4694425A (en) * 1986-07-10 1987-09-15 Intel Corporation Seven transistor content addressable memory (CAM) cell
US4723224A (en) * 1986-01-02 1988-02-02 Motorola, Inc. Content addressable memory having field masking
US4780845A (en) 1986-07-23 1988-10-25 Advanced Micro Devices, Inc. High density, dynamic, content-addressable memory cell
US5051949A (en) 1989-11-15 1991-09-24 Harris Corporation Content addressable memory device
US5051948A (en) 1988-02-23 1991-09-24 Mitsubishi Denki Kabushiki Kaisha Content addressable memory device
US5111427A (en) 1988-06-01 1992-05-05 Mitsubishi Denki Kabushiki Kaisha Nonvolatile content-addressable memory and operating method therefor
US5258946A (en) 1991-02-13 1993-11-02 At&T Bell Laboratories Content-addressable memory
US5319589A (en) 1992-04-17 1994-06-07 Mitsubishi Denki Kabushiki Kaisha Dynamic content addressable memory device and a method of operating thereof
US5351208A (en) * 1992-04-27 1994-09-27 Integrated Information Technology, Inc. Content addressable memory
US5406508A (en) 1992-09-30 1995-04-11 Kawasaki Steel Corporation Content addressable memory and method of use thereof
US5440709A (en) * 1990-06-29 1995-08-08 Digital Equipment Corporation Apparatus and method for an improved content addressable memory using a random access memory to generate match information
US5446685A (en) 1993-02-23 1995-08-29 Intergraph Corporation Pulsed ground circuit for CAM and PAL memories
US5515310A (en) 1992-08-03 1996-05-07 Advanced Hardware Architectures, Inc. Six transistor dynamic content addressable memory circuit
US5642320A (en) 1994-07-11 1997-06-24 Hyundai Electronics Industries Co., Ltd. Self-refreshable dual port dynamic CAM cell and dynamic CAM cell array refreshing circuit
US5699288A (en) * 1996-07-18 1997-12-16 International Business Machines Corporation Compare circuit for content-addressable memories
US5715188A (en) * 1995-03-03 1998-02-03 International Business Machines Corporation Method and apparatus for parallel addressing of CAMs and RAMs
US5852569A (en) 1997-05-20 1998-12-22 Quality Semiconductor, Inc. Content addressable memory multiple match detection circuit
US5859791A (en) * 1997-01-09 1999-01-12 Northern Telecom Limited Content addressable memory
US5949696A (en) 1997-06-30 1999-09-07 Cypress Semiconductor Corporation Differential dynamic content addressable memory and high speed network address filtering
US6044005A (en) 1999-02-03 2000-03-28 Sibercore Technologies Incorporated Content addressable memory storage device
US6157557A (en) 1998-02-26 2000-12-05 Korea Advanced Institute Of Science And Technology CAM cell and memory employing such, used for both field configurable RAM and PLA
US6181591B1 (en) 1998-10-29 2001-01-30 International Business Machines Corporation High speed CAM cell
US6195278B1 (en) 1999-12-30 2001-02-27 Nortel Networks Limited Content addressable memory cells and words
US6266262B1 (en) 1998-11-05 2001-07-24 Lara Technology, Inc. Enhanced binary content addressable memory for longest prefix address matching
US6288922B1 (en) 2000-08-11 2001-09-11 Silicon Access Networks, Inc. Structure and method of an encoded ternary content addressable memory (CAM) cell for low-power compare operation
US6373738B1 (en) 2000-11-20 2002-04-16 International Business Machines Corporation Low power CAM match line circuit

Patent Citations (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4377855A (en) * 1980-11-06 1983-03-22 National Semiconductor Corporation Content-addressable memory
US4559618A (en) * 1982-09-13 1985-12-17 Data General Corp. Content-addressable memory module with associative clear
US4646271A (en) * 1983-12-23 1987-02-24 Hitachi, Ltd. Content addressable memory having dual access modes
US4646271B1 (en) * 1983-12-23 1993-08-03 Hitachi Ltd
US4723224A (en) * 1986-01-02 1988-02-02 Motorola, Inc. Content addressable memory having field masking
US4694425A (en) * 1986-07-10 1987-09-15 Intel Corporation Seven transistor content addressable memory (CAM) cell
US4780845A (en) 1986-07-23 1988-10-25 Advanced Micro Devices, Inc. High density, dynamic, content-addressable memory cell
US5051948A (en) 1988-02-23 1991-09-24 Mitsubishi Denki Kabushiki Kaisha Content addressable memory device
US5111427A (en) 1988-06-01 1992-05-05 Mitsubishi Denki Kabushiki Kaisha Nonvolatile content-addressable memory and operating method therefor
US5051949A (en) 1989-11-15 1991-09-24 Harris Corporation Content addressable memory device
US5440709A (en) * 1990-06-29 1995-08-08 Digital Equipment Corporation Apparatus and method for an improved content addressable memory using a random access memory to generate match information
US5258946A (en) 1991-02-13 1993-11-02 At&T Bell Laboratories Content-addressable memory
US5319589A (en) 1992-04-17 1994-06-07 Mitsubishi Denki Kabushiki Kaisha Dynamic content addressable memory device and a method of operating thereof
US5351208A (en) * 1992-04-27 1994-09-27 Integrated Information Technology, Inc. Content addressable memory
US5515310A (en) 1992-08-03 1996-05-07 Advanced Hardware Architectures, Inc. Six transistor dynamic content addressable memory circuit
US5406508A (en) 1992-09-30 1995-04-11 Kawasaki Steel Corporation Content addressable memory and method of use thereof
US5446685A (en) 1993-02-23 1995-08-29 Intergraph Corporation Pulsed ground circuit for CAM and PAL memories
US5598115A (en) 1993-02-23 1997-01-28 Intergraph Corporation Comparator cell for use in a content addressable memory
US5642320A (en) 1994-07-11 1997-06-24 Hyundai Electronics Industries Co., Ltd. Self-refreshable dual port dynamic CAM cell and dynamic CAM cell array refreshing circuit
US5715188A (en) * 1995-03-03 1998-02-03 International Business Machines Corporation Method and apparatus for parallel addressing of CAMs and RAMs
US5699288A (en) * 1996-07-18 1997-12-16 International Business Machines Corporation Compare circuit for content-addressable memories
US5859791A (en) * 1997-01-09 1999-01-12 Northern Telecom Limited Content addressable memory
US5852569A (en) 1997-05-20 1998-12-22 Quality Semiconductor, Inc. Content addressable memory multiple match detection circuit
US5949696A (en) 1997-06-30 1999-09-07 Cypress Semiconductor Corporation Differential dynamic content addressable memory and high speed network address filtering
US6157557A (en) 1998-02-26 2000-12-05 Korea Advanced Institute Of Science And Technology CAM cell and memory employing such, used for both field configurable RAM and PLA
US6181591B1 (en) 1998-10-29 2001-01-30 International Business Machines Corporation High speed CAM cell
US6266262B1 (en) 1998-11-05 2001-07-24 Lara Technology, Inc. Enhanced binary content addressable memory for longest prefix address matching
US6044005A (en) 1999-02-03 2000-03-28 Sibercore Technologies Incorporated Content addressable memory storage device
US6195278B1 (en) 1999-12-30 2001-02-27 Nortel Networks Limited Content addressable memory cells and words
US6288922B1 (en) 2000-08-11 2001-09-11 Silicon Access Networks, Inc. Structure and method of an encoded ternary content addressable memory (CAM) cell for low-power compare operation
US6373738B1 (en) 2000-11-20 2002-04-16 International Business Machines Corporation Low power CAM match line circuit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
U.S. Appl. No. 10/106,420, filed Mar. 26, 2002.

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2680870C1 (en) * 2018-01-23 2019-02-28 Федеральное государственное учреждение "Федеральный научный центр Научно-исследовательский институт системных исследований Российской академии наук" (ФГУ ФНЦ НИИСИ РАН) Method for comparing data in the cell of the associative memory device, and module for comparing data in the cell of the associative memory device

Also Published As

Publication number Publication date
US6128207A (en) 2000-10-03

Similar Documents

Publication Publication Date Title
USRE39227E1 (en) Content addressable memory (CAM) arrays and cells having low power requirements
USRE41351E1 (en) CAM arrays having CAM cells therein with match line and low match line connections and methods of operating same
US6442060B1 (en) High-density ratio-independent four-transistor RAM cell fabricated with a conventional logic process
US6256216B1 (en) Cam array with minimum cell size
US6205049B1 (en) Five-transistor SRAM cell
US5040146A (en) Static memory cell
US6999331B2 (en) CAM cells and differential sense circuits for content addressable memory (CAM)
US6101116A (en) Six transistor content addressable memory cell
US5850359A (en) Asynchronous high speed zero DC-current SRAM system
EP0196586A2 (en) Static semiconductor memory device
US6373739B1 (en) Quad CAM cell with minimum cell size
US5539691A (en) Semiconductor memory device and method for reading and writing data therein
JP4191278B2 (en) Memory device with fast write recovery and associated write recovery method
US6426905B1 (en) High speed DRAM local bit line sense amplifier
EP0553993B1 (en) Dual-port memory with read and read/write ports
JP4188643B2 (en) Semiconductor memory device
US6442054B1 (en) Sense amplifier for content addressable memory
US5600601A (en) Semiconductor memory device with reduced consumption power for bit line precharge
US6320806B1 (en) Input/output line precharge circuit and semiconductor memory device adopting the same
US5748556A (en) Tristatable driver for internal data bus lines
JPH04214294A (en) Cmos pre-charge and equivalent circuit
KR100323324B1 (en) Semiconductor memory device
US20040037138A1 (en) Direct read of dram cell using high transfer ratio
US6829156B2 (en) SRAM power-up system and method
US5295104A (en) Integrated circuit with precharged internal data bus

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

CC Certificate of correction
AS Assignment

Owner name: SILICON VALLEY BANK,CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNORS:NETLOGIC MICROSYSTEMS, INC.;NETLOGIC MICROSYSTEMS INTERNATIONAL LIMITED;NETLOGIC MICROSYSTEMS CAYMANS LIMITED;REEL/FRAME:022973/0710

Effective date: 20090717

Owner name: SILICON VALLEY BANK, CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNORS:NETLOGIC MICROSYSTEMS, INC.;NETLOGIC MICROSYSTEMS INTERNATIONAL LIMITED;NETLOGIC MICROSYSTEMS CAYMANS LIMITED;REEL/FRAME:022973/0710

Effective date: 20090717

AS Assignment

Owner name: NETLOGIC MICROSYSTEMS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTEGRATED DEVICE TECHNOLOGY, INC.;REEL/FRAME:022980/0624

Effective date: 20090717

FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: NETLOGIC MICROSYSTEMS CAYMANS LIMITED, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:SILICON VALLEY BANK;REEL/FRAME:026830/0141

Effective date: 20110826

Owner name: NETLOGIC MICROSYSTEMS INTERNATIONAL LIMITED, CALIF

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:SILICON VALLEY BANK;REEL/FRAME:026830/0141

Effective date: 20110826

Owner name: NETLOGIC MICROSYSTEMS, INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:SILICON VALLEY BANK;REEL/FRAME:026830/0141

Effective date: 20110826

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: NETLOGIC I LLC, DELAWARE

Free format text: CHANGE OF NAME;ASSIGNOR:NETLOGIC MICROSYSTEMS, INC.;REEL/FRAME:035443/0824

Effective date: 20130123

Owner name: BROADCOM CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NETLOGIC I LLC;REEL/FRAME:035443/0763

Effective date: 20150327

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001

Effective date: 20160201

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:037806/0001

Effective date: 20160201

AS Assignment

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001

Effective date: 20170120

Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BROADCOM CORPORATION;REEL/FRAME:041706/0001

Effective date: 20170120

AS Assignment

Owner name: BROADCOM CORPORATION, CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041712/0001

Effective date: 20170119