IP Library › Granted Patent US 12,001,716
Granted Patent B2
US 12,001,716 · App. 17/700,300 · Granted Jun 4, 2024

Key-value data storage system using content addressable memory

Inventors: Manik Advani (Fremont, CA); Tomoko Ogura Iwasaki (San Jose, CA)
Assignee: Micron Technology, Inc.
G06F3/0659G06F3/0604G06F3/064G06F3/0656G06F3/0679
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,001,716
App. No.
17/700,300
Granted
Jun 4, 2024
Kind
B2
Abstract

A memory system includes a memory device comprising a content addressable memory (CAM) block storing a plurality of stored search keys and a value data block. The memory system further includes a processing device that receives an input search key and identifies one of the plurality of stored search keys that matches the input search key, the one of the plurality of stored search keys having an associated match location in the CAM block. The processing device further determines, using the associated match location, a corresponding value location in the value data block and retrieves, from the value location in the value data block, data representing a value associated with the input search key.

Claims (27)

1. A system comprising:

a memory device comprising a content addressable memory (CAM) block storing a plurality of stored search keys and a value data block; and

a processing device, operatively coupled with the memory device, to perform operations comprising:

receiving an input search key;

identifying one of the plurality of stored search keys that matches the input search key, the one of the plurality of stored search keys having an associated match location in the CAM block;

identifying, using the associated match location, an entry of a plurality of entries in a lookup table maintained on the memory device, wherein each entry of the plurality of entries associates a match location from the CAM block with a value location in the value data block where data representing a value corresponding to a respective stored search key from the CAM block is stored, the identified entry comprising a value location in the value data block, the value location corresponding to the associated match location; and

retrieving, from the value location in the value data block, data representing a value associated with the input search key.

2. The system of claim 1 , wherein the CAM block comprises an array of memory cells organized into a plurality of strings, each string storing one of the plurality of stored search keys and comprising a plurality of memory cells connected in series between a precharged match line and a page buffer, and wherein each of the plurality of memory cells is connected to one of a plurality of search lines.

3. The system of claim 2 , wherein the input search key comprises a first sequence of bits, and wherein the processing device is to perform operations further comprising:

generating a search pattern based on the first sequence of bits, the search pattern comprising a first set of voltage signals representing the first sequence of bits and a second set of voltage signals representing a second sequence of bits comprising an inverse of the first sequence of bits.

4. The system of claim 3 , wherein the processing device is to perform operations further comprising:

providing the search pattern as an input to the plurality of search lines of the CAM block, wherein the search pattern to cause at least one string of the plurality of strings storing the one of the plurality of stored search keys that matches the input search key to be conductive and provide a signal to the page buffer in response to the input search key matching the one of the plurality of stored search keys stored on the at least one string, the signal resulting from the precharged match line discharging, and the page buffer storing data based on the signal.

5. The system of claim 1 , wherein the memory device comprises a negative and (NAND) type flash memory device, and wherein the associated match location in the CAM block comprises a memory address of a string on the NAND type flash memory device.

6. The system of claim 1 , wherein the input search key is received from a host system, and wherein the processing device is to perform operations further comprising:

providing the data representing the value associated with the input search key to the host system.

7. A method comprising:

receiving an input search key;

identifying one of a plurality of stored search keys in a CAM block of a memory device that matches the input search key, the one of the plurality of stored search keys having an associated match location in the CAM block;

identifying, using the associated match location, an entry of a plurality of entries in a lookup table maintained on the memory device, wherein each entry of the plurality of entries associates a match location from the CAM block with a value location in a value data block of the memory device where data representing a value corresponding to a respective stored search key from the CAM block is stored, the identified entry comprising a value location in the value data block, the value location corresponding to the associated match location; and

retrieving, from the value location in the value data block, data representing a value associated with the input search key.

8. The method of claim 7 , wherein the memory device comprises a negative and (NAND) type flash memory device, and wherein the associated match location in the CAM block comprises a memory address of a string on the NAND type flash memory device.

9. A non-transitory machine readable storage medium storing instructions that, when executed by a processing device, cause the processing device to perform operations comprising:

receiving an input search key;

identifying one of a plurality of stored search keys in a CAM block of a memory device that matches the input search key, the one of the plurality of stored search keys having an associated match location in the CAM block;

identifying, using the associated match location, an entry of a plurality of entries in a lookup table maintained on the memory device, wherein each entry of the plurality of entries associates a match location from the CAM block with a value location in a value data block of the memory device where data representing a value corresponding to a respective stored search key from the CAM block is stored, the identified entry comprising a value location in the value data block, the value location corresponding to the associated match location; and

retrieving, from the value location in the value data block, data representing a value associated with the input search key.

10. The non-transitory machine readable storage medium of claim 9 , wherein the memory device comprises a negative and (NAND) type flash memory device, and wherein the associated match location in the CAM block comprises a memory address of a string on the NAND type flash memory device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2022
From: ADVANI, MANIK; IWASAKI, TOMOKO OGURA
To: MICRON TECHNOLOGY, INC.
Reel/Frame 059431/0287 →
Continuity (2)
Provisional Application 63200816 · Mar 30, 2021
Related Publication 20220317935A1 · Oct 6, 2022
Cited By (2)
US 12,347,490 US 12,725,655