Area efficient stacked TCAM cell for fully parallel search

An area efficient stacked TCAM cell for fully parallel search. The TCAM cell includes a top half circuit portion interconnected with a replicated bottom half circuit portion such that there is a shared match line between each of the half circuit portions. Each TCAM cell includes a pair of memory elements that is connected to a pair of associated compare circuits such that the interconnections between the memory elements and the compare circuits are substantially vertical in active MOS layers and substantially horizontal in metal layers. The memory elements and the compare circuits are connected such that they facilitate shorter interconnections and sharing of terminals at the boundary of adjacent cells. The resulting stacked TCAM cell provides shorter match lines, shared bit lines, and reduced silicon area to facilitate improved routing and performance.

TECHNICAL FIELD OF THE INVENTION

The present invention relates generally to digital integrated circuits, and more particularly relates to content addressable memories (CAMs).

BACKGROUND OF THE INVENTION

Content Addressable Memories (CAMs) are commonly used in cache systems, and other address translation systems, of high speed computing systems. They are also useful in high-speed network routers, and many other applications known in the art of computing. Ternary Content Addressable Memories (TCAMs) are ternary state CAM cells and are commonly used for parallel search of high performance computing systems.

A TCAM system is composed of TCAM blocks with arrays of TCAM cells. A TCAM system typically has a TCAM block array (M×N) that includes a plurality of rows (M) and a plurality of columns (N). Further, each row has a plurality of TCAM blocks, and each TCAM block has a plurality of TCAM cells. These arrays typically have vertically running bit lines and search lines for data read/write function and horizontal running word lines and match lines. All TCAM cells in a column share the same bit lines and search lines, whereas the word lines and match lines are shared by all cells in a row. Each TCAM cell includes a pair of memory elements and a corresponding pair of compare circuits.

The TCAM cells are characterized by circuitry capable of generating a match output for each row of TCAM blocks in the TCAM cell thereby indicating whether any location of the array contains a data pattern that matches a query input and the identity of that location. Each TCAM cell typically has the ability to store a unit of data, and the ability to compare that unit of data with a unit of query input and each TCAM block has the ability to generate a match output. In parallel data search, an input keyword is placed at the search bit lines after precharging the match lines to a power supply voltage Vdd. The data in each TCAM cell connected to a match line is compared with this data, and if there is a mismatch in any cell connected to a match line, the match line will discharge to ground through the compare circuit of that TCAM cell. A compare result indication of each TCAM block in a row is combined to produce a match signal for the row to indicate whether the row of TCAM cells contains a stored word matching a query input. The match signals from each row in the TCAM cell together constitute match output signals of the array; these signals may be encoded to generate the address of matched locations or used to select data from rows of additional memory.

Each TCAM cell in each column is typically connected to a common read/write bit line pair and search bit line pair. The common read/write bit line is used to write the data to a pair of memory cells, which can be part of a TCAM cell. Each memory cell is accessed using a word line which is decoded using an input address. The common read/write bit line is also used for reading the data from a memory cell. The differential developed across the read/write bit lines are sensed using a sense amplifier during a read cycle.

Further, each TCAM cell in each column is typically connected to a common query data line, also referred to as a common search bit line. The common search bit line enables simultaneous data searching in each CAM cell in a column from a query input. The common search data line can also be used as a write data line, when the CAM cell is based on a PMOS compare circuit.

The unit of data that is stored in a TCAM cell is ternary, having three possible states: logic one, logic zero, and don't care. To store these three states, two memory elements are needed. TCAM blocks of these TCAM cells produce a local match compare result if the query input is equal to the data stored in the CAM cells in the TCAM blocks, the query input contains a don't care state, or the data stored is a don't care data. The TCAM cells produce a mismatch result otherwise. The TCAM cells are particularly useful in address translation systems that allow variable sized allocation units.

A typical problem with TCAM cells is that they use extra transistors for search function, and therefore require large silicon area and consume more power. The resulting interconnections contribute to leakage capacitance that affects system performance. Many inventions in the field of TCAMs are aimed at solving these issues of area, power and performance. One conventional technique to reduce the silicon area and power consumption uses different NAND based compare transistors connected in series, to reduce the TCAM cell size and power consumption. However, this technique fails to perform well at lower voltages, because the voltage at the gate of the TCAM cell is equal to VDD (supply voltage)−Vt (threshold voltage). Further, this approach limits the performance.

Another conventional technique uses same bit lines for read/write as well as search to reduce the number of total bit lines per TCAM cell in an effort to reduce the silicon area. This approach requires using PMOS transistors in the compare circuit, which generally reduces the speed of operation during a compare operation. In addition, this approach requires evaluating the search bit lines during write operation, which results in the dissipation of a large amount of power. Yet another conventional technique to minimize area uses DRAM based memory circuitry. But this approach is not suitable for speed sensitive applications such as cache memories since the dynamic refreshing required by DRAMs slows down the system operation.

