US7113415B1 - Match line pre-charging in a content addressable memory having configurable rows - Google Patents
Match line pre-charging in a content addressable memory having configurable rows Download PDFInfo
- Publication number
- US7113415B1 US7113415B1 US10/859,477 US85947704A US7113415B1 US 7113415 B1 US7113415 B1 US 7113415B1 US 85947704 A US85947704 A US 85947704A US 7113415 B1 US7113415 B1 US 7113415B1
- Authority
- US
- United States
- Prior art keywords
- row
- segment
- match line
- cam
- match
- 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, expires
Links
- 230000015654 memory Effects 0.000 title claims abstract description 11
- 230000004044 response Effects 0.000 claims description 44
- 238000000034 method Methods 0.000 claims description 8
- 230000003068 static effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 14
- 230000007704 transition Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 4
- 101150111792 sda1 gene Proteins 0.000 description 3
- 238000007599 discharging Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 102100037620 Centrin-1 Human genes 0.000 description 1
- 102100037631 Centrin-2 Human genes 0.000 description 1
- 102100037633 Centrin-3 Human genes 0.000 description 1
- 101000880499 Homo sapiens Centrin-1 Proteins 0.000 description 1
- 101000880516 Homo sapiens Centrin-2 Proteins 0.000 description 1
- 101000880522 Homo sapiens Centrin-3 Proteins 0.000 description 1
- 101100059658 Mus musculus Cetn4 gene Proteins 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital 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/04—Digital 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
- This invention relates generally to semiconductor memories and specifically to content addressable memories.
- CAMs are frequently used for address look-up functions in Internet data routing.
- routers used by local Internet Service Providers typically include one or more CAMs for storing a plurality of Internet addresses and associated data such as, for instance, corresponding address routing information.
- ISPs Internet Service Providers
- the destination address is compared with all CAM words, e.g., Internet addresses, that are stored in the CAM. If there is a match, routing information corresponding to the matching CAM word is output and thereafter used to route the data.
- a CAM device includes a CAM array having a plurality of memory cells arranged in an array of rows and columns, with each row storing a CAM word (e.g., a destination or forwarding address).
- a search key (sometimes called a comparand word) is provided to the CAM device and compared with all the CAM words stored in the array. For each CAM word that matches the search key, a corresponding match line is asserted to indicate the match result. If any of the match lines are asserted, a match flag is asserted to indicate the match condition, and a priority encoder determines the index of the highest priority matching (HPM) entry in the CAM array.
- the HPM index may be used to access associative data stored in an associated memory such as, for example, a RAM device.
- Some CAM devices allow for accessing a segment of CAM cells in an intra-row configurable CAM device.
- U.S. Pat. No. 6,243,281 which is assigned to the assignee of the present application and is hereby incorporated by reference, discloses a CAM array having a plurality of rows of CAM cells in which each row is segmented into a plurality of row segments. Each row segment includes a plurality of CAM cells coupled to a corresponding match line segment.
- Address logic coupled to the CAM array uniquely addresses individual row segments in response to first configuration information, and uniquely addresses a group of the row segments in response to second configuration information.
- the first configuration information is indicative of a first width and depth configuration of the CAM array
- the second configuration information is indicative of a second width and depth configuration of the CAM array.
- all match line segments in each row are typically pre-charged prior to compare operations without regard to the particular width and depth configuration of the CAM array and without regard to match results in previous row segments.
- compare operations between comparand data and data stored in the CAM array if all CAM cells in a row segment match the comparand data, the CAM cells do not discharge the corresponding match line segment, which remains in its charged state to indicate a match condition for the row segment. Conversely, if any CAM cell in the row segment does not match the comparand data, the CAM cell discharges the match line segment to indicate a mismatch condition for the row segment.
- the discharged match line segments are then pre-charged prior to the next compare operation.
- FIG. 1 is a block diagram of a CAM device generally representative of an intra-row configurable CAM device within which embodiments of the present invention can be implemented;
- FIG. 2 is a block diagram of one embodiment of the address logic of FIG. 1 ;
- FIG. 3 is one example of the address logic of FIG. 2 for particular configurations of the CAM device
- FIG. 4 is one embodiment of a truth table for the select logic of FIG. 3 ;
- FIG. 5 is one embodiment of a truth table for the segment decoder of FIG. 3 ;
- FIG. 6 is a block diagram of one embodiment of circuitry to load comparand data into the comparand register
- FIG. 7 is one example of the circuitry of FIG. 6 for particular configurations of the CAM device
- FIG. 8 is one embodiment of a truth table for the select logic of FIG. 7 ;
- FIG. 9 is a block diagram of one embodiment of the match flag logic of FIG. 1 ;
- FIG. 10 is a block diagram of a row of CAM cells of the CAM array of FIG. 1 modified in accordance with one embodiment of the present invention.
- FIG. 11 is one example of the row of FIG. 10 for particular configurations of the CAM array
- FIGS. 12A–12C are exemplary timing diagrams illustrating compare operation for various width and depth configurations for the row of FIG. 11 ;
- FIG. 13 is a circuit diagram of one embodiment of the match line control circuit of FIGS. 10 and 11 ;
- FIG. 14 is a circuit diagram of another embodiment of the match line control circuit of FIGS. 10 and 11 ;
- FIG. 15 is a circuit diagram of another embodiment of the match line control circuit of FIGS. 10 and 11 .
- a method and apparatus for reducing power consumption in a CAM device are discussed below in the context of an intra-row configurable CAM device for simplicity only. It is to be understood that embodiments of the present invention are equally applicable to other structures that may include intra-row configurability features such as, for example, RAM, EPROM, EEPROM, and flash memory devices.
- intra-row configurability features such as, for example, RAM, EPROM, EEPROM, and flash memory devices.
- specific nomenclature is set forth to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that these specific details may not be required to practice the present invention. In other instances, well-known circuits and devices are shown in block diagram form to avoid obscuring the present invention. Additionally, the interconnection between circuit elements or blocks may be shown as buses or as single signal lines.
- Each of the buses may alternatively be a single signal line, and each of the single signal lines may alternatively be a bus.
- the logic levels assigned to various signals in the description below are arbitrary, and therefore may be modified (e.g., reversed polarity) as desired. Accordingly, the present invention is not to be construed as limited to specific examples described herein but rather includes within its scope all embodiments defined by the appended claims.
- Embodiments of the present invention reduce the power consumption of CAM devices having intra-row configurability features during compare operations between a comparand word and data values stored therein by selectively pre-charging match line segments in one or more selected row segments in response to match results in one or more previous row segments and in response to the particular row configuration of the CAM device.
- FIG. 1 is generally representative of an exemplary CAM device 100 within which embodiments of the present invention may be implemented.
- CAM device 100 which is consistent with that disclosed in U.S. Pat. No. 6,243,281, includes a CAM array 102 that includes Y rows 122 ( 0 )– 122 ( y - 1 ) of CAM cells each segmented into Z row segments S 1 –SZ of W CAM cells (CAM cells not shown in FIG. 1 for simplicity), where W, Y, and Z are any integer numbers.
- the CAM cells can be any type of CAM cells including binary, ternary, and quaternary CAM cells.
- One or more of the row segments may also include a different number of CAM cells.
- Other well-known signals that can be provided to CAM device 100 such as enable signals, reset signals, and clock signals, are not shown for simplicity.
- CAM array 102 can be configured into n different ZY/n width by nW depth configurations, where n is an integer from 1 to Z.
- n is an integer from 1 to Z.
- CAM array 102 can be configured to operate in three different configurations: ( 1 ) 1k ⁇ 288, ( 2 ) 2k ⁇ 144, and (3) 4k ⁇ 72, thereby enabling a single CAM array to store and maintain a different table size in each different configuration mode.
- CAM array 102 can be configured on a row-by-row or section-by-section basis to store data words of ⁇ 72, ⁇ 144 or ⁇ 288 bits that span one or more rows of the CAM array.
- a first half of CAM array 102 can be configured as 512 ⁇ 288, the next quarter of CAM array 102 can be configured as 512 ⁇ 144, and the final quarter of CAM array can be configured as 1k ⁇ 72. This flexibility allows CAM device 100 to store and maintain multiple tables of different sizes.
- Configuration information CFG is used to program CAM device 100 to operate CAM array 102 in one of the multiple array configurations.
- the configuration information includes one or more signals that indicate the operating configuration of the CAM array 102 and the CAM device. For example, a separate configuration or control signal may be associated with each configuration of the device.
- the configuration information may be stored in configuration register 118 and subsequently provided over bus 120 to address logic 104 , priority encoder logic 112 , match flag logic 114 and/or multiple match flag logic 116 .
- configuration register 118 may be omitted and the configuration information provided directly to one or more of the various circuit blocks.
- the configuration information may be provided as part of read, write or compare instructions on the instruction bus IBUS to instruction decoder 106 .
- Instruction decoder 106 provides various control signals to the address logic 104 , read/write circuitry 110 , and comparand register 108 to control when CAM device 100 performs one of the operations. Additionally, instruction decoder 106 may provide one or more control signals to CAM array 102 , priority encoder logic 112 , match flag logic 114 , multiple match flag logic 116 , and configuration register 118 to enable these circuits to perform their associated functions at an appropriate time. For an alternative embodiment, instruction decoder 106 may be omitted and various read, write and compare control signals may be provided directly to one or more of the circuit blocks.
- Address logic 104 uniquely addresses one row segment or a group of row segments in response to the configuration information and an input address provided on address bus ADDR.
- Address logic 104 decodes the input address and outputs a decoded row address and a decoded segment address.
- the decoded row address enables one of the rows of CAM cells via word lines WL( 0 )–WL(y- 1 ), and the decoded segment address is provided on bus 124 to the read/write circuitry 110 to selectively enable one or more of the row segments to communicate data with the data bus DBUS.
- the configuration information provided to address logic 104 determines whether the decoded segment address provided to read/write circuitry 110 enables one row segment to communicate with the data bus, or enables a group of row segments to communicate with the data bus. For example, when CAM array 102 is configured in ZY (rows) ⁇ W (cells) mode (e.g., 4k ⁇ 72), each decoded segment address uniquely addresses one row segment of a selected row such that data can be written to or read from a particular row segment by asserting the corresponding word line and enabling the row segment to communicate with DBUS through read/write circuitry 110 . When CAM array 102 is configured in other configurations, each decoded segment address uniquely addresses a group of row segments. Data may be simultaneously communicated with the entire group of row segments, or data may be communicated on a segment-by-segment basis within the addressed group.
- FIG. 2 shows address logic 200 that is one embodiment of address logic 104 of FIG. 1 .
- Address logic 200 includes row decoder 202 , row address (RA) select logic 203 , segment decoder 204 , and segment address (SA) select logic 206 .
- Row decoder 202 receives and decodes row address RA to select and enable one of the word lines WL( 0 )–WL(y- 1 ).
- the word lines are each connected to all of the row segments of one of the corresponding rows 122 ( 0 )– 122 ( y - 1 ).
- data may be written to or read from one or more CAM cells in the selected row in a conventional manner.
- each row segment may be connected to its own word line.
- RA select logic 203 determines which address signals of an input address on ADDR are provided as RA to the row decoder.
- Segment decoder 204 receives SDA from SA select logic 206 .
- SA select logic 206 determines SDA from the segment address SA provided on address bus ADDR, the segment select signals SSEL, or from a combination of both.
- the segment address uniquely identifies the address of a row segment or a group of row segments for a selected row of CAM cells.
- the segment select signals may be used to uniquely address and access one of the row segments within an addressed group of row segments.
- Other configurations may be used.
- the CAM array may be configured to operate in three different modes in response to the configuration signals SZ 72 , SZ 144 and SZ 288 .
- SZ 72 When SZ 72 is enabled, the CAM array operates in a 4k ⁇ 72 mode; when SZ 144 is enabled, the CAM array operates in a 2k ⁇ 144 mode; and when SZ 288 is enabled, the CAM array operates in a 1k ⁇ 288 mode.
- a summary of the inputs address signals, RA, SA, SDA and SEN 1 –SEN 4 used and generated for this example is shown in the truth tables of FIGS. 4 and 5 .
- the input address on the address bus has twelve bits A 11 –A 0 .
- all twelve bits A 11 –A 0 are used to uniquely address each of the 4k row segments in CAM array 102 .
- Bits A 11 –A 2 are selected by RA select logic 203 and are used as the row address for row decoder 202 to select one of the CAM rows; and bits A 1 –A 0 are provided to SA select logic 206 and used to select one of the row segments for a selected row of cells.
- SZ 72 is enabled and SA select logic 206 provides A 1 and A 0 as SDA 1 and SDA 0 , respectively, to segment decoder 204 .
- a 1 and A 0 are decoded by segment decoder 204 to generate SEN 1 –SEN 4 and select a particular row segment in a selected row of cells for communication.
- bits A 10 –A 0 are used to uniquely address each of the 2k groups of row segments in CAM array 102 .
- Each group of row segments includes two row segments. The most significant bit All does not participate in addressing a group of row segments.
- Bits A 10 A 10 –A 1 are selected by RA select logic 203 as the row address and are used by row decoder 202 to select one of the CAM rows; and bit A 0 is provided to SA select logic 206 and used to select one of the groups of row segments for a selected row of cells.
- bits A 9 –A 0 are used to uniquely address each of the 1k groups of row segments in CAM array 102 .
- Each group of row segments includes four row segments (i.e., an entire row). The most significant bits A 11 –A 10 do not participate in addressing a group of row segments.
- Bits A 9 –A 0 are selected by RA select logic 203 as the row address and are used by row decoder 202 to select one of the CAM rows.
- SZ 288 is enabled and SA select logic 206 provides SSEL 1 and SSEL 0 as SDA 1 and SDA 0 , respectively, to segment decoder 204 .
- SSEL 1 and SSEL 0 are decoded by segment decoder 204 to generate SEN 1 –SEN 4 and select a particular row segment in a selected row of cells for communication.
- segment decoder 204 decodes an input address of 0000000000001 to address the group of row segments S 1 –S 4 of row 122 ( 1 )
- a 9 –A 0 will address row 122 ( 1 )
- SSEL 1 and SSEL 0 can be used to select each of row segments S 1 –S 4 .
- address logic 200 As well as RA select logic 203 and SA select logic 206 , can be found in U.S. Pat. No. 6,243,281, which is referenced above and incorporated herein by reference.
- FIG. 3 disclosed a particular example of the operation of decoder 200 for a particular number of possible CAM array configurations.
- the method used in the example of FIG. 3 can be readily extended to accommodate any number of configurations of any size CAM array having any number of row segments each having any number of CAM cells.
- a CAM array having more row segments can be accommodated by supplying more address bits (SA), select signals, and configuration signals to SA select logic 206 (and/or RA select logic 203 ), and increasing the number of SDA bits, the size of segment decoder 204 and the number of segment enable signals.
- SA address bits
- SSEL and SDA will each have up to log 2 Z bits to address one of the Z segment enable lines.
- comparand data may be compared with the data stored in one or more of the row segments in array 102 .
- the comparand data may be provided on comparand bus CBUS and stored in comparand register 108 , or provided directly to array 102 for comparison.
- the width of the CBUS is the same as the total number of CAM cells in a row of CAM cells (i.e., ZW bits).
- Z copies of the comparand data can be loaded into the comparand register for comparison with each of the Z segments in each row 122 .
- ZY/2 ⁇ 2W mode Z/2 copies of the comparand data can be loaded into the comparand register. This methodology can be used until in the Y ⁇ ZW mode, when the comparand data is as wide (has as many bits) as an entire row 122 .
- the CBUS may have a smaller number of bits than the total number of bits for the rows 122 .
- the width of the CBUS may be the same as the number of CAM cells in a row segment (i.e., W bits) and the comparand data sequentially and successively provided to each of the row segments S 1 –SZ for comparison.
- the comparand register may be segmented into Z segments each corresponding to one of the Z row segments in each of rows 122 , as shown in FIG. 6 . Comparand data can be separately loaded into each of the segments C 1 –CZ of the comparand register 108 by enable signals CEN 1 –CENZ, respectively.
- the CSSEL signals cause select logic 602 to enable the even CEN signals CEN 2 , CEN 4 , etc. such that the same second portion of comparand data is written into the second comparand segments associated with the second row segments S 2 , S 4 , etc.
- the first and second portions of comparand data together form the entire (2W) comparand data.
- This methodology continues until in the Y ⁇ ZW mode, when the CEN signals are sequentially enabled to consecutively load each portion (W) of the ZW comparand data into one of the Z comparand segments.
- the operation of this embodiment is further illustrated by the example of FIG. 7 .
- the CBUS is also 72 bits wide and provides 72-bit comparand data to each of comparand segments C 1 –C 4 under the control of enable signals CEN 1 –CEN 4 , respectively.
- Select logic 602 generates the enable signals in response to CSSEL 1 and CSSEL 0 and the configuration signals SZ 72 , SZ 144 and SZ 288 .
- the truth table for the operation of select logic 602 for this embodiment is shown in FIG. 8 .
- the CAM array When SZ 72 is enabled, the CAM array operates in a 4k ⁇ 72 mode, and CEN 1 –CEN 4 are all enabled to simultaneously load the same 72-bit comparand data from the CBUS.
- SZ 144 When SZ 144 is enabled, the CAM array operates in a 2k ⁇ 144 mode and CSSEL 0 determines which CEN signals are enabled. First, C 1 and C 3 are enabled to receive a first portion of the comparand data when CSSEL 1 is in a logic zero state. Subsequently, C 2 and C 4 are enabled to receive a second portion of the comparand data when CSSEL 0 is in a logic one state.
- the CAM array When SZ 288 is enabled, the CAM array operates in a 1k ⁇ 288 mode and both CSSEL 1 and CSSEL 0 determine when each of the CEN signals are enabled to receive comparand data. In this mode, select logic 602 operates as a 2-to-4 decoder.
- select logic 602 can be found in U.S. Pat. No. 6,243,281, which is referenced above and incorporated herein by reference.
- match flag logic 114 determines if the comparand data matches valid data stored in at least one group of row segments of array 102 .
- FIG. 9 shows match flag logic 900 that is one embodiment of match flag logic 114 of FIG. 1 .
- Match flag logic 900 includes row match circuits 902 ( 0 )– 902 ( y - 1 ) each associated with corresponding rows of CAM cells 122 ( 0 )– 122 ( y - 1 ), respectively.
- Each row match circuit 902 receives the match results from each of the match line segments M 1 –MZ of the corresponding row of CAM cells. In response to the match results on the match line segments and the configuration information, each row match circuit 902 generates a row match signal MR.
- Each row match signal is indicative of whether one or more row segments (i.e., for ZY ⁇ W mode), or one or more groups of row segments (i.e., for ZY/n ⁇ nW mode, where n is greater than 1), for a corresponding row stores data that matches the comparand data for a particular configuration.
- the row match signals MR 0 –MR(y- 1 ) are then logically combined by array match circuit 904 to generate MF for the entire array 102 .
- array match circuit 904 includes OR logic that logically ORs the states of the row match signals MR 0 –MR(y- 1 ).
- match flag logic 900 of FIG. 9 As well as priority encoder logic 112 , multiple match flag logic 116 , and configuration register 118 of FIG. 1 , can be found in U.S. Pat. No. 6,243,281, which is referenced above and incorporated herein by reference.
- FIG. 10 shows a row 1000 of CAM array 102 that is modified in accordance with one embodiment of the present invention to selectively pre-charge one or more match line segments in response to match results on one or more previous match line segments and in response to the configuration of the CAM array as indicated by the configuration information embodied by CFG.
- Row 1000 is shown to include Z row segments S 1 –SZ, each including any number of CAM cells coupled to a corresponding match line segment ML( 1 )–ML(Z) and coupled to a corresponding segment C 1 –CZ of the comparand register (see also FIG. 6 ), where Z can be any integer greater than one.
- Each match line segment ML is coupled to an output of a corresponding match line control circuit 1010 and to an input of a corresponding match latch 1020 .
- the output M of each match latch 1020 is coupled to an input of the match line control circuit 1010 in the next row segment, and is also coupled to a corresponding input of the row match circuit 902 (see also FIG. 9 ).
- Each match latch 1020 latches the match results for the corresponding row segment during compare operations between comparand data and data stored in the row segment's CAM cells. For some embodiments, each match latch 1020 latches the match results on its ML input in response to a corresponding latch clock LCLK.
- match latch 1020 latches the match results on ML( 1 ) generated by CAM cells in first row segment S 1 during compare operations with comparand data from comparand register segment C 1 .
- the match latch clock signals LCLK 1 –LCLKz may be generated by any suitable timing generator, state machine, or other suitable circuit in response the configuration information CFG.
- select logic 602 , read/write circuitry 110 , word lines WL, and other well-known components of the CAM device described above are not shown in FIG. 10 .
- Each match latch 1020 may be any suitable circuit that latches the logic state of its input match line segment ML in response to the assertion of LCLK.
- each match latch 1020 includes AND logic that drives its output M to logic high in response to its input ML being logic high and the corresponding LCLK signal being asserted to logic high and, conversely, drives its output M to logic low in response to either its input ML being logic low or its corresponding LCLK signal being de-asserted to logic low.
- Each match latch 1020 may include one or more other logic gates.
- each match latch 1020 may be a voltage level shifter (e.g., a logic gate) that adjusts the voltage level on M to appropriate logic levels for match line control circuit 1010 and row match circuit 902 .
- match latches 1020 ( 1 )– 1020 ( z ) may be omitted and each match line segment ML may be coupled to the input of the match line control circuit 1010 for the next row segment and to the corresponding input of row match circuit 902 .
- Each match line control circuit 1010 includes control inputs to receive a corresponding pre-charge clock signal PCLK and a corresponding pre-charge override signal PC_OV, a data input coupled to the match line segment in the previous row segment, and an output coupled to the match line segment in the row segment corresponding to the match line control circuit.
- the pre-charge clock signals PCLK 1 –PCLKz may be generated by any suitable timing generator, state machine, or other suitable circuit in response the configuration information CFG, and the pre-charge override signals PC_OV 1 –PC_OVz are generated by a select circuit 1030 in response to CFG.
- the match line control circuit 1010 ( 1 ) for the first row segment S 1 includes a match input tied to VDD.
- each match line control circuit 1010 selectively pre-charges (e.g., to VDD) its match line segment ML in response to corresponding PCLK and PC_OV signals and the match results indicated on the previous match line segment. For some embodiments, for each PC_OV signal that is de-asserted (e.g., to logic low), the corresponding match line control circuit 1010 pre-charges its match line segment ML upon assertion of the corresponding PCLK signal if there is a match condition in the previous row segment and does not pre-charge its match line segment if there is a mismatch condition in the previous row segment. Conversely, for each PC_OV signal that is asserted (e.g., to logic high), the corresponding match line control circuit 1010 pre-charges its match line segment upon assertion of the corresponding PCLK signal, irrespective of the match conditions in the previous row segment.
- match line control circuit 1010 ( 2 ) pre-charges ML( 2 ) upon assertion of PCLK 2 , regardless of match conditions in row segment S 1 . Conversely, if select circuit 1030 de-asserts PC_OV 2 , match line control circuit 1010 ( 2 ) pre-charges ML( 2 ) upon assertion of PCLK 2 if there is a match condition in row segment S 1 and does not pre-charge ML( 2 ) if there is a mismatch condition in row segment S 1 .
- mismatch conditions in one or more previous row segments may prevent the pre-charging of match line segments in one or more subsequent row segments, which may reduce power consumption of the CAM device during compare operations.
- the power savings realized by present embodiments are proportional to the number of row segments in the CAM array, the number of row segments that are uniquely addressed (e.g., the width and depth configuration of the CAM array), and the percentage of mismatch conditions in the first row segment of each uniquely addressed group.
- the CBUS is 72 bits wide and provides 72-bit comparand data to each of comparand segments C 1 –C 4 under the control of enable signals CEN 1 –CEN 4 , respectively
- select logic 602 generates the enable signals CEN in response to CSSEL 1 and CSSEL 0 and the configuration signals SZ 72 , SZ 144 and SZ 288 as described above with respect to FIGS. 6–8 .
- each of row segments S 1 –SZ may include other suitable numbers of CAM cells, and the CBUS and comparand register segments C 1 -CZ may be of any suitable width.
- the CBUS, select logic 602 , and CEN signals are not shown in FIG. 11 , and the configuration signals SZ 72 , SZ 144 , and SZ 288 are represented collectively as CFG in FIG. 11 .
- the CAM array When SZ 72 is enabled, the CAM array operates in a 4k ⁇ 72 mode, and CEN 1 –CEN 4 are all enabled to simultaneously load the same 72-bit comparand data (CMP) from the CBUS into the four comparand register segments C 1 –C 4 .
- CMP comparand data
- select circuit 1030 asserts PC_OV 1 –PC_OV 4 in response to SZ 72 being enabled.
- PCLK 1 –PCLK 4 transitions to logic high, which causes PCLK 1 –PCLK 4 to be asserted to logic high.
- the assertion of PC_OV 1 –PC_OV 4 in response to SZ 72 being enabled causes respective match line control circuits 1010 ( 1 )– 1010 ( 4 ) to pre-charge corresponding match line segments ML( 1 )–ML( 4 ) to logic high (e.g., toward VDD) upon assertion of PCLK 1 –PCLK 4 , irrespective of match results in other row segments.
- PCLK 1 –PCLK 4 are de-asserted to logic low.
- LCLK 1 –LCLK 4 are asserted to enable corresponding match latches 1020 ( 1 )– 1020 ( 4 ) to latch (e.g., to detect) the match results on ML( 1 )–ML( 4 ), respectively.
- the match latches 1020 ( 1 )– 1020 ( 4 ) provide the match results via corresponding signal lines M 1 –M 4 to row match circuit 902 , which in response thereto selectively asserts a match signal on MR as described above with respect to FIG. 9 .
- the CAM array When SZ 144 is enabled, the CAM array operates in a 2k ⁇ 144 mode, and the CSSEL signals determines which CEN signals are enabled so that the first 72-bit portion (CMPa) of the comparand word is first loaded into comparand register segments C 1 and C 3 and the second 72-bit portion (CMPb) of the comparand word is then loaded into comparand register segments C 2 and C 4 , as described above.
- select circuit 1030 asserts PC_OV 1 and PC_OV 3 and de-asserts PC_OV 2 and PC_OV 4 in response to SZ 144 being enabled.
- PC_OV 1 and PC_OV 3 causes corresponding match line control circuits 1010 ( 1 ) and 1010 ( 3 ) to pre-charge their corresponding match line segments ML( 1 ) and ML( 3 ) upon assertion of PCLK 1 and PCLK 3 , respectively, without regard to match conditions in other row segments.
- PCLK 1 and PCLK 3 transitions to logic high, which causes PCLK 1 and PCLK 3 to be asserted to logic high. Because PC_OV 1 and PC_OV 3 are asserted, the assertion of PCLK 1 and PCLK 3 causes respective match line control circuits 1010 ( 1 ) and 1010 ( 3 ) to pre-charge corresponding match line segments ML( 1 ) and ML( 3 ) to logic high, irrespective of match results in other row segments. At time t 2 , PCLK 1 and PCLK 3 are de-asserted to logic low.
- CMPa in C 1 and C 3 are simultaneously compared with data stored in the CAM cells of corresponding row segments S 1 and S 3 to generate match results on ML( 1 ) and ML( 3 ), respectively, at time t 3 .
- the corresponding match line segment remains in its pre-charged high logic state and, conversely, if there is a mismatch, the corresponding match line segment is discharged to a low logic state.
- LCLK 1 and LCLK 3 are asserted to enable corresponding match latches 1020 ( 1 ) and 1020 ( 3 ) to latch the match results on ML( 1 ) and ML( 3 ), respectively. Thereafter, the match latches 1020 ( 1 ) and 1020 ( 3 ) provide the match results to row match circuit 902 and to the inputs of respective match line control circuits 1010 ( 2 ) and 1010 ( 4 ) via corresponding signal lines M 1 and M 3 .
- the resulting logic high state of M 1 causes match line control circuit 1010 ( 2 ) to pre-charge ML( 2 ) upon assertion of PCLK 2 at time t 5 .
- the resulting logic high state of M 3 causes match line control circuit 1010 ( 4 ) to pre-charge ML( 4 ) upon assertion of PCLK 4 at time t 5 .
- PCLK 2 and PCLK 4 are de-asserted to logic low.
- CMPb in C 2 and C 4 are simultaneously compared with data stored in the CAM cells of corresponding row segments S 2 and S 4 to generate match results on ML( 2 ) and ML( 4 ), respectively, at time t 7 .
- the corresponding match line segment remains in its pre-charged high logic state and, conversely, if there is a mismatch, the corresponding match line segment is discharged to a low logic state.
- LCLK 2 and LCLK 4 are asserted to enable corresponding match latches 1020 ( 2 ) and 1020 ( 4 ) to latch the match results on ML( 2 ) and ML( 4 ), respectively. Thereafter, the match latches 1020 ( 2 ) and 1020 ( 4 ) provide the match results to match logic 902 via corresponding signal lines M 2 and M 4 .
- the resulting logic low state of M 1 causes match line control circuit 1010 ( 2 ) to not pre-charge ML( 2 ) upon assertion of PCLK 2 .
- the resulting logic low state of M 3 causes match line control circuit 1010 ( 4 ) to not pre-charge ML( 4 ) upon assertion of PCLK 4 .
- mismatch conditions in row segments S 1 and S 3 may force mismatch conditions for subsequent row segments S 2 and S 4 , respectively, without pre-charging their match line segments, thereby saving power consumption associated with pre-charging match line segments ML( 2 ) and/or ML( 4 ).
- the CAM array When SZ 288 is enabled, the CAM array operates in a 1k ⁇ 288 mode and the CSSEL signals determine when each of the CEN signals are enabled to receive comparand data so that successive portions (CMPa–CMPd) of the comparand word are sequentially loaded into corresponding comparand register segments C 1 –C 4 , as described above.
- select circuit 1030 asserts PC_OV 1 and de-asserts PC_OV 2 –PC_OV 4 in response to SZ 288 being enabled.
- the asserted state of PC_OV 1 causes match line control circuit 1010 ( 1 ) to pre-charge match line segment ML( 1 ) upon assertion of PCLK 1 .
- the de-asserted states of PC_OV 2 -PC_OV 4 cause respective match line control circuits 1010 ( 2 )– 1010 ( 4 ) to selectively pre-charge their corresponding match line segments upon assertion of PCLK 2 –PCLK 4 , respectively, only if there are match conditions in previous row segments.
- ML( 1 ) remains in its pre-charged high logic state and, conversely, if there is a mismatch, ML( 1 ) is discharged to a low logic state.
- LCLK 1 is asserted to enable match latch 1020 ( 1 ) to latch the match results on ML( 1 ).
- match line control circuit 1010 2
- pre-charge ML( 2 ) upon assertion of PCLK 2 at time t 4 .
- PCLK 2 is de-asserted to logic low
- CLK transitions to logic low
- CMPb in C 2 is compared with data stored in the CAM cells of row segment S 2 to generate match results on ML( 2 ) at time t 5 .
- ML( 2 ) remains in its pre-charged high logic state and, conversely, if there is a mismatch, ML( 2 ) is discharged to a low logic state.
- LCLK 2 is asserted to enable match latch 1020 ( 2 ) to latch the match results on ML( 2 ).
- match line control circuit 1010 ( 3 ) to pre-charge ML( 3 ) upon assertion of PCLK 3 at time t 7 .
- PCLK 3 is de-asserted to logic low
- CLK transitions to logic low
- CMPc in C 3 is compared with data stored in the CAM cells of row segment S 3 to generate match results on ML 3 at time t 8 .
- ML 3 remains in its pre-charged high logic state and, conversely, if there is a mismatch, ML 3 is discharged to a low logic state.
- LCLK 3 is asserted to enable match latch 1020 ( 3 ) to latch the match results on ML( 3 ).
- match line control circuit 1010 4
- pre-charge ML( 4 ) upon assertion of PCLK 4 at time t 10 .
- PCLK 4 is de-asserted to logic low
- CLK transitions to logic low
- CMPd in C 4 is compared with data stored in the CAM cells of row segment S 4 to generate match results on ML( 4 ) at time t 11 .
- ML( 4 ) remains in its pre-charged high logic state and, conversely, if there is a mismatch, ML( 4 ) is discharged to a low logic state.
- LCLK 4 is asserted to enable match latch 1020 ( 4 ) to latch the match results on ML( 4 ).
- mismatch conditions in second row segment S 2 causes match line control circuit 1010 ( 3 ) to not pre-charge ML( 3 ) at time t 7 , which in turn causes match line control circuit 1010 ( 4 ) to not pre-charge ML( 4 ).
- match line control circuit 1010 ( 4 ) causes match line control circuit 1010 ( 4 ) to not pre-charge ML( 4 ) at time t 10 .
- mismatch conditions in any row segment forces mismatch conditions in all subsequent row segments without pre-charging their corresponding match line segments, which reduces power consumption during compare operations.
- match line control circuits 1010 of FIGS. 10 and 11 Many different logic circuits can be used to implement the logic function performed by match line control circuits 1010 of FIGS. 10 and 11 .
- the logic function performed by match line control circuits 1010 is summarized below in the truth table of Table 1, where “x” represents a don't care logic state.
- match line control circuits 1010 include a dynamic pre-charge circuit coupled between the corresponding match line segment and VDD, and include a dynamic discharge circuit coupled between the corresponding match line segment and ground potential.
- the dynamic pre-charge circuit pre-charges the corresponding match line segment upon assertion of PCLK when either ( 1 ) PC_OV is asserted or ( 2 ) when PC_OV is de-asserted and there is a match condition in the previous row segment, and the dynamic discharge circuit discharges the corresponding match line segment upon assertion of PCLK when PC_OV is de-asserted and there is a mismatch condition in the previous row segment.
- FIG. 13 shows a match line control circuit 1300 that is one embodiment of match line control circuits 1010 of FIGS. 10 and 11 .
- Match line control circuit 1300 includes an inverter formed by a series connection of a PMOS transistor 1301 and an NMOS transistor 1302 between VDD and ground potential, a NOR gate 1303 , and a D-type flip-flop 1304 .
- flip-flop 1304 may be any suitable latch responsive to PCLK.
- NOR gate 1303 has a first input to receive PC_OVx, a second input coupled to M(x- 1 ), and an output coupled to the data input of flip-flop 1304 .
- Flip-flop 1304 has a clock input to receive PCLKx, and has an output coupled to the input of the inverter, which in turn has an output coupled to ML(x).
- flip-flop 1304 Conversely, if M(x- 1 ) is in a logic low state (e.g., indicating a mismatch condition in the previous row segment), flip-flop 1304 outputs a logic high signal upon assertion of PCLKx. This logic high signal turns off PMOS transistor 1301 and turn on NMOS transistor 1302 , thereby discharging ML(x) to a logic low state (e.g., toward ground potential).
- NMOS pull-down transistor 1302 can be omitted.
- match line control circuits 1010 may also include a static pull-up circuit that provides a relatively weak pre-charge current for the corresponding match line segment to maintain the match line segment in its logic high state during match conditions in the corresponding row segment.
- FIG. 14 shows a match line control circuit 1400 that is another embodiment of match line control circuits 1010 of FIGS. 10 and 11 .
- match line control circuit 1400 includes a weak PMOS pull-up transistor 1401 coupled between VDD and ML(x) and having a gate to receive PC_OVx. Operation of match line control circuit 1400 is similar to that of match line control circuit 1300 , except that assertion of PC_OVx turns on weak PMOS transistor 1401 to provide a relatively weak pre-charge current for ML (x).
- FIG. 15 shows a match line control circuit 1500 that is another embodiment of match line control circuits 1010 of FIGS. 10 and 11 .
- Match line control circuit 1500 is similar to match line control circuit 1400 of FIG. 14 , except that the gate of weak PMOS pull-up transistor 1401 is coupled to ground potential to maintain PMOS pull-up transistor 1401 in a conductive state.
- ML(x- 1 ) may be coupled directly to the data input of flip-flop 1304
- NOR gate 1303 may be configured to have a first input coupled to the Q output of flip-flop 1304 , a second input to receive PC_Ovx, and an output coupled to the input of the inverter formed by transistors 1301 – 1302 .
Landscapes
- Logic Circuits (AREA)
Abstract
Description
TABLE 1 | |||||
PCLK | PC_OV | ML (x-1) | ML (x) | ||
0 | 0 | x | 0 | ||
0 | 1 | x | 0 | ||
1 | 0 | 0 | 0 | ||
1 | 0 | 1 | 1 | ||
1 | 1 | x | 1 | ||
Claims (25)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/859,477 US7113415B1 (en) | 2004-06-01 | 2004-06-01 | Match line pre-charging in a content addressable memory having configurable rows |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/859,477 US7113415B1 (en) | 2004-06-01 | 2004-06-01 | Match line pre-charging in a content addressable memory having configurable rows |
Publications (1)
Publication Number | Publication Date |
---|---|
US7113415B1 true US7113415B1 (en) | 2006-09-26 |
Family
ID=37018941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/859,477 Expired - Lifetime US7113415B1 (en) | 2004-06-01 | 2004-06-01 | Match line pre-charging in a content addressable memory having configurable rows |
Country Status (1)
Country | Link |
---|---|
US (1) | US7113415B1 (en) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060176722A1 (en) * | 2004-10-12 | 2006-08-10 | Ripy Paul B | Method of operating a content addressable memory with reduced instantaneous current and power consumption during a search |
US20070165435A1 (en) * | 2006-01-19 | 2007-07-19 | Winograd Gil I | Low-power CAM |
US20080031040A1 (en) * | 2006-08-04 | 2008-02-07 | Chiaming Chai | Method and Apparatus for Aborting Content Addressable Memory Search Operations |
US20080031033A1 (en) * | 2006-08-04 | 2008-02-07 | Chiaming Chai | Method and Apparatus for Reducing Power Consumption in a Content Addressable Memory |
US7920399B1 (en) | 2010-10-21 | 2011-04-05 | Netlogic Microsystems, Inc. | Low power content addressable memory device having selectable cascaded array segments |
US7920398B1 (en) | 2010-09-21 | 2011-04-05 | Netlogic Microsystems, Inc. | Adaptive match line charging |
US8031501B1 (en) | 2010-10-21 | 2011-10-04 | Netlogic Microsystems, Inc. | Segmented content addressable memory device having pipelined compare operations |
US8467213B1 (en) | 2011-03-22 | 2013-06-18 | Netlogic Microsystems, Inc. | Power limiting in a content search system |
US8493763B1 (en) | 2011-10-27 | 2013-07-23 | Netlogic Microsystems, Inc. | Self-timed match line cascading in a partitioned content addressable memory array |
US20140029363A1 (en) * | 2012-07-26 | 2014-01-30 | SK Hynix Inc. | Fail address detector,semiconductor memory device including the same and method of detecting fail address |
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 |
US8913412B1 (en) | 2011-11-29 | 2014-12-16 | Netlogic Microsystems, Inc. | Incremental adaptive match line charging with calibration |
US20160148689A1 (en) * | 2014-11-26 | 2016-05-26 | Invecas, Inc. | Sense Amplifier for Single-ended Sensing |
US20220284945A1 (en) * | 2021-03-02 | 2022-09-08 | Microsoft Technology Licensing, Llc | Searchable array circuits with load-matched signals for reduced hit signal timing margins and related methods |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6191970B1 (en) * | 1999-09-09 | 2001-02-20 | Netlogic Microsystems, Inc. | Selective match line discharging in a partitioned content addressable memory array |
US6243280B1 (en) * | 1999-09-09 | 2001-06-05 | Netlogic Microsystems, Inc. | Selective match line pre-charging in a partitioned content addressable memory array |
US6243281B1 (en) * | 2000-06-14 | 2001-06-05 | Netlogic Microsystems, Inc. | Method and apparatus for accessing a segment of CAM cells in an intra-row configurable CAM system |
US6477071B1 (en) * | 2001-05-07 | 2002-11-05 | Switchcore Ab | Method and apparatus for content addressable memory with a partitioned match line |
WO2003050819A1 (en) * | 2001-12-11 | 2003-06-19 | Memcall L.L.C. | Power saving cam |
US6768659B2 (en) * | 2001-12-31 | 2004-07-27 | Mosaid Technologies Incorporated | Circuit and method for reducing power usage in a content addressable memory |
-
2004
- 2004-06-01 US US10/859,477 patent/US7113415B1/en not_active Expired - Lifetime
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6191970B1 (en) * | 1999-09-09 | 2001-02-20 | Netlogic Microsystems, Inc. | Selective match line discharging in a partitioned content addressable memory array |
US6243280B1 (en) * | 1999-09-09 | 2001-06-05 | Netlogic Microsystems, Inc. | Selective match line pre-charging in a partitioned content addressable memory array |
US6243281B1 (en) * | 2000-06-14 | 2001-06-05 | Netlogic Microsystems, Inc. | Method and apparatus for accessing a segment of CAM cells in an intra-row configurable CAM system |
US6477071B1 (en) * | 2001-05-07 | 2002-11-05 | Switchcore Ab | Method and apparatus for content addressable memory with a partitioned match line |
WO2003050819A1 (en) * | 2001-12-11 | 2003-06-19 | Memcall L.L.C. | Power saving cam |
US6768659B2 (en) * | 2001-12-31 | 2004-07-27 | Mosaid Technologies Incorporated | Circuit and method for reducing power usage in a content addressable memory |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060176722A1 (en) * | 2004-10-12 | 2006-08-10 | Ripy Paul B | Method of operating a content addressable memory with reduced instantaneous current and power consumption during a search |
US20070165435A1 (en) * | 2006-01-19 | 2007-07-19 | Winograd Gil I | Low-power CAM |
US20080137387A1 (en) * | 2006-01-19 | 2008-06-12 | Winograd Gil I | Low-power cam cell |
US7400520B2 (en) * | 2006-01-19 | 2008-07-15 | Norvelics, Llc | Low-power CAM |
US7414873B2 (en) | 2006-01-19 | 2008-08-19 | Novelics, Llc | Low-power CAM cell |
US20080031040A1 (en) * | 2006-08-04 | 2008-02-07 | Chiaming Chai | Method and Apparatus for Aborting Content Addressable Memory Search Operations |
US20080031033A1 (en) * | 2006-08-04 | 2008-02-07 | Chiaming Chai | Method and Apparatus for Reducing Power Consumption in a Content Addressable Memory |
US7586772B2 (en) * | 2006-08-04 | 2009-09-08 | Qualcomm Incorporated | Method and apparatus for aborting content addressable memory search operations |
US7616468B2 (en) * | 2006-08-04 | 2009-11-10 | Qualcomm Incorporated | Method and apparatus for reducing power consumption in a content addressable memory |
US20100023684A1 (en) * | 2006-08-04 | 2010-01-28 | Qualcomm Incorporated | Method and apparatus for reducing power consumption in a content addressable memory |
US8154900B2 (en) * | 2006-08-04 | 2012-04-10 | Qualcomm Incorporated | Method and apparatus for reducing power consumption in a content addressable memory |
US7920398B1 (en) | 2010-09-21 | 2011-04-05 | Netlogic Microsystems, Inc. | Adaptive match line charging |
US8031501B1 (en) | 2010-10-21 | 2011-10-04 | Netlogic Microsystems, Inc. | Segmented content addressable memory device having pipelined compare operations |
US7920399B1 (en) | 2010-10-21 | 2011-04-05 | Netlogic Microsystems, Inc. | Low power content addressable memory device having selectable cascaded array segments |
US9025354B2 (en) | 2011-03-22 | 2015-05-05 | Broadcom Corporation | Power limiting in a content search system |
US8467213B1 (en) | 2011-03-22 | 2013-06-18 | Netlogic Microsystems, Inc. | Power limiting in a content search system |
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 |
US8493763B1 (en) | 2011-10-27 | 2013-07-23 | Netlogic Microsystems, Inc. | Self-timed match line cascading in a partitioned content addressable memory array |
US8913412B1 (en) | 2011-11-29 | 2014-12-16 | Netlogic Microsystems, Inc. | Incremental adaptive match line charging with calibration |
US20140029363A1 (en) * | 2012-07-26 | 2014-01-30 | SK Hynix Inc. | Fail address detector,semiconductor memory device including the same and method of detecting fail address |
US9208879B2 (en) * | 2012-07-26 | 2015-12-08 | SK Hynix Inc. | Fail address detector, semiconductor memory device including the same and method of detecting fail address |
US20160148689A1 (en) * | 2014-11-26 | 2016-05-26 | Invecas, Inc. | Sense Amplifier for Single-ended Sensing |
US9564184B2 (en) * | 2014-11-26 | 2017-02-07 | Invecas, Inc. | Sense amplifier for single-ended sensing |
US20220284945A1 (en) * | 2021-03-02 | 2022-09-08 | Microsoft Technology Licensing, Llc | Searchable array circuits with load-matched signals for reduced hit signal timing margins and related methods |
US11581036B2 (en) * | 2021-03-02 | 2023-02-14 | Microsoft Technology Licensing, Llc | Searchable array circuits with load-matched signals for reduced hit signal timing margins and related methods |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7050318B1 (en) | Selective match line pre-charging in a CAM device using pre-compare operations | |
US7848129B1 (en) | Dynamically partitioned CAM array | |
US6418042B1 (en) | Ternary content addressable memory with compare operand selected according to mask value | |
US6191969B1 (en) | Selective match line discharging in a partitioned content addressable memory array | |
US10366755B2 (en) | Semiconductor device including TCAM cell arrays capable of skipping TCAM-cell search in response to control signal | |
US6522596B2 (en) | Searchline control circuit and power reduction method | |
US6243280B1 (en) | Selective match line pre-charging in a partitioned content addressable memory array | |
US6324087B1 (en) | Method and apparatus for partitioning a content addressable memory device | |
US6831850B2 (en) | Content addressable memory with configurable class-based storage partition | |
US6240485B1 (en) | Method and apparatus for implementing a learn instruction in a depth cascaded content addressable memory system | |
US6856527B1 (en) | Multi-compare content addressable memory cell | |
US7113415B1 (en) | Match line pre-charging in a content addressable memory having configurable rows | |
US7154764B2 (en) | Method of controlling a bit line for a content addressable memory | |
US6845025B1 (en) | Word line driver circuit for a content addressable memory | |
US7251707B1 (en) | Content based content addressable memory block enabling using search key | |
US6867989B1 (en) | Auto read content addressable memory cell and array | |
US7920399B1 (en) | Low power content addressable memory device having selectable cascaded array segments | |
WO1999023663A1 (en) | Synchronous content addressable memory with single cycle operation | |
US8493763B1 (en) | Self-timed match line cascading in a partitioned content addressable memory array | |
US8773880B2 (en) | Content addressable memory array having virtual ground nodes | |
US8787059B1 (en) | Cascaded content addressable memory array having multiple row segment activation | |
US8085568B1 (en) | Methods and circuits for placing unused content addressable memory (CAM) cells into low current states | |
EP1271548A1 (en) | Associative memory with AND gate match signal combining circuitry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NETLOGIC MICROSYSTEMS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KHANNA, SANDEEP;REEL/FRAME:015419/0748 Effective date: 20040527 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
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 |
|
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 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: NETLOGIC MICROSYSTEMS, INC., 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 CAYMANS LIMITED, 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: 8 |
|
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 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553) Year of fee payment: 12 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047196/0097 Effective date: 20180509 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047196 FRAME: 0097. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:048555/0510 Effective date: 20180905 |