IP Library Granted Patent US 10,599,575
Granted Patent B2
US 10,599,575 · App. 16/100,074 · Granted Mar 24, 2020

Media manager cache with integrated drift buffer

Inventors: Ashay Narsale (Newark, CA); Robert M. Walker (Raleigh, NC)
Assignee: MICRON TECHNOLOGY, INC.
G06F12/0868G11C11/5678G11C29/52G06F2212/7209G11C2211/5641
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 10,599,575
App. No.
16/100,074
Granted
Mar 24, 2020
Kind
B2
Abstract

A method to cache memory requests while accounting for phase change memory cell drift is described. The method includes adding, in response to receiving a write memory request from a host system, an entry to a cache that includes user data of the write memory request, wherein the write memory request is directed to a set of phase change memory cells; adding, in response to receiving the write memory request, an entry in a first content-addressable memory (CAM), wherein the entry in the first CAM includes a reference to the entry in the cache that includes the user data of the write memory request; writing the user data of the write memory request to the set of phase change memory cells; and adding an entry to a second CAM, wherein the entry in the second CAM includes a reference to the entry in the cache that includes the user data.

Claims (53)

1. A method to cache read and write memory requests while accounting for a phase change memory cell drift phenomenon, the method comprising:

adding, in response to receiving a write memory request from a host system, an entry to a cache that includes user data of the write memory request, wherein the write memory request is directed to a set of phase change memory cells;

adding, in response to receiving the write memory request, an entry in a first content-addressable memory (CAM), wherein the entry in the first CAM includes a reference to the entry in the cache that includes the user data of the write memory request;

writing the user data of the write memory request to the set of phase change memory cells; and

adding an entry to a second CAM, wherein the entry in the second CAM includes a reference to the entry in the cache that includes the user data of the write memory request.

2. The method of claim 1 , further comprising:

evicting the entry in the first CAM such that the entry in the cache is referenced by the second CAM but not referenced in the first CAM after the user data of the write memory request is written to the set of phase change memory cells.

3. The method of claim 1 , further comprising:

receiving a read memory request from a host system; and

fulfilling the read memory request based on the entry in the second CAM and the entry in the cache when the read memory request is received after writing the user data to the set of phase change memory cells.

4. The method of claim 3 , wherein fulfilling the read memory request based on the entry in the second CAM and the entry in the cache comprises:

determining a miss in the first CAM based on an address of the read memory request;

determining a hit in the second CAM based on the address of the read memory request, wherein the hit in the second CAM is based on the entry in the second CAM; and

returning, based on the entry in the second CAM and in response to determining a hit in the second CAM, a location of the entry in the cache based on the reference in the entry in the second CAM to the entry in the cache.

5. The method of claim 3 , further comprising:

fulfilling the read memory request based on the entry in the first CAM and the entry in the cache when the read memory request is received before writing the user data to the set of phase change memory cells.

6. The method of claim 5 , wherein fulfilling the read memory request based on the entry in the first CAM and the entry in the cache comprises:

determining a hit in the first CAM based on an address of the read memory request, wherein the hit in the first CAM is based on the entry in the first CAM; and

returning, based on the entry in the first CAM and in response to determining a hit in the first CAM, a location of the entry in the cache based on the reference in the entry in the first CAM to the entry in the cache.

7. The method of claim 5 , further comprising:

fulfilling the read memory request from the set of phase change memory cells when the read memory request is received after the entry being evicted from the second CAM.

8. The method of claim 7 , wherein fulfilling the read memory request from the set of phase change memory cells comprises:

determining a miss in the first CAM based on an address of the read memory request;

determining a miss in the second CAM based on the address of the read memory request; and

transmitting, in response to determining a miss in the second CAM for the address of the read memory request, a read request to the phase change memory cells based on the address of the read memory request.

9. The method of claim 3 , further comprising:

evicting the entry in the second CAM following an elapse of a resistivity drift period of the set of phase change memory cells following the write of the user data to the phase change memory cells.

10. The method of claim 1 , wherein the first CAM and the second CAM include a number of entries equal to or less than the number of entries in the cache.

11. A system for caching read and write memory requests while accounting for a phase change memory cell drift phenomenon, the system comprising:

a cache to include a first set of entries and each entry in the first set of entries includes user data;

a media manager cache content-addressable memory (CAM) to include a second set of entries, wherein each entry in the second set of entries includes a reference to an entry in the first set of entries; and

a drift CAM to include a third set of entries, wherein each entry in the third set of entries includes a reference to an entry in the first set of entries.

12. The system of claim 11 , wherein in response to receipt of a read or write memory request from a host system (1) a first entry is added to the first set of entries of the cache and includes user data of the read or write memory request and (2) a second entry is added to the second set of entries of the media manager cache CAM, wherein the reference of the second entry added to the second set of entries is to the first entry added to the first set of entries.

13. The system of claim 12 , wherein in response to eviction of the second entry from the media manager cache CAM (1) the user data from the first entry is written to a set of phase change memory cells and (2) a third entry is added to the third set of entries of the drift CAM, wherein the reference of the third entry added to the third set of entries is to the first entry.

14. The system of claim 13 , wherein the third entry is evicted from the drift CAM following an elapse of a resistivity drift period of the set of phase change memory cells following the write of the user data to the phase change memory cells.

15. A system comprising:

a memory component; and

a processing device, coupled to the memory component, configured to:

add, in response to receiving a write memory request from a host system, an entry to a cache that includes user data of the write memory request, wherein the write memory request is directed to a set of phase change memory cells;

add, in response to receiving the write memory request, an entry in a first content-addressable memory (CAM), wherein the entry in the first CAM includes a reference to the entry in the cache that includes the user data of the write memory request;

write the user data of the write memory request to the set of phase change memory cells;

add an entry to a second CAM, wherein the entry in the second CAM includes a reference to the entry in the cache that includes the user data of the write memory request; and

evict the entry in the first CAM such that the entry in the cache is referenced by the second CAM.

16. The system of claim 15 , wherein the entry in the cache is referenced by the second CAM but not referenced in the first CAM after the user data of the write memory request is written to the set of phase change memory cells.

17. The system of claim 15 , wherein the processing device is further configured to:

receive a read memory request from a host system; and

fulfill the read memory request based on the entry in the second CAM and the entry in the cache when the read memory request is received after writing the user data to the set of phase change memory cells.

18. The system of claim 17 , wherein the processing device is further configured to:

fulfill the read memory request based on the entry in the first CAM and the entry in the cache when the read memory request is received before writing the user data to the set of phase change memory cells.

19. The system of claim 17 , wherein the processing device is further configured to:

evict the entry in the second CAM following an elapse of a resistivity drift period of the set of phase change memory cells following the write of the user data to the phase change memory cells.

20. The system of claim 19 , wherein the processing device is further configured to:

fulfill the read memory request from the set of phase change memory cells when the read memory request is received after the entry being evicted from the second CAM.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 14, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051028/0835 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050719/0550 →
SUPPLEMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Nov 13, 2018
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A.., AS COLLATERAL AGENT
Reel/Frame 047630/0756 →
SUPPLEMENT NO. 10 TO PATENT SECURITY AGREEMENT Recorded Nov 13, 2018
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048102/0420 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2018
From: NARSALE, ASHAY; WALKER, ROBERT M.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 046615/0669 →