Another significant problem of TCAMs is capacitance effects due to large number of match lines and bit lines, and the associated interconnect capacitances. Parallel searching requires high power and for large arrays, bit line capacitances are significant. Some approaches to circumvent this problem have been to reduce the number of bit lines and number of interconnections and the length of interconnections. Shorter lines reduce the line capacitances and thereby reduce the power dissipation.

SUMMARY OF THE INVENTION

According to an aspect of the subject matter, there is provided a TCAM cell in which a pair of memory elements is connected to an associated pair of compare circuits that are interconnected so as to be disposed substantially vertically in active NMOS and active PMOS layers. Further the circuits are interconnected using substantially horizontal interconnections in selective poly and metal layers. The memory elements further provide shared bit lines between adjacent TCAM cells for storing a data bit and, the compare circuits are connected to a search bit for comparing the stored data to a compare data bit via a shared match line. Further, the transistors are disposed such that the TCAM cell is vertically disposed in a stacked vertical arrangement with the top half circuit portion stacked vertically above a bottom half circuit portion, so as to provide a shared, halved match line, and shared bit lines between half TCAM cells. The TCAM cell further provides sharing of terminals at the boundaries of two half cells as well as between adjacent TCAM cells. The resulting shorter match lines, reduced capacitances, and shorter interconnections provide efficient routing and improved system performance.

DETAILED DESCRIPTION OF THE INVENTION

Referring now toFIG. 1, there is illustrated an embodiment of a TCAM system100according to the present invention. The TCAM system100includes a TCAM block array110, a control circuit120, write/search bitline decoder and driver circuits122, sense amplifiers124, read/write bitline and search bitline precharge circuits126and input/output (I/O) drivers125. As shown inFIG. 1, the TCAM system100further includes a match line encoding and priority resolver130, a match sensing circuit132, and a row decoder134.

Further as shown inFIG. 1, the TCAM block array110has multiple TCAM blocks150which are organized into at least one rectangular array which has a plurality of rows, and each row has a plurality of TCAM blocks, and each TCAM block150has a plurality of TCAM cells. In some embodiments, the TCAM block array110is arranged to include (M×N) TCAM blocks which has M number of rows and N number of columns. As shown inFIG. 1, each of the plurality of TCAM cells has an associated match line (ML) and a word line (WL). This word line is internally split into two word lines WL0and WL1respectively for the bottom and top half of each TCAM cell (as shown inFIG. 4). A control circuit120receives user input and is in communication with the precharge circuit126, sense amplifier124, write/search bitline decoder and driver122, and I/O driver125. An I/O driver125is in communication with the control circuit120and the write/search bitline decoder and driver122. The I/O driver125receives the external input signals DATAIN [0:m] and DCMIN [0:m] and sends output signals Q [0:m] and QDC [0:m] where m is the number of data bits. The associated read/write bit lines and read/write bit complement lines BIT and BITB (shown inFIG. 2) are coupled to the one or more precharge circuits126, the sense amplifier124, and the write/search bit line decoder and driver circuit122(shown inFIG. 1). Further, the I/O driver125receives the external input signals DATAIN and DCMIN and output signals Q, and QDC (shown inFIG. 1). The DATAIN is a user sent input data sent to compare stored data. The DCMIN is a user data compare input. For example, if DCM is high then the input value is considered as a don't care input and value at DATAIN is not compared. The Q and QDC outputs are the read output signals from the I/O driver125.

Referring now toFIG. 2, there is illustrated an embodiment of a TCAM block150(as shown inFIG. 1). As shown inFIG. 2, each TCAM block150includes a plurality of TCAM cells which are arranged into a rectangular array such that each TCAM cell210is associated with a row and a column in the CAM block150. In some embodiments, each TCAM block150includes (M×N) TCAM cells arranged in a rectangular array of M number of rows and N number of columns. Each TCAM cell in the TCAM block150includes a read/write bit line BIT and its associated read/write bit complement line BITB, and, a search bit line SBIT and its associated search bit complement line SBITB, each of which is connected to each of the associated plurality of TCAM cells210.FIG. 2illustrates an example TCAM cell showing bit lines running vertically through each single TCAM cell.

Further as shown inFIG. 2, the plurality of TCAM cells210in each TCAM block150are connected to an associated match line ML. In some embodiments, each of the multiple TCAM blocks150includes a local to global conversion circuit230, which converts the local match signal to a global match signal associated with each row of TCAM cells. In these embodiments, the global match signals are sensed using a match sensing circuit132(shown inFIG. 1). In these embodiments, each of the plurality of TCAM cells210includes a pair of memory elements for storing a data bit and a pair of associated compare circuits for comparing the stored data bit with a received compare data bit.

