IP Library Granted Patent US 9,934,142
Granted Patent B2
US 9,934,142 · App. 15/207,175 · Granted Apr 3, 2018

Wear leveling in a memory system

Inventors: Trung Diep (San Jose, CA); Eric Linstadt (Palo Alto, CA)
Assignee: Rambus, Inc.
G06F12/0284G06F3/0616G06F3/0647G06F3/0673G06F12/08G06F12/0891G06F12/1009G06F12/126G06F12/0246G06F2212/1036G06F2212/7211
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 9,934,142
App. No.
15/207,175
Granted
Apr 3, 2018
Kind
B2
Abstract

Embodiments are disclosed for replacing one or more pages of a memory to level wear on the memory. In one embodiment, a system includes a page fault handling function and a memory address mapping function. Upon receipt of a page fault, the page fault handling function maps an evicted virtual memory address to a stressed page and maps a stressed virtual memory address to a free page using the memory address mapping function.

Claims (49)

1. A device comprising:

a memory to:

receive a page fault indicative of an access to a virtual memory address unmapped in the memory; and

in response to receiving a page fault,

determine a final stressed page by comparing a first head entry of a pool of free pages with a second head entry of a pool of marked pages to identify a final stressed page; and

map the unmapped virtual memory address to the final stressed page of the memory.

2. The device of claim 1 , the memory further to:

populate the pool of free pages of the memory with evicted pages; and

populate the pool of marked pages of the memory with stressed pages.

3. The device of claim 1 , wherein to determine the final stressed page, the memory to:

compare a first durability parameter associated with the first head entry of the pool of free pages with a second durability parameter associated with the second head entry of the pool of marked pages; and

select the final stressed page based on the comparison of the first durability parameter and the second durability parameter.

4. The device of claim 3 , wherein to select the final stressed page based on the comparison of the first durability parameter and the second durability parameter, the memory to:

determine a more stressed page from the first head entry or the second head entry based on the comparison of the first durability parameter and the second durability parameter, wherein the first durability parameter and the second durability parameter are indicative of a lifetime of an associated memory page; and

select the more stressed page and the final stressed page.

5. The device of claim 1 , wherein the memory, in response to receiving the page fault, further to:

map a stressed virtual memory address to a free page of the pool of free pages.

6. The device of claim 1 , wherein the memory, in response to receiving the page fault, further to:

unmap an evicted virtual memory address associated with an evicted page; and

populate a tail entry of the pool of free pages with the evicted page, wherein the tail entry of the pool of free pages is associated with a physical address of the evicted page.

7. The device of claim 1 , wherein the memory further to:

translate one or more memory addresses to physical memory addresses.

8. The device of claim 1 , wherein the pool of free pages comprises a first plurality of entries, wherein each of the first plurality of entries of the pool of free pages are associated with a free page, a physical address of the free page, and a durability parameter of the free page.

9. The device of claim 1 , wherein the pool of marked pages comprises a second plurality of entries, wherein each of the second plurality of entries of the pool of marked pages is associated with a marked page, a physical address of the marked page, and a durability parameter of the marked page.

10. The device of claim 9 , wherein the respective durability parameters associated with the free page and the marked page comprise at least one of direct durability measurement, access counters, or error correction parameters.

11. A method comprising:

receiving, by a memory, a page fault indicative of an access to a virtual memory address unmapped in the memory; and

in response to receiving a page fault,

determining a final stressed page by comparing a first head entry of a pool of free pages with a second head entry of a pool of marked pages to identify a final stressed page; and

mapping the unmapped virtual memory address to the final stressed page of the memory.

12. The method of claim 11 , further comprising:

populating the pool of free pages of the memory with evicted pages; and

populating the pool of marked pages of the memory with stressed pages.

13. The method of claim 11 , wherein determining the final stressed page comprises:

comparing a first durability parameter associated with the first head entry of the pool of free pages with a second durability parameter associated with the second head entry of the pool of marked pages; and

selecting the final stressed page based on the comparison of the first durability parameter and the second durability parameter.

14. The method of claim 13 , wherein selecting the final stressed page based on the comparison of the first durability parameter and the second durability parameter further comprises:

determining a more stressed page from the first head entry or the second head entry based on the comparison of the first durability parameter and the second durability parameter, wherein the first durability parameter and the second durability parameter are indicative of a lifetime of an associated memory page; and

selecting the more stressed page and the final stressed page.

15. The method of claim 11 , further comprising, in response to receiving the page fault:

mapping a stressed virtual memory address to a free page of the pool of free pages.

16. The method of claim 11 , further comprising, in response to receiving the page fault:

unmapping an evicted virtual memory address associated with an evicted page; and

populating a tail entry of the pool of free pages with the evicted page, wherein the tail entry of the pool of free pages is associated with a physical address of the evicted page.

17. The method of claim 11 , further comprising:

translate one or more memory addresses to physical memory addresses.

18. The method of claim 11 , wherein the pool of free pages comprises a first plurality of entries, wherein each of the first plurality of entries of the pool of free pages are associated with a free page, a physical address of the free page, and a durability parameter of the free page.

19. The method of claim 11 , wherein the pool of marked pages comprises a second plurality of entries, wherein each of the second plurality of entries of the pool of marked pages is associated with a marked page, a physical address of the marked page, and a durability parameter of the marked page.

20. The method of claim 19 , wherein the respective durability parameters associated with the free page and the marked page comprise at least one of direct durability measurement, access counters, or error correction parameters.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2016
From: DIEP, TRUNG; LINSTADT, ERIC
To: RAMBUS INC.
Reel/Frame 039136/0237 →
Continuity (3)
Continuation 14370013
Provisional Application 61582142 · Dec 30, 2011
Related Publication 20170010964A1 · Jan 12, 2017