IP Library › Granted Patent US 12,086,458
Granted Patent B2
US 12,086,458 · App. 17/729,980 · Granted Sep 10, 2024

Programming content addressable memory

Inventors: Tomoko Ogura Iwasaki (San Jose, CA); Manik Advani (Fremont, CA)
Assignee: Micron Technology, Inc.
G06F3/0656G06F3/0604G06F3/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,086,458
App. No.
17/729,980
Granted
Sep 10, 2024
Kind
B2
Abstract

A memory system includes a memory device comprising a programming buffer and a content addressable memory (CAM) block. The memory system further includes a processing device that receives a plurality of data entries to be stored at the memory device and stores the plurality of data entries in a plurality of pages of the programming buffer, each of the plurality of pages of the programming buffer comprising a respective subset of the plurality of data entries. The processing device further initiates a conversion operation to copy the plurality of data entries from the programming buffer to the CAM block. The conversion operation includes reading respective portions of each data entry in each respective subset of the plurality of data entries from the plurality of pages of the programming buffer, and writing the respective portions to respective CAM pages of the CAM block.

Claims (47)

1. A system comprising:

a memory device comprising a programming buffer and a content addressable memory (CAM) block; and

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

receiving a plurality of data entries to be stored at the memory device;

storing the plurality of data entries in a plurality of pages of the programming buffer, each of the plurality of pages of the programming buffer comprising a respective subset of the plurality of data entries; and

initiating a conversion operation to copy the plurality of data entries from the programming buffer to the CAM block, wherein the conversion operation comprises:

reading respective portions of each data entry in each respective subset of the plurality of data entries from the plurality of pages of the programming buffer; and

writing the respective portions to a single CAM page of the CAM block in one program operation, wherein each data entry spans a plurality of CAM pages in the CAM block.

2. The system of claim 1 , wherein the conversion operation further comprises:

reading a first portion of each data entry in each respective subset of the plurality of data entries from the plurality of pages of the programming buffer; and

writing the first portion of each data entry to a first CAM page of the CAM block.

3. The system of claim 1 , wherein the CAM block comprises an array of memory cells organized into a plurality of strings, each string 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.

4. The system of claim 3 , wherein each respective CAM page of the CAM block is associated with a respective one of the plurality of search lines.

5. The system of claim 3 , wherein once each portion of a given data entry is written to the respective CAM pages of the CAM block, the given data entry is stored in the CAM block along one of the plurality of strings intersecting each of the plurality of search lines.

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

determining that the programming buffer is full of data entries; and

responsive to determining that the programming buffer is full of data entries, initiating the conversion operation.

7. The system of claim 1 , wherein the memory device comprises a negative and (NAND) type flash memory device, and wherein the programming buffer is not arranged using a CAM architecture.

8. A method comprising:

receiving a plurality of data entries to be stored at a memory device comprising a programming buffer and a content addressable memory (CAM) block;

storing the plurality of data entries in a plurality of pages of the programming buffer, each of the plurality of pages of the programming buffer comprising a respective subset of the plurality of data entries; and

initiating a conversion operation to copy the plurality of data entries from the programming buffer to the CAM block, wherein the conversion operation comprises:

reading respective portions of each data entry in each respective subset of the plurality of data entries from the plurality of pages of the programming buffer; and

writing the respective portions to a single CAM page of the CAM block in one program operation, wherein each data entry spans a plurality of CAM pages in the CAM block.

9. The method of claim 8 , wherein the conversion operation further comprises:

reading a first portion of each data entry in each respective subset of the plurality of data entries from the plurality of pages of the programming buffer; and

writing the first portion of each data entry to a first CAM page of the CAM block.

10. The method of claim 8 , wherein the CAM block comprises an array of memory cells organized into a plurality of strings, each string 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.

11. The method of claim 10 , wherein each respective CAM page of the CAM block is associated with a respective one of the plurality of search lines.

12. The method of claim 10 , wherein once each portion of a given data entry is written to the respective CAM pages of the CAM block, the given data entry is stored in the CAM block along one of the plurality of strings intersecting each of the plurality of search lines.

13. The method of claim 8 , further comprising:

determining that the programming buffer is full of data entries; and

responsive to determining that the programming buffer is full of data entries, initiating the conversion operation.

14. The method of claim 8 , wherein the memory device comprises a negative and (NAND) type flash memory device, and wherein the programming buffer is not arranged using a CAM architecture.

15. 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 a plurality of data entries to be stored at a memory device comprising a programming buffer and a content addressable memory (CAM) block;

storing the plurality of data entries in a plurality of pages of the programming buffer, each of the plurality of pages of the programming buffer comprising a respective subset of the plurality of data entries; and

initiating a conversion operation to copy the plurality of data entries from the programming buffer to the CAM block, wherein the conversion operation comprises:

reading respective portions of each data entry in each respective subset of the plurality of data entries from the plurality of pages of the programming buffer; and

writing the respective portions to a single CAM page of the CAM block in one program operation, wherein each data entry spans a plurality of CAM pages in the CAM block.

16. The non-transitory machine readable storage medium of claim 15 , wherein the conversion operation further comprises:

reading a first portion of each data entry in each respective subset of the plurality of data entries from the plurality of pages of the programming buffer; and

writing the first portion of each data entry to a first CAM page of the CAM block.

17. The non-transitory machine readable storage medium of claim 15 , wherein the CAM block comprises an array of memory cells organized into a plurality of strings, each string 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.

18. The non-transitory machine readable storage medium of claim 17 , wherein each respective CAM page of the CAM block is associated with a respective one of the plurality of search lines.

19. The non-transitory machine readable storage medium of claim 17 , wherein once each portion of a given data entry is written to the respective CAM pages of the CAM block, the given data entry is stored in the CAM block along one of the plurality of strings intersecting each of the plurality of search lines.

20. The non-transitory machine readable storage medium of claim 15 , wherein the memory device comprises a negative and (NAND) type flash memory device, and wherein the programming buffer is not arranged using a CAM architecture.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2022
From: IWASAKI, TOMOKO OGURA; ADVANI, MANIK
To: MICRON TECHNOLOGY, INC.
Reel/Frame 060875/0600 →
Continuity (2)
Provisional Application 63201554 · May 4, 2021
Related Publication 20220357876A1 · Nov 10, 2022