Referring now toFIG. 3, there is illustrated a circuit diagram of a conventional TCAM cell. As shown inFIG. 3, the TCAM cell300includes a left circuit portion302, and a right circuit portion304interconnected to each other.

Each circuit portion includes a pair of memory elements and their associated NMOS based pair of compare circuits. Each of the memory elements in the left circuit portion includes a pair of back to back inverters I1and I2, and a pair of access transistors AN1and AN2. The left compare circuit includes a pair of NMOS transistors CN1and CN2. Similarly, the right circuit portion includes inverters I3, and I4and their associated access transistors AN3and AN4, and their associated compare transistors CN3and CN4. Match line ML runs horizontally through both the left and right circuit portions302and304respectively of the TCAM cell300. The left circuit portion302includes a pair of read/write bit line and an associated read/write complement bit line BIT0, BITB0respectively, and a search bit line SBIT. The right circuit portion includes a pair of read/write bit line and an associated read/write complement bit line BIT1, BITB1respectively and a search bit complement line SBITB.

Referring now toFIG. 4, there is illustrated a circuit diagram of a TCAM cell400used in the TCAM block150(shown inFIG. 1) of the TCAM block array110(shown inFIG. 1). As can be seen, the TCAM cell400includes two half circuit portions stacked vertically such that there is a top half circuit portion302, and a bottom half circuit portion304. In the embodiments shown, the TCAM cell includes two memory elements, such as SRAM cells that can store two data bits to provide a ternary 3-state CAM cell (logic state zero, logic state one, and don't care).

Although the invention as illustrated inFIG. 4describes a ternary CAM cell supporting two bits and three logic states, it can be envisioned that the invention can be practiced using a binary CAM cell supporting a single bit, and two logic states (zero and one).

As shown inFIG. 4, the TCAM cell400uses a 16 transistor arrangement with 12 NMOS type and 4 PMOS type transistors. The 16 transistor TCAM cell400has two half circuit portions, with 8 transistors in each of the top half circuit portion302, and the bottom half circuit portion304. The top half circuit portion302is interconnected with the bottom circuit portion304such that a match line ML is shared between the two half circuit portions.

Associated with each half circuit portion is a pair of memory element310and a compare circuit320. The memory element310uses a 6 transistor SRAM arrangement having a pair of back-to-back inverters and a pair of access transistors. The first and second back-to-back inverters I1and I2are associated with the top half circuit portion302, and the first and second back-to-back inverters I3and I4are associated with the bottom half circuit portion304. A pair of first and second access NMOS transistors is associated with each of the back-to-back inverters. Inverters I1and I2are accessed through first and second access NMOS transistors AN1and AN2in the top half circuit portion302, and inverters I3and I4are accessed through first and second access NMOS transistors AN3and AN4in the bottom half circuit portion304. The gate of each of the access transistors is connected to a horizontal running word line which is shared with an adjacent TCAM cell400in a horizontal direction. It must be noted that the word line associated with first and second access NMOS transistors AN1and AN2of the top half circuit portion302is connected to a first word line WL0, whereas the word line associated with first and second NMOS access transistors AN3and AN4of the bottom half circuit portion304is connected to a second word line WL1. The word lines WL0and WL1are shared by the respective word lines in all TCAM cells in a row. In addition, vertically running read/write bit lines BIT and BITB and search bit lines SBIT and SBITB are available.

Each transistor has 3 terminal connections, a gate, source and drain. Typically for NMOS transistors the lower voltage terminal is the source and the higher voltage terminal is the drain. Although the source, and drain terminals can be interchanged, a NMOS type transistor typically uses the ground terminal VSS as the source and a PMOS type transistor uses the power supply VDD as the source.

In the embodiment shown inFIG. 4, first and second back-to-back inverters I1and I2can be accessed via gates of the pair of first and second access NMOS transistors AN1and AN3and word line WL0. Further, the drain terminal of each of the first access NMOS transistors AN1and AN3of the top half circuit portion302is connected to a shared read/write bit line BIT, and the drain terminal of each of the second access NMOS transistors of the top and half bottom circuit portions is connected to a read/write bit complement line BITB. Also, first and second back-to-back inverters I1and I2can be accessed via the associated read/write bit and read/write bit complement lines. It can be seen that the bit lines are positioned such that in the stacked TCAM arrangement, only one read/write bit line pair is available for both half circuit portions, whereas in a conventional TCAM cell 2 pairs of bit lines are provided. The effect of this is removal of one bit line pair, thereby reducing the number of available bit lines by half, and their associated line capacitances.

One of the main differences between a conventional TCAM cell (as shown inFIG. 3) and a stacked TCAM cell (as shown inFIG. 4) is the sharing of read/write bit lines BIT and BITB between each of the half circuit portions.

As shown inFIG. 4, a pair of read/write bit line and read/write bit complement lines BIT and BITB (shown inFIG. 2) are associated with each of the TCAM cell400. Also, associated with each TCAM cell are 2 memory locations. During a read cycle, the I/O driver reads a stored data bit in each TCAM cell via the associated read/write bit line. During a write cycle, the I/O driver writes a data bit to each TCAM cell400via the associated read/write bit complement line. Further, the I/O driver125receives the external input signals DATAIN and DCMIN and outputs signals Q, and QDC. The DATAIN is a user sent input data sent to compare stored data. The DCMIN is a user data compare input. For example, if DCM is high then the input value is considered as a don't care input and value at DATAIN is not compared. Signal Q is a data output signal and signal QDC is a data compare output signal.

The drawback however, with sharing a single read/write bit line pair for both memory locations of a TCAM cell is that it requires two cycles for each read/write operation. This is because the same bit line pair is used for reading and writing into two memory locations and only half data is written into memory in one cycle. The search operation, however, requires only one cycle per operation.

This reduced write and read throughput can be restored by using burst write and read mechanism where the input write data bus is divided into two pieces and written in two cycles internally. This requires muxed TCAM architecture where the mux factor is same as number of burst cycles.

Further, as shown inFIG. 4, each of the pair of compare circuits320includes serially connected first and second compare NMOS transistors. The top half circuit portion302uses compare NMOS transistors CN1and CN2for implementing the search bit SBIT function, and the bottom half circuit portion uses compare transistors CN3and CN4respectively for implementing the search bit complement SBITB function. The drain terminals of the first compare NMOS transistors CN1and CN3are connected to the shared match line ML. A common gate terminal450(FIG. 5A) is provided that connects the gate of the first compare NMOS transistor CN1, to the gates of first load PMOS transistor LP1, and its associated first driver NMOS transistor DN1(of inverter I1), all three associated with the top half circuit portion302. Similarly, a common gate terminal450is provided that connects the gate of the first compare NMOS transistor CN3, to the gates of the first load PMOS transistor LP3and its associated first driver NMOS transistor DN3(of inverter I2), all three associated with the bottom half circuit portion304(FIG. 5B). The top and bottom half circuit portions are oriented such that the bottom half circuit portion304is almost a mirror replica of the top half circuit portion302and provides for a match line ML that is shared between the half cells at the stacked centerline dividing boundary of the full TCAM cell400. In effect, the stacked orientation of the top and bottom half circuit portions302and304provides a shared match line ML between the half cells such that the length of the match line ML is now reduced by about a half

The number of TCAM cells connected to each of the match line ML is decided based on the performance and leakage effect on evaluated lines. Thus, a fully parallel search is enabled by this design. The above technique takes into account the tradeoff of the transistor sizes used in the TCAM cell to achieve a higher performance and a reduced silicon area. In addition, the compare circuit transistors (controlled by the search bit line and memory cell node) are ordered such that charge sharing between match line and the intermediate node between the series connected compare circuit transistors, does not happen on match lines that do not evaluate a mismatch (the precharged state is retained on the match line). In case of a mismatch, the match line ML will be pulled low.

The capacitance associated with the match lines is high. Therefore, reducing the length of the match line reduces the active capacitance and therefore the power. It must be noticed that the effect of stacking the top and bottom half circuit portions is to shorten the word line and match line length by half, but in effect the bit line length increases to about one and a half times. The increase in bit line length is less because of match line contact sharing between the top and bottom half circuit portions. Further, stacking also causes a reduction in the height of the TCAM cell to about less than two times.

Referring now toFIGS. 5A and 5B, there is illustrated a detailed view of the circuit schematic of the TCAM cell400(as shown inFIG. 4) showing the terminal connections of each of the 16 transistors. Although shown separately,FIGS. 5A and 5Bviewed together provide the interconnectivity of the 16 transistors in a full TCAM cell400.FIG. 5Ashows the interconnectivity of the top half circuit portion302, andFIG. 5Bshows the interconnectivity of the bottom half circuit portion304, of the TCAM cell400.FIGS. 5A and 5Bshow further, the back-to-back inverter circuits I1, I2, I3, I4in detail and their interconnectivity to their associated access and compare transistor pairs.FIGS. 4,5A and5B viewed together provide all the interconnectivity needed to understand the cross coupled connections of the back-to-back inverters. Each half circuit portion302and304includes a memory element310, and its associated compare circuit320. Associated with each memory element310, is a pair of back-to-back inverters and a pair of access transistors. First and second back-to-back inverters I1, I2are associated with the top half circuit portion302, and first and second back-to-back inverters I3, I4are associated with the bottom half circuit portion. As can be seen, first and second NMOS access transistors AN1, AN2are associated with the top half circuit portion302, and first and second NMOS access transistors AN3, AN4are associated with the bottom half circuit portion304. The access transistors provide the word lines and the bit lines. A pair of compare transistors CN1, CN2is associated with the top half circuit portion302, and CN3, CN4are associated with the bottom half circuit portion304, for providing the match line, search bit lines, and the compare function. Further, each inverter is formed by a pair of load PMOS and driver NMOS transistors which are cross coupled to form each of the back-to-back inverters. Therefore, associated with each back-to-back inverter I1, I2, I3and I4is a load/driver pair of transistors LP1/DN1, LP2/DN2, LP3/DN3, and LP4/DN4respectively. The inverters I1, I2provide a cross-coupled feedback inverter to form a latch for storing data in the top half circuit portion302, whereas I3, I4provide a cross-coupled feedback inverter to form latch for storing data in the bottom half circuit portion304.

As shown inFIGS. 5A and 5B, the drain terminals425of access transistors AN1of the top half circuit portion302and AN3of the bottom half circuit portion304respectively are connected to a shared read/write bit line BIT and, the drain terminals455of access transistors AN2of the top half circuit portion302and AN4of the bottom half circuit portion304respectively, are connected to a shared read/write bit complement line BITB. The bit lines BIT and BITB run vertically from top to bottom and are shared by each half of the TCAM cell as well as with each vertically adjacent TCAM cells. Similarly, vertical running search bit line SBIT is connected to the gate terminal440of the compare transistor CN2, while search bit complement line SBITB is connected to the gate terminal440of compare transistor CN4. Search bit lines SBIT, and SBITB run vertically and are shared with vertically adjacent TCAM cells.

The gate terminals416,470of access transistors AN1and AN3of the top half circuit portion302are connected to a first word line WL0, whereas the gate terminals416,470of access transistors AN2and AN4of the bottom half circuit portion304are connected to a second word line WL1. Horizontal word lines WL0and WL1are oriented at the periphery of the TCAM cells such that they run across each horizontally adjacent TCAM cell.

As shown inFIG. 5A, the source terminal419of access transistor AN1is connected to the input of inverter I1and output of inverter I2and source terminal419of access transistor of AN3is connected to the input of inverter I3and the output of inverter I4. Similarly, source terminal460of access transistors AN2is connected to input of inverter I2and output of inverter I1and source terminal460of AN4is connected to input of inverter I4and output of inverter I2.

As can be seen, the top half circuit portion302, of the TCAM cell400, includes serially connected first and second compare transistors CN1and CN2. Likewise, the bottom half compare transistors are serially connected CN3and CN4. The source terminal430of CN1and CN3of the top and bottom half circuit portions are connected to the match line ML which is at the stacked centerline boundary of the two half cells. In a conventional TCAM cell there is provided a single long match line connecting the left and right circuit portions (as inFIG. 3). The TCAM cell400shown inFIG. 4provides for a match line ML where the length is reduced by half and the transistor orientation is such that the match line is shared between the two half portions of the TCAM cell.

Furthermore, gate terminal450of CN1and CN3is also connected to drain466of second driver NMOS transistor DN2and to the drain447of the second load PMOS transistor LP2. The gate terminal450of CN1and CN3is connected to the common gate of load/driver transistors LP1, DN1of inverter I1of top half circuit portion302. The gate terminal450of CN3is connected to the common gate of load/driver transistors LP3, DN3of inverter I2of bottom half circuit portion304. Further, each of the source terminals419of access transistors AN1(as shown inFIG. 5A) and AN3(as shown inFIG. 5B) is connected to each of the respective common gate connections450of each of the associated compare transistors372in each of the circuit portions ofFIGS. 5A and 5B.

The gate terminal440of compare transistor CN2of the top half circuit portion302(shown inFIG. 5A) is connected to search bit line SBIT whereas the gate terminal440of compare transistor CN4of the bottom half circuit portion304(shown inFIG. 5B) is connected to the search bit complement line SBITB.

Referring now to the group ofFIGS. 6 to 9, there is illustrated several layout figures of a full stacked TCAM cell400as shown inFIGS. 4,5A and5B, showing sequential addition of different active, poly, and metal layers. First, the active areas, poly, transistor names and their placements, are illustrated inFIG. 6. In addition to the active areas, poly, and transistor names, the individual terminal connections of each transistor are shown inFIG. 7. It must be noted that the transistor names and terminal connections and interconnectivity as shown inFIGS. 6 and 7are applicable to each of the layout figures ofFIGS. 6-9. The layout diagrams illustrate an embodiment of an interconnectivity of the top half circuit portion302, and the bottom half circuit portion304, each of which includes a pair of memory element310and its associated compare circuit320, a pair of read/write bit line BIT and its associated read/write bit complement line BITB and, a pair of search bit line SBIT, and its associated complement SBITB (as shown inFIG. 4). Horizontal running word lines WL0and WL1and match lines ML are shown, which are shared with the adjacent TCAM cells. In addition, each of the layout figuresFIGS. 6 to 9depict the above mentioned circuit elements located in an active NMOS layer480, an active PMOS layer482, and the contacts which are used for interconnectivity of transistor terminals. In addition,FIG. 6shows gate terminals in a poly layer (POLY) of the TCAM cell400. Further, horizontal running metal lines and vertical running metal lines are shown that are used selectively to connect various transistors and signals.

It can be seen that the bottom half circuit portion304is almost a mirror replica and contains similar circuitry and interconnectivity as in the top half circuit portion302. Furthermore, the inter-connectivity of the top and bottom circuit portions of the TCAM cell400extends to each TCAM cell in the TCAM block150(shown inFIG. 2).

Referring now toFIG. 6, there is illustrated a layout of a full TCAM cell400showing active, poly and contacts associated with the 16 transistors. The poly layer (POLY) is used for the gates of the transistors. It can be seen that the names of the transistors are marked on the POLY corresponding to the gate of the associated transistors. Access transistors AN1, AN2, AN3and AN4are formed in active NMOS layer480. Driver transistors DN1, DN2, DN3, and DN4are similarly formed in active NMOS layer480. Load transistors LP1, LP2, LP3, and LP4are formed in active PMOS layer482and are shown as sitting in an N-well substrate. Compare transistors CN1, CN2, CN3and CN4are formed in active NMOS layer480. The source and drain regions of the transistors are shown as contacts. For clarity, only transistor names are marked onFIG. 6. The terminal connections of each individual transistor will be shown inFIG. 7.

As can be seen fromFIG. 6, match line ML is the horizontal middle line that bifurcates the TCAM cell into 2 halves. The portion above the ML is the top half circuit portion302and the portion below the match line is the bottom half circuit portion304. The layout can be visualized as having 4 major vertical diffusions columns going from left to right. As shown inFIG. 6, each diffusion column is housing a pair of transistors in each of the top (302) and bottom (304) half circuit portions. The top half circuit portion (302) will be described first and it will be seen that the bottom half circuit portion304is almost a mirror replica of the top half circuit portion302. The first diffusion column is in active NMOS layer (480) and is associated with an access/driver transistor pair AN2/DN1, in the top circuit portion, and an access/driver transistor pair, AN3/DN4in the bottom circuit portion.

The drain terminal of each of the access transistors AN1and AN3is connected to the common bit line, and the source terminal of each of the access transistors AN1and AN3is shared by the drain terminal of DN2and DN4in the top and bottom half circuit portions respectively. The gates of the access transistors416and470respectively of AN1and AN2are connected to individual word lines WL0. Similarly the gates416and470of access transistors AN3, AN4in the bottom half circuit portion304are connected to individual word lines WL1.FIG. 9shows how horizontal metal 3 layer (M3) is used to connect the individual word lines WL0on either ends of the TCAM cell400. Similarly,FIG. 9also shows metal 3 layer M3connecting the WL1word lines. As can be seen inFIG. 6, driver transistors DN2and DN4are at the periphery of the TCAM cell and have shared vias at the VSS terminal at the peripheral boundary of the TCAM cell400, which is shared with another adjacent TCAM cell (not shown). As can be seen, the common BIT line of transistors AN1and AN3is shared at the centerline boundary of the two half cells.

The second vertical diffusion columns, going from left to right of the layout are housed in active PMOS layer482in an N-well substrate. Load PMOS transistors LP1, LP2, are associated with the top circuit302, whereas load PMOS transistors LP3, LP4are associated with the bottom portion304. As can be seen inFIG. 6, the common POLY can be seen at the shared gate of LP2and DN2. Similarly, DN4, LP4have a shared gate as shown by the common POLY. The source terminals of LP2and LP4are connected separately to VDD terminals which are connected at the periphery of the TCAM cell400, and will have shared vias with an adjacently placed TCAM cell (not shown). It can be seen that the source terminals of LP1and LP3share a common terminal VDD at the centerline boundary of the half cell. It can be seen that the gate terminal of transistors LP1, CN1and DN1are shared by a long POLY connection in the top half circuit portion302. Similarly, transistors LP3, CN3, DN3share a long POLY connection in the bottom half circuit portion304of the TCAM cell400.

It must be noted that the poly is not bent as in a TCAM cell where the memory elements and their associated compare circuitry are placed side by side. In case of non-stacked TCAM cells, the match line is different for different cells and thus cannot be shared with adjacent TCAM cells. Therefore, the spacing must be maintained between two match line contacts resulting in a bent poly connection. In a stacked TCAM cell match line is shared between two memory elements which does not require bent poly connection due to spacing and results in reduced metal line length.

The third vertical diffusion column houses NMOS based compare transistors CN2, CN1in the top half circuit portion302, and CN3, CN4in the bottom half circuit portion304of the TCAM cell400. The source terminals430of compare transistors CN1and CN3are connected at the stacked centerline boundary of the half cells as shown by the match line ML connection. The source terminals of the compare transistors are connected to separate VSS terminals which are placed at the top and bottom periphery of the associated compare transistor. These peripheral boundary connections are shared with adjacent TCAM cells (not shown). The gate of each of the compare transistors CN2, CN4is respectively connected to the search bit SBIT and search bit complement SBITB line. The compare transistors are deposited in active NMOS layer480.

The fourth and last diffusion column is in active NMOS layer480hosting transistor pair AN2, DN1in the top half circuit portion302, and transistor pair DN3, AN4in the bottom half circuit portion304of the TCAM cell400. Word lines WL0are connected to the gate terminals of AN1and AN2in the top half circuit portion302, and word lines WL1are connected to the gate terminals of AN3and AN4in the bottom half circuit portion304of the TCAM cell400. As will be seen horizontal running metal 3 layer (FIG. 9) will be used for word line interconnectivity. The drain terminals of AN2and AN4are separately connected to the read/write complement bit line BITB which is shown as a shared contact at the periphery of the TCAM cell400, shared by an adjacent TCAM cell.

As can be readily seen, the periphery of the TCAM cell400facilitates sharing of interconnections with the adjacent TCAM cells on all 4 sides (not shown). It can also be seen that the stacked centerline boundary shared by each of the half cell also shares interconnections between the half circuit portions and thereby provides silicon area savings and reduction of metal lines.

Now referring toFIG. 7, there is illustrated an embodiment of a TCAM cell400, showing metal 1 interconnectivity along with the different active, poly layers ofFIG. 6. All transistors names and connectivity appearing inFIG. 6are applicable here, and are shown. In addition,FIG. 7depicts the transistor terminal names for each of the 16 transistors.FIG. 7viewed along withFIGS. 5A, and5B will provide all the connectivity detail necessary to understand the interconnectivity of the invention as described in these embodiments.

Now coming to the interconnectivity of the different transistors, we will address the interconnectivity of the top half circuit portion302first, and as will be seen, the bottom half circuit portion304is almost a replica of the top half circuit portion302except for the search bit complement SBITB poly connection. In an embodiment shown, horizontally running metal 1 layer (M1) is used for interconnectivity of the various terminals, of shared contacts, of common gates, etc. All source, drain and gate terminals of each of the transistors as appearing inFIGS. 5A and 5Bare shown here. As can be seen, gate terminals416and470respectively of access transistors AN1and AN2of the top half circuit portion302are connected to word lines WL0. Similarly, gate terminals416and470respectively of access transistors AN3and AN4of the bottom half circuit portion304is similarly connected to word lines WL1. The drain terminals425of the top and bottom transistors AN1, AN3are connected to the common BIT line shared at the centerline boundary of the two half cells. The drain terminals455of AN2, and AN4are connected to the BITB terminal at the right top and bottom periphery of the TCAM cell. Common source terminal430of compare transistors CN1and CN3is connected to a commonly shared match line ML which divides the TCAM cell400into its two half circuit portions302and304. Common gate terminal450of first compare transistor CN1connects to each of the gates of LP1and DN1at the top and bottom half circuit portions. Similarly, common gate terminal450of first compare transistor CN3of the bottom half circuit portion304connects to each of the gates of LP3and DN3. Common gate terminal492connects to DN2, LP2in the top half circuit portion302, and common gate terminal492connects to DN4, LP4in the bottom half circuit portion304. Source terminals for VSS appear at the periphery and are connected to terminal465of each of the driver NMOS transistors DN2, DN4at the top and bottom portions of the TCAM cell400. Source terminals for VDD appear at the periphery and are connected to terminal442of each of the load PMOS transistors LP1and LP3. Source terminal435of compare transistors CN2and CN4are connected to the VSS contacts at the top and bottom periphery of the TCAM cell400. The gate terminal440of each of the compare transistors CN2and CN4in the top and bottom half portion is respectively connected to the search bit SBIT and search bit complement line SBITB.

Transistors CN1and CN3are placed such that they facilitate sharing of a common match line ML between the top302and bottom304half circuit portion by connecting to the drain terminal430of each of the compare transistors. As can be seen, BIT, VSS, VDD and the ML contacts are shared at the centerline boundary of the two half cells.FIG. 7also depicts the use of metal 1 layer M1for the short interconnectivity between terminals446and447to450. Metal 1 layer M1is also used for interconnectivity of terminals450to common terminal417/460.

As can be seen above, the invention as described in the above figures provides for a compact arrangement of transistors and efficient layout to facilitate shared interconnectivity to adjacent transistors within a TCAM cell and to adjacent TCAM cells. The placement of transistors provides for shorter match lines, and shorter interconnections.

Now referring toFIG. 8, there is illustrated a TCAM cell400as shown inFIG. 8. As shown, there is depicted a metal 2 layer (M2) in addition to the active, poly, contact and, metal 1 layer (M1) as shown inFIGS. 6 and 7. It will be understood that all transistor names and terminal connection placements and inter-connectivity are the same as shown inFIGS. 6 and 7. For clarity, only the active PMOS layer482, active NMOS layer480, metal 1 layer M1, metal 2 layer M2, signals VSS and VDD, bit line BIT, bit complement line BITB, search bit SBIT, match line ML and word line WL are shown. Metal 2 layer (M2) is a vertically running metal layer that runs across the entire TCAM cell400as well as through the adjacent TCAM cells in a column. In effect, the BIT lines of all TCAM cells in a column share the common read/write BIT line. The access NMOS transistors AN1and AN2are positioned such that they share a common bit line BIT which runs vertically across the boundaries of the TCAM cell to connect to adjacent TCAM cells (as shown inFIGS. 2 and 4). It can be seen that vertically running metal 2 layer M2is used for interconnectivity of BIT, VSS, VDD, SBITB, VSS, and BITB contacts and runs vertically across the TCAM cell400. As can be seen fromFIG. 8, VIA1contacts are used when horizontal metal layer 1 M1and vertical metal 2 layer M2cross over each other.

Now referring toFIG. 9there is depicted metal 3 layer (M3) in addition to the active, poly layer POLY, contact, metal 1 layer M1, VIA1, metal 2 layer M2, VIA2, and metal 3 layer (M3) as shown inFIGS. 6 and 7. As shown, metal 3 layer M3is a horizontal running metal layer, used for word lines WL0, WL1and for match line ML. In one embodiment, metal 2 layer M2can be used for match line ML and word lines WL0and WL1. In another embodiment, metal 3 layer (M3) can be used for the BIT, BITB, SBIT, SBITB, VSS and VDD terminals.

AlthoughFIGS. 4-9are illustrative of only one embodiment, it can be envisioned that metal 2 layer and metal 3 layers can be interchanged in other embodiments and that the metal layers can be additional and different. As can be seen the above described methods provide compact and efficient layout for providing shorter match lines which gives area advantages. Further, bit lines are shared providing an area reduction of height, by using 1.5 times the area required for 2 half cells, thereby giving a 25% reduction in height. The placement of match line ML also determines the poly placement such that it is not bent like a U and has space and capacitance advantages. The capacitance effects are reduced due to these features which provides fully parallel search with speed advantage. The above described method also provides application specific uses in routers and networking products.

The above-described methods and apparatus provide various schemes to enhance the performance and reduce the silicon area in TCAM cells. The inventive features of horizontal poly and vertical active layers in the above-described methods and apparatus can also be implemented for binary CAM cells. While the present subject matter has been described with reference to static memory elements, it is can be used in dynamic TCAM cells also.

The proposed technique increases performance and reduces silicon area and power consumption in a TCAM cell while controlling leakage effects.

The invention is an efficient architecture of a TCAM cell using a novel way of transistor placements and interconnections with effective routing so that there is area reduction and performance and aspect ratio improvement. The invention also resides in a novel way of circuit layout arrangement of a pair of memory elements interconnected to a pair of associated compare circuits such that the transistors are stacked in a vertical arrangement so as to allow more room to fit more cells thereby providing a compact design. The invention also uses fewer metal lines, shorter interconnections, and shared match lines between the two half circuits thereby providing a shared, halved match line at the dividing boundary of two half cells within a TCAM cell.

As shown herein, the present invention can be implemented in a number of different embodiments, including various methods, an apparatus, and a system. Other embodiments will be readily apparent to those of ordinary skill in the art. The elements, algorithms, and sequence of operations can all be varied to suit particular requirements.

FIGS. 1-9are merely representational and are not drawn to scale. Certain proportions thereof may be exaggerated, while others may be minimized.FIGS. 1-8illustrate various embodiments of the invention that can be understood and appropriately carried out by those of ordinary skill in the art.

The above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those skilled in the art. The scope of the invention should therefore be determined by the appended claims, along with the full scope of equivalents to which such claims are entitled.