US6906938B2 - CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture - Google Patents

CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture Download PDF

Info

Publication number
US6906938B2
US6906938B2 US10/641,126 US64112603A US6906938B2 US 6906938 B2 US6906938 B2 US 6906938B2 US 64112603 A US64112603 A US 64112603A US 6906938 B2 US6906938 B2 US 6906938B2
Authority
US
United States
Prior art keywords
memory
data
search
substrate
memory cells
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 - Fee Related, expires
Application number
US10/641,126
Other versions
US20050036347A1 (en
Inventor
Sathya P. Kaginele
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Round Rock Research LLC
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Priority to US10/641,126 priority Critical patent/US6906938B2/en
Assigned to MICRON TECHNOLOGY INC. reassignment MICRON TECHNOLOGY INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KAGINELE, SATHYA P.
Priority to US11/034,720 priority patent/US7092271B2/en
Publication of US20050036347A1 publication Critical patent/US20050036347A1/en
Application granted granted Critical
Publication of US6906938B2 publication Critical patent/US6906938B2/en
Assigned to ROUND ROCK RESEARCH, LLC reassignment ROUND ROCK RESEARCH, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICRON TECHNOLOGY, INC.
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

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

Definitions

  • the present invention relates to a memory architecture and device, and more particularly to a content addressable memory architecture and device.
  • a content addressable memory is a memory device that permits rapid parallel searching of stored data to find a particular data value.
  • CAM content addressable memory
  • most other memory formats such as ROM and RAM memory
  • the typical CAM memory device offers both address-driven and content-driven data access.
  • Address-driven memory device architectures are well-known. According to an address-driven architecture, during a memory access, a user supplies an address and stores data, or retrieves data previously stored, at that specific address. For example, in an address-driven architecture, data values may be stored at a particular logical address by specifying the address on an address bus, and supplying data on a data bus to be stored at the specified address. In the same fashion, data may be retrieved on the data bus in response to a memory address supplied on the address bus.
  • the typical CAM memory device can be accessed in both address-driven and content-driven fashion. Storage of data in a CAM may be performed in an address-driven mode, as described above. Additionally, some CAM memory devices allow storage of data in a “first available storage location.” For example a logical flag may be provided for each storage location of the CAM device, indicating whether a storage location contains stored data, or is available to receive new data. When a new data item is presented to the CAM device, each logical flag of the logical flag set is tested simultaneously and an unused storage location is identified. The new data item is then stored in the unused storage location, and the logical flag associated with that location is reconfigured to indicate that the location is in use.
  • a logical flag may be provided for each storage location of the CAM device, indicating whether a storage location contains stored data, or is available to receive new data.
  • CAM memory provides content-driven data retrieval.
  • a data pattern is presented to the CAM memory device. If the CAM memory device contains a previously stored data item of the same data pattern, that presence is indicated and the location in the CAM where the searched data is stored is identified and an address connected with the matched data is returned.
  • the CAM memory device is structured to perform the search on a highly parallel basis, conducting the search on all the data in the CAM substantially simultaneously. Consequently, a CAM can provide search results much more rapidly than an address-driven memory device, in which searches are typically performed serially, one address at a time.
  • the content-driven data retrieval facility of a CAM memory is typically implemented by providing an array of storage cells connected in an extensive wired-or configuration. This architecture allows a multi-bit data word applied to an input of the CAM device to be compared, substantially simultaneously, with the data words stored in every location of the CAM.
  • FIG. 1 shows a simplified schematic representation of a CAM memory device 10 , as known in the art.
  • the CAM device includes a search register 12 and a plurality of storage words 14 .
  • Each storage word 14 includes multiple CAM memory cells 16 .
  • the search register 12 includes a corresponding plurality of search register bits 18 .
  • the search register 12 is coupled to each of the storage words 14 by a parallel bus 20 , so that each cell 16 (for example cell 22 ) of a storage word 14 is coupled to a corresponding bit (for example 24 ) of the search register 12 .
  • Each storage word is coupled to a corresponding match line 26 .
  • the match line 26 exhibits electrical capacitance (represented as lumped capacitance 28 ) and can be pre-charged to a particular electrical potential by a precharge circuit 30 .
  • each CAM memory cell 16 of each storage word 14 includes a circuit 34 adapted to switchingly couple a particular match line 27 to ground 32 .
  • the circuit includes an input 36 coupled to the data bus 20 .
  • the input 36 is coupled to a gate of a transistor 38 .
  • Transistor 38 is coupled in series with another transistor 40 between the particular match line 27 and ground 32 .
  • Input 36 is also coupled, through an inverter 42 , to a gate of another transistor 44 .
  • Transistor 44 is coupled in series with another transistor 46 between the particular match line 27 and ground 32 .
  • a gate of transistor 46 is coupled to a memory element 50 .
  • the memory element 50 controls the gate of transistor 46 according to a binary value D stored within memory element 50 .
  • a gate of transistor 40 is coupled to a memory element 48 .
  • the memory element 48 controls the gate of transistor 40 according to a binary value equal to the complement of D stored within memory element 48 .
  • the particular match line 27 is switchingly coupled to ground 32 through either transistor 38 and transistor 40 or transistor 44 and transistor 46 . If the binary data received at input 36 is equal to D, then the particular circuit 34 does not ground the particular match line 27 . If the data values received at the other respective inputs of the particular storage word 29 all match the corresponding “D” values of the respective memory cells 16 of storage word 29 , then the particular match line 27 is not grounded at all. Accordingly, match line 27 remains at a detectably high potential, and a data match between the data values held in the search register 12 and the particular storage word 29 is indicated.
  • each match line is charged to a precharge voltage by the action of the precharge circuit 30 .
  • a binary value is stored in the search register 12 .
  • Corresponding binary values are applied to the storage words 14 over the parallel bus 20 . If a bit value in the search register differs from a corresponding bit value in a search word 14 , that search word switches to provide an electrical path between the respective match line 26 and ground 32 . The capacitance 28 of the match line 26 is thus discharged, indicating, by a resulting low match line voltage, that the value in the storage word 14 does not match the value in the search register 12 . If a match line remains high (ungrounded), this indicates that the storage word 14 coupled to that match line 26 contains the same value as that present in the search register 12 .
  • memory cells are arranged in a plurality of memory blocks on a substrate. Each memory block is connected to a respective dedicated data bus that supplies data to the memory block. Different data can be provided on each dedicated data bus. As a result different data may be searched in different memory blocks at the same time.
  • a device 100 constructed according to this architecture is shown in FIG. 2 .
  • FIG. 2 shows a substrate 201 on which are formed first 202 and second 204 memory blocks. Each memory block includes a plurality of CAM memory cells 16 formed on the substrate.
  • the first memory block 202 has a first data input port 206 coupled to a first search register 208 .
  • the second memory block 204 has a second data input port 210 coupled to a second search register 212 .
  • the first 208 and second 212 search registers are each coupled to a respective search data bus 215 , 217 .
  • a first control line 219 is coupled to a first control input 218 of the first memory block 202 and a second control input 222 of the first search register 208 .
  • a second control line 221 is coupled to a third control input 220 of the second memory block 204 and to a fourth control input 224 of the second search register 212 .
  • a control circuit 226 is coupled to the control lines 219 , 221 .
  • the control circuit 226 is adapted to apply respective control signals to the control lines 219 , 221 , thereby initiating comparisons between the values in the search registers 208 , 212 and storage words made up of memory cells 16 within the corresponding memory blocks 202 , 204 . Because each memory block has its own data bus 219 , 221 , this arrangement is costly in terms of device complexity and associated manufacturing yields, device real estate, and device energy and thermal budgets.
  • An exemplary embodiment of the present invention includes an architecture for a memory integrated circuit that exhibits greater areal efficiency and reduced complexity as compared with prior art designs.
  • data on a data bus is time multiplexed so as to reduce the requirement for data conductors on an integrated circuit. Consequently, in one embodiment, the present invention includes a CAM that is compact as compared with prior art CAM devices.
  • a CAM device includes an integrated circuit device with two or more memory blocks of CAM memory cells. The memory blocks of CAM memory cells are supported by a substrate. The substrate also supports a data bus that is mutually coupled to two search registers of at least two of the memory blocks respectively. The data bus supplies data to the two search registers according to alternating transitions of a periodic clock signal.
  • the invention includes a method for operating a content addressable memory that includes receiving a first data value for evaluation at a first memory block during a first time interval, receiving a second data value for evaluation at a second memory block during a second time interval and evaluating said both the first and second data values during a third time interval.
  • the first and second time intervals are separate so that the first and second data blocks receive unique data out of phase with one another from a single address bus. Evaluation of both data values takes place substantially simultaneously in the respective memory blocks.
  • FIG. 1 shows a simplified representation of a portion of a conventional content addressable memory device in block diagram form
  • FIG. 2 shows a simplified representation of a portion of a conventional content addressable memory device in block diagram form
  • FIG. 3 shows a content addressable memory device in block diagram form according to one embodiment of the invention
  • FIG. 4 shows a signal timing diagram including control signal timing according to one embodiment of the invention
  • FIG. 5 shows a flowchart showing steps for a read operation according to one embodiment of the invention
  • FIG. 6 shows a flowchart for manufacturing a content addressable memory device according to one embodiment of the invention
  • FIG. 7 shows a digital system including a content addressable memory according to one aspect of the invention.
  • FIG. 8 shows a communications network including a router with a content addressable memory according to one aspect of the invention.
  • the present invention includes a CAM memory device architecture in which a single data bus is used to convey data to two memory blocks of a single CAM memory device in time multiplexed form. Respective data values are provided to the two memory blocks according to alternating phase transitions of a control signal. Consequently, a single data bus serves the function of two separate prior art data buses. The result is a savings in integrated circuit real estate and complexity, since one data bus is provided rather than two.
  • Various exemplary aspects of the invention are directed to the architecture, and its method of formation, and to operation of a CAM memory device according to the invention.
  • FIG. 3 shows an exemplary CAM memory device 200 according to one embodiment of the invention.
  • the CAM device 200 includes a substrate 201 .
  • the substrate may include any supporting structure including, but not limited to a semiconductor substrate that has an exposed substrate surface.
  • the substrate may be a semiconductor substrate or other substrate.
  • Semiconductor substrates should be understood to include silicon, silicon-on-insulator (SOI), silicon-on-sapphire (SOS), doped and undoped semiconductors, epitaxial layers of silicon supported by a base semiconductor foundation, and other semiconductor structures.
  • the substrate may include regions or junctions in or over the base semiconductor or foundation formed during preparatory process steps.
  • a plurality of CAM memory cells 16 are formed on the substrate. According to one embodiment, the cells are arranged into discrete memory blocks 202 , 204 .
  • One of the memory blocks 202 has a first data input port 206 coupled to a first search register 208 .
  • Another of the memory blocks 204 has a second data input port 210 coupled to a second search register 212 .
  • the first 208 and second 212 search registers are mutually coupled to a single search data bus 214 .
  • the search data bus consists of a plurality of data lines coupled to provide data in parallel format to the first search register 208 and second search register 212 .
  • the data bus may consist of one or more data lines adapted to provide data in serial format to the first search register 208 and second search register 212 .
  • the data lines may include various transmission media such as strip-lines, micro-strip lines, or waveguide structures including optical waveguide structures.
  • the inverter 42 (as shown in FIG. 1 ) is omitted from the CAM memory cells 16 , and the data bus 214 includes complemented data lines.
  • a control line 216 is mutually coupled to a first control input 218 of the first memory block 202 and a second control input 220 of the second memory block 204 .
  • the control line 216 is also mutually coupled to a third control input 222 of the first search register 208 and to a fourth control input 224 of the second search register 212 .
  • the control line may be formed of conductive material such as polysilicon or metallic material, or the control line may be formed as a waveguide, such as an optical waveguide.
  • a control circuit 226 is formed on the substrate 201 and coupled to the control line 216 .
  • the control circuit 226 is adapted to apply a control signal 304 (as discussed below in relation to in FIG. 4 ) to the control line 216 .
  • buffer circuits adapted to amplify control or data signals may be provided on the substrate 201 in conjunction with the data bus and/or control signal lines.
  • the memory blocks 202 , 204 are disposed in spaced relation to one another.
  • the search registers 208 , 212 and the search data bus 214 are disposed between the memory blocks 202 and 204 .
  • FIG. 4 shows a timing diagram 300 indicating signal timing relationships for operation of the FIG. 3 CAM memory device. Reference is made to a time axis 302 .
  • a control signal 304 is shown as a substantially periodic substantially symmetric square wave signal.
  • the control signal 304 includes downward transitions 306 at periodically repeating times 308 and upward transitions 310 at periodically repeating times 312 .
  • Graph 314 shows the time intervals 316 when first data, destined for the first search register 208 , is stable on the search data bus 214 . These time intervals 316 begin at periodically repeating times 318 and end at periodically repeating times 320 .
  • Graph 322 shows the further time intervals 324 when second data, destined for the second search register 212 , is stable on the search bus 214 .
  • time intervals 324 begin at periodically repeating times 320 and end at periodically repeating times 318 .
  • Graph 326 shows the time intervals 328 during which stable output data is available at output port 228 of memory block 202 and output port 230 of memory block 204 .
  • An evaluation time interval beginning at periodic time 312 is indicated by reference numeral 330 .
  • FIG. 5 shows a flowchart 500 illustrating steps for reading a content 502 first comparand data is received onto data bus 214 (as shown in FIG. 3 ).
  • first comparand data is latched into first search register 208 .
  • the latching of first comparand data into first search register 208 is triggered by downward transition 306 of signal 304 , (as shown in FIG. 4 ).
  • second comparand data is received on to data bus 214 .
  • second comparand data is latched into second search register 212 .
  • latching of second comparand data into second search register 212 is triggered by upward transition 310 of signal 304 (a shown in FIG.
  • the upward transition 310 is also received at the first 202 and second 204 memory blocks, as shown in step 510 of FIG. 5 .
  • the upward transition 310 of signal 304 also initiates the evaluation of fist data in first memory block 202 and second memory block 204 . This evaluation takes place during time interval 330 (as shown in FIG. 4 ).
  • first evaluation results are received at first output 228 of first memory block 202 and at second output 230 of second memory block 204 . This takes place during periodic time interval 328 (as shown in FIG. 4 ).
  • FIG. 6 shows a flowchart 600 illustrating the steps for manufacturing, according to one embodiment of the invention, a content addressable memory device.
  • a substrate is provided.
  • a plurality of CAM memory cells are formed on the substrate 201 .
  • the cells are formed in at least first 202 and second 204 blocks of cells.
  • first 208 and second 212 search registers are formed on the substrate 201 .
  • the first search register 208 is coupled to the first memory block 202 and second search registered 212 is coupled to the second memory block 204 .
  • data bus 214 is formed over the substrate 201 .
  • the data bus may include a parallel or serial architecture data bus, and may include a variety of transmission media, including conductors, transmission lines, and waveguides including optical waveguides.
  • the data bus is coupled to both the first 208 and second 212 search registers.
  • a control line is formed over the substrate.
  • the control line is coupled to the first 208 and second 212 search registers and to the first 202 and second 204 memory blocks.
  • a control circuit 226 is formed over the substrate, and in step 620 , and output of the control circuit 226 is coupled to the control line 216 .
  • first 228 and second output ports 230 are formed over the substrate.
  • the first output port 228 is coupled to the first memory block 202 and second output port 230 is coupled to the second memory block 204 .
  • FIG. 7 illustrates an exemplary processing system 800 which utilizes a CAM device 200 constructed as described above with reference to FIGS. 1-6 .
  • the processing system 800 includes one or more processors 801 coupled to a local bus 804 .
  • a memory controller 802 and a primary bus bridge 803 are also coupled the local bus 804 .
  • the processing system 800 may include multiple memory controllers 802 and/or multiple primary bus bridges 803 .
  • the memory controller 802 and the primary bus bridge 803 may be integrated as a single device 806 .
  • the memory controller 802 is also coupled to one or more memory buses 807 . Each memory bus accepts memory components 808 , which include at least one memory device 200 of the invention. Alternatively, in a simplified system, the memory controller 802 may be omitted and the memory components directly coupled to one or more processors 801 .
  • the memory components 808 may be a memory card or a memory module.
  • the memory components 808 may include one or more additional devices 809 .
  • the additional device 809 might be a configuration memory.
  • the memory controller 802 may also be coupled to a cache memory 805 .
  • the cache memory 805 may be the only cache memory in the processing system. Alternatively, other devices, for example, processors 801 may also include cache memories, which may form a cache hierarchy with cache memory 805 .
  • the memory controller 802 may implement a cache coherency protocol. If the memory controller 802 is coupled to a plurality of memory buses 807 , each memory bus 807 may be operated in parallel, or different address ranges may be mapped to different memory buses 807 .
  • DMA direct memory access
  • the primary bus bridge 803 is coupled to at least one peripheral bus 810 .
  • Various devices such as peripherals or additional bus bridges may be coupled to the peripheral bus 810 . These devices may include a storage controller 811 , a miscellaneous I/O device 814 , a secondary bus bridge 815 , a multimedia processor 818 , and a legacy device interface 820 .
  • the primary bus bridge 803 may also coupled to one or more special purpose high speed ports 822 . In a personal computer, for example, the special purpose port might be the Accelerated Graphics Port (AGP), used to couple a high performance video card to the processing system 800 .
  • AGP Accelerated Graphics Port
  • the storage controller 811 couples one or more storage devices 813 , via a storage bus 812 , to the peripheral bus 810 .
  • the storage controller 811 may be a SCSI controller and storage devices 813 may be SCSI discs.
  • the I/O device 814 may be any sort of peripheral.
  • the I/O device 814 may be an local area network interface, such as an Ethernet card.
  • the secondary bus bridge may be used to interface additional devices via another bus to the processing system.
  • the secondary bus bridge may be a universal serial port (USB) controller used to couple USB devices 817 via a secondary bus 816 and the secondary bus bridge 815 to the processing system 800 .
  • USB universal serial port
  • the multimedia processor 818 may be a sound card, a video capture card, or any other type of media interface, which may also be coupled to one or more additional devices such as speakers 819 .
  • the legacy device interface 820 is used to couple one or more legacy devices 821 , for example, older styled keyboards and mice, to the processing system 800 .
  • the processing system 800 illustrated in FIG. 7 is only an exemplary processing system with which the invention may be used. While FIG. 7 illustrates a processing architecture especially suitable for a general purpose computer, such as a personal computer or a workstation, it should be recognized that well known modifications can be made to configure the processing system 800 to become more suitable for use in a variety of applications. For example, many electronic devices which require processing may be implemented using a simpler architecture which relies on a CPU 801 coupled to CAM memory devices 200 .
  • FIG. 8 shows a communications network 900 according to one aspect of the invention.
  • the network includes a modem 902 having a first port 904 adapted to be coupled to the Internet 906 and a second port 908 adapted to be coupled to a local area network 910 .
  • a router 912 has a remote-side port 914 coupled to the second port 908 of the modem, and an interface 916 including a plurality of local ports for connection to local devices.
  • the router 912 includes a processor 918 for receiving and processing information received from and/or destined for the local devices.
  • the router also includes a content accessible memory device 200 according to one embodiment of the invention, as described above.
  • the content accessible memory 200 is coupled to the processor 918 and adapted to store and retrieve data under the control of the processor.
  • a variety of local devices are coupled to respective local ports, of the interface 916 , including general-purpose computers 922 , telephone devices 924 , and network router devices 926 .

Landscapes

  • Static Random-Access Memory (AREA)
  • Dram (AREA)

Abstract

A method for a content addressable memory that includes receiving a first data value for evaluation at a first memory block during a first time interval, receiving a second data value for evaluation at a second memory block during a second time interval and evaluating said both the first and second data values during a third time interval. According to one embodiment of the invention the first and second time intervals are separate so that the first and second data blocks receive unique data out of phase with one another from a single address bus. Evaluation of both data values takes place substantially simultaneously in the respective memory blocks. Also included is a device architecture and a device adapted to control data transfer to two CAM memory blocks in response to alternate phase transitions of a control signal.

Description

FIELD OF THE INVENTION
The present invention relates to a memory architecture and device, and more particularly to a content addressable memory architecture and device.
BACKGROUND OF THE INVENTION
A content addressable memory (CAM) is a memory device that permits rapid parallel searching of stored data to find a particular data value. In contrast to most other memory formats (such as ROM and RAM memory), which are based on address-driven storage architectures, the typical CAM memory device offers both address-driven and content-driven data access.
Address-driven memory device architectures are well-known. According to an address-driven architecture, during a memory access, a user supplies an address and stores data, or retrieves data previously stored, at that specific address. For example, in an address-driven architecture, data values may be stored at a particular logical address by specifying the address on an address bus, and supplying data on a data bus to be stored at the specified address. In the same fashion, data may be retrieved on the data bus in response to a memory address supplied on the address bus.
As noted, the typical CAM memory device can be accessed in both address-driven and content-driven fashion. Storage of data in a CAM may be performed in an address-driven mode, as described above. Additionally, some CAM memory devices allow storage of data in a “first available storage location.” For example a logical flag may be provided for each storage location of the CAM device, indicating whether a storage location contains stored data, or is available to receive new data. When a new data item is presented to the CAM device, each logical flag of the logical flag set is tested simultaneously and an unused storage location is identified. The new data item is then stored in the unused storage location, and the logical flag associated with that location is reconfigured to indicate that the location is in use.
As with data storage, data retrieval in a CAM memory may be performed on an address-driven basis. More importantly, however, CAM memory provides content-driven data retrieval. In a content-driven data retrieval, a data pattern is presented to the CAM memory device. If the CAM memory device contains a previously stored data item of the same data pattern, that presence is indicated and the location in the CAM where the searched data is stored is identified and an address connected with the matched data is returned. The CAM memory device is structured to perform the search on a highly parallel basis, conducting the search on all the data in the CAM substantially simultaneously. Consequently, a CAM can provide search results much more rapidly than an address-driven memory device, in which searches are typically performed serially, one address at a time.
The content-driven data retrieval facility of a CAM memory is typically implemented by providing an array of storage cells connected in an extensive wired-or configuration. This architecture allows a multi-bit data word applied to an input of the CAM device to be compared, substantially simultaneously, with the data words stored in every location of the CAM.
FIG. 1 shows a simplified schematic representation of a CAM memory device 10, as known in the art. The CAM device includes a search register 12 and a plurality of storage words 14. Each storage word 14 includes multiple CAM memory cells 16. The search register 12 includes a corresponding plurality of search register bits 18. The search register 12 is coupled to each of the storage words 14 by a parallel bus 20, so that each cell 16 (for example cell 22) of a storage word 14 is coupled to a corresponding bit (for example 24) of the search register 12. Each storage word is coupled to a corresponding match line 26. The match line 26 exhibits electrical capacitance (represented as lumped capacitance 28) and can be pre-charged to a particular electrical potential by a precharge circuit 30.
As shown at 22 each CAM memory cell 16 of each storage word 14 includes a circuit 34 adapted to switchingly couple a particular match line 27 to ground 32. The circuit includes an input 36 coupled to the data bus 20. The input 36 is coupled to a gate of a transistor 38. Transistor 38 is coupled in series with another transistor 40 between the particular match line 27 and ground 32. Input 36 is also coupled, through an inverter 42, to a gate of another transistor 44. Transistor 44 is coupled in series with another transistor 46 between the particular match line 27 and ground 32. A gate of transistor 46 is coupled to a memory element 50. The memory element 50 controls the gate of transistor 46 according to a binary value D stored within memory element 50. A gate of transistor 40 is coupled to a memory element 48. The memory element 48 controls the gate of transistor 40 according to a binary value equal to the complement of D stored within memory element 48.
If the binary data received at input 36 is not equal to D, then the particular match line 27 is switchingly coupled to ground 32 through either transistor 38 and transistor 40 or transistor 44 and transistor 46. If the binary data received at input 36 is equal to D, then the particular circuit 34 does not ground the particular match line 27. If the data values received at the other respective inputs of the particular storage word 29 all match the corresponding “D” values of the respective memory cells 16 of storage word 29, then the particular match line 27 is not grounded at all. Accordingly, match line 27 remains at a detectably high potential, and a data match between the data values held in the search register 12 and the particular storage word 29 is indicated.
In operation, each match line is charged to a precharge voltage by the action of the precharge circuit 30. A binary value is stored in the search register 12. Corresponding binary values are applied to the storage words 14 over the parallel bus 20. If a bit value in the search register differs from a corresponding bit value in a search word 14, that search word switches to provide an electrical path between the respective match line 26 and ground 32. The capacitance 28 of the match line 26 is thus discharged, indicating, by a resulting low match line voltage, that the value in the storage word 14 does not match the value in the search register 12. If a match line remains high (ungrounded), this indicates that the storage word 14 coupled to that match line 26 contains the same value as that present in the search register 12.
In at least some prior art CAM devices, memory cells are arranged in a plurality of memory blocks on a substrate. Each memory block is connected to a respective dedicated data bus that supplies data to the memory block. Different data can be provided on each dedicated data bus. As a result different data may be searched in different memory blocks at the same time. A device 100 constructed according to this architecture is shown in FIG. 2.
FIG. 2 shows a substrate 201 on which are formed first 202 and second 204 memory blocks. Each memory block includes a plurality of CAM memory cells 16 formed on the substrate. The first memory block 202 has a first data input port 206 coupled to a first search register 208. The second memory block 204 has a second data input port 210 coupled to a second search register 212. The first 208 and second 212 search registers are each coupled to a respective search data bus 215, 217. A first control line 219 is coupled to a first control input 218 of the first memory block 202 and a second control input 222 of the first search register 208. A second control line 221 is coupled to a third control input 220 of the second memory block 204 and to a fourth control input 224 of the second search register 212.
A control circuit 226 is coupled to the control lines 219, 221. The control circuit 226 is adapted to apply respective control signals to the control lines 219, 221, thereby initiating comparisons between the values in the search registers 208, 212 and storage words made up of memory cells 16 within the corresponding memory blocks 202, 204. Because each memory block has its own data bus 219, 221, this arrangement is costly in terms of device complexity and associated manufacturing yields, device real estate, and device energy and thermal budgets.
This costliness is a factor in the economics of CAM applications. Accordingly it is desirable to produce a CAM a memory integrated circuit having an improved data bus architecture.
BRIEF SUMMARY OF THE INVENTION
An exemplary embodiment of the present invention includes an architecture for a memory integrated circuit that exhibits greater areal efficiency and reduced complexity as compared with prior art designs. In one aspect of the invention, data on a data bus is time multiplexed so as to reduce the requirement for data conductors on an integrated circuit. Consequently, in one embodiment, the present invention includes a CAM that is compact as compared with prior art CAM devices. According to one embodiment of the invention, a CAM device includes an integrated circuit device with two or more memory blocks of CAM memory cells. The memory blocks of CAM memory cells are supported by a substrate. The substrate also supports a data bus that is mutually coupled to two search registers of at least two of the memory blocks respectively. The data bus supplies data to the two search registers according to alternating transitions of a periodic clock signal.
According to one embodiment, the invention includes a method for operating a content addressable memory that includes receiving a first data value for evaluation at a first memory block during a first time interval, receiving a second data value for evaluation at a second memory block during a second time interval and evaluating said both the first and second data values during a third time interval. According to one embodiment of the invention the first and second time intervals are separate so that the first and second data blocks receive unique data out of phase with one another from a single address bus. Evaluation of both data values takes place substantially simultaneously in the respective memory blocks.
The above and other features and advantages of the invention will be more readily understood from the following detailed description of the invention which is provided in connection with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a simplified representation of a portion of a conventional content addressable memory device in block diagram form;
FIG. 2 shows a simplified representation of a portion of a conventional content addressable memory device in block diagram form;
FIG. 3 shows a content addressable memory device in block diagram form according to one embodiment of the invention;
FIG. 4 shows a signal timing diagram including control signal timing according to one embodiment of the invention;
FIG. 5 shows a flowchart showing steps for a read operation according to one embodiment of the invention;
FIG. 6 shows a flowchart for manufacturing a content addressable memory device according to one embodiment of the invention;
FIG. 7 shows a digital system including a content addressable memory according to one aspect of the invention.
FIG. 8 shows a communications network including a router with a content addressable memory according to one aspect of the invention.
DETAILED DESCRIPTION OF THE INVENTION
In one exemplary embodiment, the present invention includes a CAM memory device architecture in which a single data bus is used to convey data to two memory blocks of a single CAM memory device in time multiplexed form. Respective data values are provided to the two memory blocks according to alternating phase transitions of a control signal. Consequently, a single data bus serves the function of two separate prior art data buses. The result is a savings in integrated circuit real estate and complexity, since one data bus is provided rather than two. Various exemplary aspects of the invention are directed to the architecture, and its method of formation, and to operation of a CAM memory device according to the invention.
FIG. 3 shows an exemplary CAM memory device 200 according to one embodiment of the invention. The CAM device 200 includes a substrate 201. The substrate may include any supporting structure including, but not limited to a semiconductor substrate that has an exposed substrate surface. The substrate may be a semiconductor substrate or other substrate. Semiconductor substrates should be understood to include silicon, silicon-on-insulator (SOI), silicon-on-sapphire (SOS), doped and undoped semiconductors, epitaxial layers of silicon supported by a base semiconductor foundation, and other semiconductor structures. The substrate may include regions or junctions in or over the base semiconductor or foundation formed during preparatory process steps.
A plurality of CAM memory cells 16 are formed on the substrate. According to one embodiment, the cells are arranged into discrete memory blocks 202, 204. One of the memory blocks 202 has a first data input port 206 coupled to a first search register 208. Another of the memory blocks 204 has a second data input port 210 coupled to a second search register 212. The first 208 and second 212 search registers are mutually coupled to a single search data bus 214.
The search data bus consists of a plurality of data lines coupled to provide data in parallel format to the first search register 208 and second search register 212. In an alternative embodiment of the invention, the data bus may consist of one or more data lines adapted to provide data in serial format to the first search register 208 and second search register 212. The data lines may include various transmission media such as strip-lines, micro-strip lines, or waveguide structures including optical waveguide structures. In one embodiment, the inverter 42 (as shown in FIG. 1) is omitted from the CAM memory cells 16, and the data bus 214 includes complemented data lines.
A control line 216 is mutually coupled to a first control input 218 of the first memory block 202 and a second control input 220 of the second memory block 204. The control line 216 is also mutually coupled to a third control input 222 of the first search register 208 and to a fourth control input 224 of the second search register 212. The control line may be formed of conductive material such as polysilicon or metallic material, or the control line may be formed as a waveguide, such as an optical waveguide. A control circuit 226 is formed on the substrate 201 and coupled to the control line 216. The control circuit 226 is adapted to apply a control signal 304 (as discussed below in relation to in FIG. 4) to the control line 216. According to various embodiments of the invention, buffer circuits adapted to amplify control or data signals may be provided on the substrate 201 in conjunction with the data bus and/or control signal lines.
As shown in FIG. 3, the memory blocks 202, 204 are disposed in spaced relation to one another. The search registers 208, 212 and the search data bus 214 are disposed between the memory blocks 202 and 204.
FIG. 4 shows a timing diagram 300 indicating signal timing relationships for operation of the FIG. 3 CAM memory device. Reference is made to a time axis 302. A control signal 304 is shown as a substantially periodic substantially symmetric square wave signal. The control signal 304 includes downward transitions 306 at periodically repeating times 308 and upward transitions 310 at periodically repeating times 312. Graph 314 shows the time intervals 316 when first data, destined for the first search register 208, is stable on the search data bus 214. These time intervals 316 begin at periodically repeating times 318 and end at periodically repeating times 320. Graph 322 shows the further time intervals 324 when second data, destined for the second search register 212, is stable on the search bus 214. These further time intervals 324 begin at periodically repeating times 320 and end at periodically repeating times 318. Graph 326 shows the time intervals 328 during which stable output data is available at output port 228 of memory block 202 and output port 230 of memory block 204. An evaluation time interval beginning at periodic time 312 is indicated by reference numeral 330.
FIG. 5 shows a flowchart 500 illustrating steps for reading a content 502 first comparand data is received onto data bus 214 (as shown in FIG. 3). In a second step 504 the first comparand data is latched into first search register 208. The latching of first comparand data into first search register 208 is triggered by downward transition 306 of signal 304, (as shown in FIG. 4). Referring again to FIG. 5, in a third step 506 second comparand data is received on to data bus 214. In a fourth step 508 second comparand data is latched into second search register 212. In the instant embodiment, latching of second comparand data into second search register 212 is triggered by upward transition 310 of signal 304 (a shown in FIG. 4). The upward transition 310 is also received at the first 202 and second 204 memory blocks, as shown in step 510 of FIG. 5. As shown in step 512, the upward transition 310 of signal 304 also initiates the evaluation of fist data in first memory block 202 and second memory block 204. This evaluation takes place during time interval 330 (as shown in FIG. 4). In step 514, first evaluation results are received at first output 228 of first memory block 202 and at second output 230 of second memory block 204. This takes place during periodic time interval 328 (as shown in FIG. 4).
FIG. 6 shows a flowchart 600 illustrating the steps for manufacturing, according to one embodiment of the invention, a content addressable memory device. In a first step 602 a substrate is provided. In a second step 604 a plurality of CAM memory cells are formed on the substrate 201. The cells are formed in at least first 202 and second 204 blocks of cells. In a third step 606, first 208 and second 212 search registers are formed on the substrate 201. In step 608, the first search register 208 is coupled to the first memory block 202 and second search registered 212 is coupled to the second memory block 204. In step 610 data bus 214 is formed over the substrate 201. As described above, the data bus may include a parallel or serial architecture data bus, and may include a variety of transmission media, including conductors, transmission lines, and waveguides including optical waveguides. In step 612 the data bus is coupled to both the first 208 and second 212 search registers. In step 614 a control line is formed over the substrate. In step 616, the control line is coupled to the first 208 and second 212 search registers and to the first 202 and second 204 memory blocks. In step 618 a control circuit 226 is formed over the substrate, and in step 620, and output of the control circuit 226 is coupled to the control line 216. In step 622 first 228 and second output ports 230 are formed over the substrate. In step 624, the first output port 228 is coupled to the first memory block 202 and second output port 230 is coupled to the second memory block 204.
FIG. 7 illustrates an exemplary processing system 800 which utilizes a CAM device 200 constructed as described above with reference to FIGS. 1-6. The processing system 800 includes one or more processors 801 coupled to a local bus 804. A memory controller 802 and a primary bus bridge 803 are also coupled the local bus 804. The processing system 800 may include multiple memory controllers 802 and/or multiple primary bus bridges 803. The memory controller 802 and the primary bus bridge 803 may be integrated as a single device 806.
The memory controller 802 is also coupled to one or more memory buses 807. Each memory bus accepts memory components 808, which include at least one memory device 200 of the invention. Alternatively, in a simplified system, the memory controller 802 may be omitted and the memory components directly coupled to one or more processors 801. The memory components 808 may be a memory card or a memory module. The memory components 808 may include one or more additional devices 809. For example, the additional device 809 might be a configuration memory. The memory controller 802 may also be coupled to a cache memory 805. The cache memory 805 may be the only cache memory in the processing system. Alternatively, other devices, for example, processors 801 may also include cache memories, which may form a cache hierarchy with cache memory 805. If the processing system 800 include peripherals or controllers which are bus masters or which support direct memory access (DMA), the memory controller 802 may implement a cache coherency protocol. If the memory controller 802 is coupled to a plurality of memory buses 807, each memory bus 807 may be operated in parallel, or different address ranges may be mapped to different memory buses 807.
The primary bus bridge 803 is coupled to at least one peripheral bus 810. Various devices, such as peripherals or additional bus bridges may be coupled to the peripheral bus 810. These devices may include a storage controller 811, a miscellaneous I/O device 814, a secondary bus bridge 815, a multimedia processor 818, and a legacy device interface 820. The primary bus bridge 803 may also coupled to one or more special purpose high speed ports 822. In a personal computer, for example, the special purpose port might be the Accelerated Graphics Port (AGP), used to couple a high performance video card to the processing system 800.
The storage controller 811 couples one or more storage devices 813, via a storage bus 812, to the peripheral bus 810. For example, the storage controller 811 may be a SCSI controller and storage devices 813 may be SCSI discs. The I/O device 814 may be any sort of peripheral. For example, the I/O device 814 may be an local area network interface, such as an Ethernet card. The secondary bus bridge may be used to interface additional devices via another bus to the processing system. For example, the secondary bus bridge may be a universal serial port (USB) controller used to couple USB devices 817 via a secondary bus 816 and the secondary bus bridge 815 to the processing system 800. The multimedia processor 818 may be a sound card, a video capture card, or any other type of media interface, which may also be coupled to one or more additional devices such as speakers 819. The legacy device interface 820 is used to couple one or more legacy devices 821, for example, older styled keyboards and mice, to the processing system 800.
The processing system 800 illustrated in FIG. 7 is only an exemplary processing system with which the invention may be used. While FIG. 7 illustrates a processing architecture especially suitable for a general purpose computer, such as a personal computer or a workstation, it should be recognized that well known modifications can be made to configure the processing system 800 to become more suitable for use in a variety of applications. For example, many electronic devices which require processing may be implemented using a simpler architecture which relies on a CPU 801 coupled to CAM memory devices 200.
FIG. 8 shows a communications network 900 according to one aspect of the invention. The network includes a modem 902 having a first port 904 adapted to be coupled to the Internet 906 and a second port 908 adapted to be coupled to a local area network 910. A router 912 has a remote-side port 914 coupled to the second port 908 of the modem, and an interface 916 including a plurality of local ports for connection to local devices. The router 912 includes a processor 918 for receiving and processing information received from and/or destined for the local devices. The router also includes a content accessible memory device 200 according to one embodiment of the invention, as described above. The content accessible memory 200 is coupled to the processor 918 and adapted to store and retrieve data under the control of the processor. A variety of local devices are coupled to respective local ports, of the interface 916, including general-purpose computers 922, telephone devices 924, and network router devices 926.
The description and drawings presented above illustrate only a few of the many embodiments which achieve the features and advantages of the present invention. Modification and substitutions to specific process conditions and structures can be made without departing from the spirit and scope of the present invention. Accordingly, the invention is not to be considered as being limited by the foregoing description and drawings, but is only limited by the scope of the appended claims.

Claims (20)

1. A method for operating a content addressable memory comprising:
receiving a first data from a data line for evaluation at a first memory block of said content addressable memory during a first time interval;
receiving a second data from said data line for evaluation at a second memory block of said content addressable memory during a second time interval;
evaluating said first and second data at said first and second memory blocks respectively.
2. A method for operating a content addressable memory is defining claim 1 comprising:
providing evaluation results from said first and second memory blocks during a third time interval which follows said first and second time intervals.
3. A method for operating a content addressable memory as defined in claim 2 wherein said providing evaluation results from said first and second memory blocks during a third time interval comprises providing said evaluation results from said first and second memory blocks substantially simultaneously.
4. A method for operating a content addressable memory as defined in claim 1 wherein said third time interval follows said second time interval which follows said first time interval.
5. A method for operating a content addressable memory as defined in claim 1 wherein said first time interval is defined to be between a falling transition and a subsequent rising transition of a control signal and said second and third time intervals are defined to be between said rising transition and a subsequent falling transition of said control signal.
6. A method of operating a content accessible memory as defined in claim 5 wherein said rising transition of said control signal and said subsequent falling transition of said control signal comprise consecutive transitions of said control signal.
7. A method for operating a content addressable memory as defined in claim 1 wherein receiving said first data for evaluation at a first memory block comprises receiving said first data at a first search register of said first memory block and receiving said second data for evaluation at said second memory block includes receiving said second data at a second search register of said second memory block.
8. A method for operating a content addressable memory as defined in claim 1 wherein said first and second time intervals are of substantially equal duration.
9. A control circuit for generating a signal to control a content addressable memory comprising:
a switching device, said switching device coupled to a first search register, a second search register, a first memory block and a second memory block, said switching device adapted to produce an electronic signal including a first downward-going transition and a second upward-going transition, said downward going transition activating said first search register to store a first data value from a data bus, said upward going transition activating said second search register to store a second data value from said data bus, said upward going transition activating a match operation in said first memory block of said content addressable memory, said first memory block being coupled to said first search register, said upward going transition activating a match operation in said second memory block of said content addressable memory, said second memory block being coupled to said second search register, whereupon said first and second memory blocks return search results.
10. A control circuit as defined in claim 9 wherein said electronic signal comprises a periodic electronic signal.
11. A control circuit as defined in claim 9 wherein said electronic signal comprises a substantially symmetric square wave electronic signal.
12. A content addressable memory device comprising:
a first plurality of memory cells supported by substrate;
a first search register supported by said substrate and coupled to said first plurality of memory cells;
a second plurality of memory cells supported by said substrate;
a second search register supported by said substrate and coupled to said second plurality of memory cells;
a data bus supported by said substrate, said data bus being coupled to said first search register and said second search register;
a control line, said control line being mutually coupled to said first plurality of memory cells, to said second plurality of memory cells, to said first search register and to said second search register, said control line being adapted to receive a control signal from a control circuit and control said first and second search registers and said first and second pluralities of memory cells such that first data from said data bus is received by said first search register during a first time interval, second data from said data bus is received by said second search register during a second time interval and said first and second data are evaluated by said first and second pluralities of memory cells during a third time interval.
13. A content addressable memory device as defined in claim 12 wherein said first time interval begins with a first transition of said control signal and said second time interval begins with a second transition of said control signal.
14. A content addressable memory device as defined in claim 12 wherein said third time interval comprises a time interval after said second transition and before a further transition of said control signal.
15. A method of forming a content addressable memory comprising:
providing a substrate;
forming first and second memory arrays of memory cells over said substrate, said first and second memory arrays being adapted to store first and second data sets respectively;
forming first and second search registers over said substrate, said first and second search registers being coupled to said first and second arrays of memory cells respectively;
forming a data bus over said substrate, said data bus being mutually coupled to said first and second search registers; and
forming a control line over said substrate, said control line being coupled to said first and second arrays of memory cells and to said first and second search registers, said control line adapted to receive a control signal from a control circuit, said control signal including a first transition adapted to cause said first search register to receive a first data value from said data bus, said control signal including a second transition adapted to cause said second search register to receive a second data value from said data bus, said second transition being further adapted to cause said first and second memory arrays to compare said first and second data values respectively with said first and second data values.
16. A method of forming a content addressable memory as defined in claim 15, further comprising forming said control circuit over said substrate.
17. A method of forming a content addressable memory as defined in claim 15 further comprising:
forming first and second output ports over said substrate, said first and second output registers being coupled to said first and second memory arrays respectively to receive respective first and second output data values.
18. A router comprising
a processor and a content addressable memory, said content addressable memory including:
a first plurality of memory cells supported by substrate;
a first search register supported by said substrate and coupled to said first plurality of memory cells;
a second plurality of memory cells supported by said substrate;
a second search register supported by said substrate and coupled to said second plurality of memory cells;
a data bus supported by said substrate, said data bus being coupled to said first search register and said second search register;
a control line, said control line being mutually coupled to said first plurality of memory cells, to said second plurality of memory cells, to said first search register and to said second search register, said control line being adapted to receive a control signal from a control circuit and control said first and second search registers and said first and second pluralities of memory cells such that first data from said data bus is received by said first search register during a first time interval, second data from said data bus is received by said second search register during a second time interval and said first and second data are evaluated by said first and second pluralities of memory cells during a third time interval.
19. A communication network comprising:
a plurality of computers;
a communication medium coupling said plurality of computers to a router, said router including a content addressable memory device, said content addressable memory device having:
a first plurality of memory cells supported by substrate;
a first search register supported by said substrate and coupled to said first plurality of memory cells;
a second plurality of memory cells supported by said substrate;
a second search register supported by said substrate and coupled to said second plurality of memory cells;
a data bus supported by said substrate, said data bus being coupled to said first search register and said second search register;
a control line, said control line being mutually coupled to said first plurality of memory cells, to said second plurality of memory cells, to said first search register and to said second search register, said control line being adapted to receive a control signal from a control circuit and control said first and second search registers and said first and second pluralities of memory cells such that first data from said data bus is received by said first search register during a first time interval, second data from said data bus is received by said second search register during a second time interval and said first and second data are evaluated by said first and second pluralities of memory cells during a third time interval.
20. A digital system comprising:
a central processing unit;
an I/O port device coupled to said central processing unit;
a memory data bus coupled to said central processing unit; and
a content addressable memory device, said content addressable memory device including:
a first plurality of memory cells supported by substrate;
a first search register supported by said substrate and coupled to said first plurality of memory cells;
a second plurality of memory cells supported by said substrate;
a second search register supported by said substrate and coupled to said second plurality of memory cells;
a search data bus supported by said substrate, said search data bus being coupled to said first search register and said second search register;
a control line, said control line being mutually coupled to said first plurality of memory cells, to said second plurality of memory cells, to said first search register and to said second search register, said control line being adapted to receive a control signal from a control circuit and control said first and second search registers and said first and second pluralities of memory cells such that first data from said search data bus is received by said first search register during a first time interval, second data from said search data bus is received by said second search register during a second time interval and said first and said first and second pluralities of memory cells during a third time interval.
US10/641,126 2003-08-15 2003-08-15 CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture Expired - Fee Related US6906938B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/641,126 US6906938B2 (en) 2003-08-15 2003-08-15 CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture
US11/034,720 US7092271B2 (en) 2003-08-15 2005-01-14 CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/641,126 US6906938B2 (en) 2003-08-15 2003-08-15 CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/034,720 Continuation US7092271B2 (en) 2003-08-15 2005-01-14 CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture

Publications (2)

Publication Number Publication Date
US20050036347A1 US20050036347A1 (en) 2005-02-17
US6906938B2 true US6906938B2 (en) 2005-06-14

Family

ID=34136261

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/641,126 Expired - Fee Related US6906938B2 (en) 2003-08-15 2003-08-15 CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture
US11/034,720 Expired - Fee Related US7092271B2 (en) 2003-08-15 2005-01-14 CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/034,720 Expired - Fee Related US7092271B2 (en) 2003-08-15 2005-01-14 CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture

Country Status (1)

Country Link
US (2) US6906938B2 (en)

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050138280A1 (en) * 2003-08-15 2005-06-23 Kaginele Sathya P. CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture
US20050169031A1 (en) * 2002-08-01 2005-08-04 Sandeep Khanna Content addressable memory with cascaded array
US20100100714A1 (en) * 2008-10-18 2010-04-22 Micron Technology, Inc. System and Method of Indirect Register Access
US20100100691A1 (en) * 2008-10-18 2010-04-22 Micron Technology, Inc. Indirect Register Access Method and System
US20100115158A1 (en) * 2008-11-05 2010-05-06 Micron Technology, Inc. Methods and Systems to Accomplish Variable Width Data Input
US20100115173A1 (en) * 2008-11-05 2010-05-06 Micron Technology, Inc. Bus Translator
US20100115347A1 (en) * 2008-11-05 2010-05-06 Micron Technology, Inc. Pattern-Recognition Processor with Results Buffer
US20100122024A1 (en) * 2008-11-10 2010-05-13 Micron Technology, Inc. Methods and systems for directly connecting devices to microcontrollers
US20100138634A1 (en) * 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize parallel processing of a single data stream
US20100138432A1 (en) * 2008-12-01 2010-06-03 Micron Technology, Inc. Systems and Methods to Enable Identification of Different Data Sets
US20100138575A1 (en) * 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
US20100138635A1 (en) * 2008-12-01 2010-06-03 Micron Technology, Inc. Systems and Methods for Managing Endian Mode of a Device
US20100169538A1 (en) * 2008-12-31 2010-07-01 Micron Technology, Inc. Systems, methods, and devices for configuring a device
US20100174929A1 (en) * 2009-01-07 2010-07-08 Micron Technology, Inc. Method and Systems for Power Consumption Management of a Pattern-Recognition Processor
US20100174887A1 (en) * 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US20100175130A1 (en) * 2009-01-07 2010-07-08 Micron Technology, Inc. Pattern-Recognition Processor with Matching-Data Reporting Module
US20100185647A1 (en) * 2009-01-12 2010-07-22 Micron Technology, Inc. Devices, systems, and methods for communicating pattern matching results of a parallel pattern search engine
US20100332809A1 (en) * 2009-06-26 2010-12-30 Micron Technology Inc. Methods and Devices for Saving and/or Restoring a State of a Pattern-Recognition Processor
US20110145182A1 (en) * 2009-12-15 2011-06-16 Micron Technology, Inc. Adaptive content inspection
US20110145271A1 (en) * 2009-12-15 2011-06-16 Micron Technology, Inc. Methods and apparatuses for reducing power consumption in a pattern recognition processor
US20110145544A1 (en) * 2009-12-15 2011-06-16 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US20120281473A1 (en) * 2006-06-30 2012-11-08 Hidetaka Tsuji Card controller controlling semiconductor memory including memory cell having charge accumulation layer and control gate
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
US9703574B2 (en) 2013-03-15 2017-07-11 Micron Technology, Inc. Overflow detection and correction in state machine engines
US10019311B2 (en) 2016-09-29 2018-07-10 Micron Technology, Inc. Validation of a symbol response memory
US10146555B2 (en) 2016-07-21 2018-12-04 Micron Technology, Inc. Adaptive routing to avoid non-repairable memory and logic defects on automata processor
US10268602B2 (en) 2016-09-29 2019-04-23 Micron Technology, Inc. System and method for individual addressing
US10430210B2 (en) 2014-12-30 2019-10-01 Micron Technology, Inc. Systems and devices for accessing a state machine
US10592450B2 (en) 2016-10-20 2020-03-17 Micron Technology, Inc. Custom compute cores in integrated circuit devices
US10691964B2 (en) 2015-10-06 2020-06-23 Micron Technology, Inc. Methods and systems for event reporting
US10769099B2 (en) 2014-12-30 2020-09-08 Micron Technology, Inc. Devices for time division multiplexing of state machine engine signals
US10846103B2 (en) 2015-10-06 2020-11-24 Micron Technology, Inc. Methods and systems for representing processing resources
US10929764B2 (en) 2016-10-20 2021-02-23 Micron Technology, Inc. Boolean satisfiability
US10977309B2 (en) 2015-10-06 2021-04-13 Micron Technology, Inc. Methods and systems for creating networks
US11017857B2 (en) 2019-07-15 2021-05-25 Micron Technology, Inc. Ranged content-addressable memory
US11366675B2 (en) 2014-12-30 2022-06-21 Micron Technology, Inc. Systems and devices for accessing a state machine
US11488645B2 (en) 2012-04-12 2022-11-01 Micron Technology, Inc. Methods for reading data from a storage buffer including delaying activation of a column select

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7707387B2 (en) 2005-06-01 2010-04-27 Microsoft Corporation Conditional execution via content addressable memory and parallel computing execution model
US7793040B2 (en) * 2005-06-01 2010-09-07 Microsoft Corporation Content addressable memory architecture
US7451297B2 (en) * 2005-06-01 2008-11-11 Microsoft Corporation Computing system and method that determines current configuration dependent on operand input from another configuration
US7581059B2 (en) * 2005-07-27 2009-08-25 Netlogic Microsystems, Inc. Controlling a searchable range within a network search engine
US8169808B2 (en) 2008-01-25 2012-05-01 Micron Technology, Inc. NAND flash content addressable memory
JP2010211389A (en) * 2009-03-09 2010-09-24 Canon Inc Protocol processor and protocol processing method
US8719925B1 (en) * 2009-08-25 2014-05-06 Sandia Corporation Content-addressable memory based enforcement of configurable policies
FR2955195B1 (en) * 2010-01-14 2012-03-09 Soitec Silicon On Insulator DEVICE FOR COMPARING DATA IN A MEMORY ADDRESSABLE BY CONTENT ON SEOI

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061262A (en) * 1996-07-11 2000-05-09 Nortel Networks Corporation Large-capacity content addressable memory
US6335889B1 (en) 1999-10-18 2002-01-01 Nec Corporation Semiconductor memory device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3535215A1 (en) * 1985-10-02 1987-04-02 Nixdorf Computer Ag METHOD AND CIRCUIT FOR READING DATA FROM THE MEMORY OF A DATA PROCESSING SYSTEM
US6430073B1 (en) * 2000-12-06 2002-08-06 International Business Machines Corporation Dram CAM cell with hidden refresh
US6549442B1 (en) * 2002-07-25 2003-04-15 Neomagic Corp. Hardware-assisted fast bank-swap in a content-addressable-memory (CAM) processor
US6906938B2 (en) * 2003-08-15 2005-06-14 Micron Technology, Inc. CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061262A (en) * 1996-07-11 2000-05-09 Nortel Networks Corporation Large-capacity content addressable memory
US6335889B1 (en) 1999-10-18 2002-01-01 Nec Corporation Semiconductor memory device

Cited By (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050169031A1 (en) * 2002-08-01 2005-08-04 Sandeep Khanna Content addressable memory with cascaded array
US7042748B2 (en) * 2002-08-01 2006-05-09 Netlogic Microsystems, Inc. Content addressable memory with cascaded array
US20050138280A1 (en) * 2003-08-15 2005-06-23 Kaginele Sathya P. CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture
US7092271B2 (en) * 2003-08-15 2006-08-15 Micron Technology, Inc. CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture
US20120281473A1 (en) * 2006-06-30 2012-11-08 Hidetaka Tsuji Card controller controlling semiconductor memory including memory cell having charge accumulation layer and control gate
US8797821B2 (en) * 2006-06-30 2014-08-05 Kabushiki Kaisha Toshiba Card controller controlling semiconductor memory including memory cell having charge accumulation layer and control gate
US20100100691A1 (en) * 2008-10-18 2010-04-22 Micron Technology, Inc. Indirect Register Access Method and System
US10020033B2 (en) 2008-10-18 2018-07-10 Micron Technology, Inc. Indirect register access method and system
US8938590B2 (en) 2008-10-18 2015-01-20 Micron Technology, Inc. Indirect register access method and system
US8209521B2 (en) 2008-10-18 2012-06-26 Micron Technology, Inc. Methods of indirect register access including automatic modification of a directly accessible address register
US9176740B2 (en) 2008-10-18 2015-11-03 Micron Technology, Inc. System and method of indirect register access via directly accessible registers
US9734876B2 (en) 2008-10-18 2017-08-15 Micron Technology, Inc. Indirect register access method and system
US20100100714A1 (en) * 2008-10-18 2010-04-22 Micron Technology, Inc. System and Method of Indirect Register Access
US7970964B2 (en) 2008-11-05 2011-06-28 Micron Technology, Inc. Methods and systems to accomplish variable width data input
US11830243B2 (en) 2008-11-05 2023-11-28 Micron Technology, Inc. Bus translator
US10380446B2 (en) 2008-11-05 2019-08-13 Micron Technology, Inc. Bus translator
US20100115158A1 (en) * 2008-11-05 2010-05-06 Micron Technology, Inc. Methods and Systems to Accomplish Variable Width Data Input
US10915774B2 (en) 2008-11-05 2021-02-09 Micron Technology, Inc. Bus translator
US20100115173A1 (en) * 2008-11-05 2010-05-06 Micron Technology, Inc. Bus Translator
US9959474B2 (en) 2008-11-05 2018-05-01 Micron Technology, Inc. Bus translator
US7917684B2 (en) 2008-11-05 2011-03-29 Micron Technology, Inc. Bus translator
US8260987B2 (en) 2008-11-05 2012-09-04 Micron Technology, Inc. Methods and systems to accomplish variable width data input
US20100115347A1 (en) * 2008-11-05 2010-05-06 Micron Technology, Inc. Pattern-Recognition Processor with Results Buffer
US9639493B2 (en) 2008-11-05 2017-05-02 Micron Technology, Inc. Pattern-recognition processor with results buffer
US8713223B2 (en) 2008-11-05 2014-04-29 Micron Technology, Inc. Methods and systems to accomplish variable width data input
US20110173368A1 (en) * 2008-11-05 2011-07-14 Micron Technology, Inc. Bus translator
US10942877B2 (en) 2008-11-10 2021-03-09 Micron Technology, Inc. Methods and systems for devices with self-selecting bus decoder
US20100122024A1 (en) * 2008-11-10 2010-05-13 Micron Technology, Inc. Methods and systems for directly connecting devices to microcontrollers
US11782859B2 (en) 2008-11-10 2023-10-10 Micron Technology, Inc. Methods and systems for devices with self-selecting bus decoder
US9785588B2 (en) 2008-11-10 2017-10-10 Micron Technology, Inc. Methods and systems for devices with self-selecting bus decoder
US10572414B2 (en) 2008-11-10 2020-02-25 Micron Technology, Inc. Methods and systems for devices with self-selecting bus decoder
US10180922B2 (en) 2008-11-10 2019-01-15 Micron Technology, Inc. Methods and systems for devices with self-selecting bus decoder
US8402188B2 (en) 2008-11-10 2013-03-19 Micron Technology, Inc. Methods and systems for devices with a self-selecting bus decoder
US10007486B2 (en) 2008-12-01 2018-06-26 Micron Technology, Inc. Systems and methods to enable identification of different data sets
US10838966B2 (en) 2008-12-01 2020-11-17 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous DMA parallel processing of a single data stream by multiple devices
US10162862B2 (en) 2008-12-01 2018-12-25 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous DMA parallel processing of a single data stream by multiple devices
US20100138634A1 (en) * 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize parallel processing of a single data stream
US10417236B2 (en) 2008-12-01 2019-09-17 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous DMA parallel processing of a single data stream by multiple devices
US10466966B2 (en) 2008-12-01 2019-11-05 Micron Technology, Inc. Systems and methods to enable identification of different data sets
US20100138575A1 (en) * 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
US20100138432A1 (en) * 2008-12-01 2010-06-03 Micron Technology, Inc. Systems and Methods to Enable Identification of Different Data Sets
US9164945B2 (en) 2008-12-01 2015-10-20 Micron Technology, Inc. Devices, systems, and methods to synchronize parallel processing of a single data stream
US9348784B2 (en) 2008-12-01 2016-05-24 Micron Technology, Inc. Systems and methods for managing endian mode of a device
US20100138635A1 (en) * 2008-12-01 2010-06-03 Micron Technology, Inc. Systems and Methods for Managing Endian Mode of a Device
US8140780B2 (en) 2008-12-31 2012-03-20 Micron Technology, Inc. Systems, methods, and devices for configuring a device
US20100169538A1 (en) * 2008-12-31 2010-07-01 Micron Technology, Inc. Systems, methods, and devices for configuring a device
US8725961B2 (en) 2008-12-31 2014-05-13 Micron Technology Inc. Systems, methods, and devices for configuring a device
US11023758B2 (en) 2009-01-07 2021-06-01 Micron Technology, Inc. Buses for pattern-recognition processors
US8281395B2 (en) 2009-01-07 2012-10-02 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US9389833B2 (en) 2009-01-07 2016-07-12 Micron Technology, Inc. Method and system to dynamically power-down a block of a pattern-recognition processor
US12067767B2 (en) 2009-01-07 2024-08-20 Micron Technology, Inc. Buses for pattern-recognition processors
US9026485B2 (en) 2009-01-07 2015-05-05 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US8719206B2 (en) 2009-01-07 2014-05-06 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US8214672B2 (en) 2009-01-07 2012-07-03 Micron Technology, Inc. Method and systems for power consumption management of a pattern-recognition processor
US10152113B2 (en) 2009-01-07 2018-12-11 Micron Technology, Inc. Dynamic power-down of a block of a pattern-recognition processor
US20100174887A1 (en) * 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US20100174929A1 (en) * 2009-01-07 2010-07-08 Micron Technology, Inc. Method and Systems for Power Consumption Management of a Pattern-Recognition Processor
US20100175130A1 (en) * 2009-01-07 2010-07-08 Micron Technology, Inc. Pattern-Recognition Processor with Matching-Data Reporting Module
US8843523B2 (en) 2009-01-12 2014-09-23 Micron Technology, Inc. Devices, systems, and methods for communicating pattern matching results of a parallel pattern search engine
US20100185647A1 (en) * 2009-01-12 2010-07-22 Micron Technology, Inc. Devices, systems, and methods for communicating pattern matching results of a parallel pattern search engine
US20100332809A1 (en) * 2009-06-26 2010-12-30 Micron Technology Inc. Methods and Devices for Saving and/or Restoring a State of a Pattern-Recognition Processor
US9836555B2 (en) 2009-06-26 2017-12-05 Micron Technology, Inc. Methods and devices for saving and/or restoring a state of a pattern-recognition processor
US10817569B2 (en) 2009-06-26 2020-10-27 Micron Technology, Inc. Methods and devices for saving and/or restoring a state of a pattern-recognition processor
US20110145182A1 (en) * 2009-12-15 2011-06-16 Micron Technology, Inc. Adaptive content inspection
US11768798B2 (en) 2009-12-15 2023-09-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US9323994B2 (en) 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US11226926B2 (en) 2009-12-15 2022-01-18 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US10235627B2 (en) 2009-12-15 2019-03-19 Micron Technology, Inc. Adaptive content inspection
US20110145271A1 (en) * 2009-12-15 2011-06-16 Micron Technology, Inc. Methods and apparatuses for reducing power consumption in a pattern recognition processor
US20110145544A1 (en) * 2009-12-15 2011-06-16 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US11151140B2 (en) 2009-12-15 2021-10-19 Micron Technology, Inc. Methods and apparatuses for reducing power consumption in a pattern recognition processor
US9684867B2 (en) 2009-12-15 2017-06-20 Micron Technology, Inc. Adaptive content inspection
US9501705B2 (en) 2009-12-15 2016-11-22 Micron Technology, Inc. Methods and apparatuses for reducing power consumption in a pattern recognition processor
US10157208B2 (en) 2009-12-15 2018-12-18 Micron Technology, Inc. Methods and apparatuses for reducing power consumption in a pattern recognition processor
US10684983B2 (en) 2009-12-15 2020-06-16 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US8489534B2 (en) 2009-12-15 2013-07-16 Paul D. Dlugosch Adaptive content inspection
US11488645B2 (en) 2012-04-12 2022-11-01 Micron Technology, Inc. Methods for reading data from a storage buffer including delaying activation of a column select
US10831672B2 (en) 2012-07-18 2020-11-10 Micron Technology, Inc Memory management for a hierarchical memory system
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
US10089242B2 (en) 2012-07-18 2018-10-02 Micron Technology, Inc. Memory management for a hierarchical memory system
US10067901B2 (en) 2013-03-15 2018-09-04 Micron Technology, Inc. Methods and apparatuses for providing data received by a state machine engine
US10372653B2 (en) 2013-03-15 2019-08-06 Micron Technology, Inc. Apparatuses for providing data received by a state machine engine
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
US10929154B2 (en) 2013-03-15 2021-02-23 Micron Technology, Inc. Overflow detection and correction in state machine engines
US10606787B2 (en) 2013-03-15 2020-03-31 Mircron Technology, Inc. Methods and apparatuses for providing data received by a state machine engine
US9747242B2 (en) 2013-03-15 2017-08-29 Micron Technology, Inc. Methods and apparatuses for providing data received by a plurality of state machine engines
US11016790B2 (en) 2013-03-15 2021-05-25 Micron Technology, Inc. Overflow detection and correction in state machine engines
US9703574B2 (en) 2013-03-15 2017-07-11 Micron Technology, Inc. Overflow detection and correction in state machine engines
US11775320B2 (en) 2013-03-15 2023-10-03 Micron Technology, Inc. Overflow detection and correction in state machine engines
US10430210B2 (en) 2014-12-30 2019-10-01 Micron Technology, Inc. Systems and devices for accessing a state machine
US11580055B2 (en) 2014-12-30 2023-02-14 Micron Technology, Inc. Devices for time division multiplexing of state machine engine signals
US10769099B2 (en) 2014-12-30 2020-09-08 Micron Technology, Inc. Devices for time division multiplexing of state machine engine signals
US11366675B2 (en) 2014-12-30 2022-06-21 Micron Technology, Inc. Systems and devices for accessing a state machine
US11947979B2 (en) 2014-12-30 2024-04-02 Micron Technology, Inc. Systems and devices for accessing a state machine
US10846103B2 (en) 2015-10-06 2020-11-24 Micron Technology, Inc. Methods and systems for representing processing resources
US11977902B2 (en) 2015-10-06 2024-05-07 Micron Technology, Inc. Methods and systems for event reporting
US10977309B2 (en) 2015-10-06 2021-04-13 Micron Technology, Inc. Methods and systems for creating networks
US11816493B2 (en) 2015-10-06 2023-11-14 Micron Technology, Inc. Methods and systems for representing processing resources
US10691964B2 (en) 2015-10-06 2020-06-23 Micron Technology, Inc. Methods and systems for event reporting
US10698697B2 (en) 2016-07-21 2020-06-30 Micron Technology, Inc. Adaptive routing to avoid non-repairable memory and logic defects on automata processor
US10146555B2 (en) 2016-07-21 2018-12-04 Micron Technology, Inc. Adaptive routing to avoid non-repairable memory and logic defects on automata processor
US10789182B2 (en) 2016-09-29 2020-09-29 Micron Technology, Inc. System and method for individual addressing
US10339071B2 (en) 2016-09-29 2019-07-02 Micron Technology, Inc. System and method for individual addressing
US10268602B2 (en) 2016-09-29 2019-04-23 Micron Technology, Inc. System and method for individual addressing
US10521366B2 (en) 2016-09-29 2019-12-31 Micron Technology, Inc. System and method for individual addressing
US10019311B2 (en) 2016-09-29 2018-07-10 Micron Technology, Inc. Validation of a symbol response memory
US10402265B2 (en) 2016-09-29 2019-09-03 Micron Technology, Inc. Validation of a symbol response memory
US10949290B2 (en) 2016-09-29 2021-03-16 Micron Technology, Inc. Validation of a symbol response memory
US11194747B2 (en) 2016-10-20 2021-12-07 Micron Technology, Inc. Custom compute cores in integrated circuit devices
US11829311B2 (en) 2016-10-20 2023-11-28 Micron Technology, Inc. Custom compute cores in integrated circuit devices
US10592450B2 (en) 2016-10-20 2020-03-17 Micron Technology, Inc. Custom compute cores in integrated circuit devices
US10929764B2 (en) 2016-10-20 2021-02-23 Micron Technology, Inc. Boolean satisfiability
US11017857B2 (en) 2019-07-15 2021-05-25 Micron Technology, Inc. Ranged content-addressable memory

Also Published As

Publication number Publication date
US20050138280A1 (en) 2005-06-23
US20050036347A1 (en) 2005-02-17
US7092271B2 (en) 2006-08-15

Similar Documents

Publication Publication Date Title
US6906938B2 (en) CAM memory architecture and a method of forming and operating a device according to a CAM memory architecture
US6392910B1 (en) Priority encoder with multiple match function for content addressable memories and methods for implementing the same
CN100401425C (en) Circuit and method for performing variable width searches in a content addressable memory
US6262929B1 (en) Pre-charging circuit and method for a word match line of a content add ressable memory (CAM)
KR910007744B1 (en) High speed high density dynamic address translator
JP3851224B2 (en) Content address memory device
US6901020B2 (en) Integrated charge sensing scheme for resistive memories
US6898099B1 (en) Content addressable memory having dynamic match resolution
US6477615B1 (en) Detecting circuit and detecting method of idle word for content addressable memory
US20020051397A1 (en) Semiconductor device
CN1624800A (en) Semiconductor memory device and control method thereof
USRE38955E1 (en) Memory device having a relatively wide data bus
US9275735B2 (en) Array organization and architecture to perform range-match operations with content addressable memory (CAM) circuits
US7688609B1 (en) Content addressable memory having dynamic match resolution
US20030016579A1 (en) Memory read circuitry
US6631444B2 (en) Cache architecture for pipelined operation with on-die processor
Uvieghara et al. An on-chip smart memory for a data-flow CPU
US9063840B1 (en) Multiple match detection for multiple flows in a content addressable memory
US7095674B2 (en) Modular register array
US6819578B2 (en) Reduced signal swing in bit lines in a CAM
US7388794B2 (en) Individual I/O modulation in memory devices
Mathan et al. Data intelligent low power high performance TCAM for IP-address lookup table
US6647455B2 (en) On-die cache memory with repeaters
JPH02137189A (en) Memory circuit and digital device
Nikaido et al. A 1 K bit associative memory LSI

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICRON TECHNOLOGY INC., IDAHO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KAGINELE, SATHYA P.;REEL/FRAME:015982/0622

Effective date: 20030815

CC Certificate of correction
FEPP Fee payment procedure

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: ROUND ROCK RESEARCH, LLC,NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:023786/0416

Effective date: 20091223

Owner name: ROUND ROCK RESEARCH, LLC, NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:023786/0416

Effective date: 20091223

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20170614