IP Library › Granted Patent US 11,704,029
Granted Patent B2
US 11,704,029 · App. 17/232,971 · Granted Jul 18, 2023

Elastic persistent memory regions

Inventors: Joseph H. Steinmetz (Loomis, CA); Luca Bert (San Jose, CA); William Akin (Morgan Hill, CA)
Assignee: Micron Technology, Inc.
G06F3/0631G06F3/0604G06F3/068G06F3/0644G06F12/0808G06F2212/1044
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 11,704,029
App. No.
17/232,971
Granted
Jul 18, 2023
Kind
B2
Abstract

A system includes a first memory device having a region allocated as a first persistent memory region (PMR) having a first set of pages, a second memory device comprising a non-volatile memory device having a region allocated as a second PMR region having a second set of pages, and at least one processing device, operatively coupled to the first memory device and the second memory device, to implement a PMR mechanism to cause the second PMR region to be accessible through the first PMR region.

Claims (44)

1. A system comprising:

a volatile memory device having a power protected region allocated as a first persistent memory region (PMR) having a first set of pages, wherein the power protected region utilizes a mechanism to, in an event of power loss, provide power to enable writes of data from the volatile memory device to non-volatile memory;

a non-volatile memory device having a region allocated as a second PMR having a second set of pages; and

at least one processing device, operatively coupled to the volatile memory device and the non-volatile memory device, to perform operations comprising:

causing the second PMR to be accessible through the first PMR.

2. The system of claim 1 , wherein the volatile memory device includes a DDR device.

3. The system of claim 1 , further comprising a set of key registers internal to a controller, wherein the operations further comprise managing PMR caching using a caching mechanism that manages page eviction based on the set of key registers.

4. The system of claim 3 , wherein the set of key registers comprises at least one: a key register indicating a size of the first PMR, a key register indicating a size of the second PMR, a key register indicating a size of each page of the first PMR, a key register indicating a number of pages of the first PMR, or a key register controlling restoration and eviction of PMR data.

5. The system of claim 3 , wherein the operations further comprise:

receiving a PMR access request to perform a data operation; and

performing the data operation using the caching mechanism.

6. The system of claim 3 , wherein the operations further comprise managing at least one of shutdown or startup using the caching mechanism.

7. A method comprising:

receiving, by a processing device, an access request associated with a logging application operation, wherein the processing device is operatively coupled to a volatile memory device having a power protected region allocated as a first persistent memory region (PMR) having a first set of pages and a non-volatile memory device having a region allocated as a second PMR having a second set of pages, wherein the power protected region utilizes a mechanism to, in an event of power loss, provide power to enable writes of data from the volatile memory device to non-volatile memory;

determining, by the processing device, whether the access request comprises a write access request; and

in response to determining that the access request comprises a write access request, writing, by the processing device, data in a PMR page in satisfaction of the write access request.

8. The method of claim 7 , further comprising determining, by the processing device, that the PMR page is in cache prior to determining whether the access request comprises a write access request.

9. The method of claim 7 , further comprising:

determining, by the processing device, that the PMR page is not in cache; and

after determining that the PMR page is not in cache, restoring, by the processing device, a needed page prior to determining that the access request comprises a write access request.

10. The method of claim 7 , further comprising:

in response to writing the data in the PMR page, determining, by the processing device, that the PMR page is full;

archiving, by the processing device, the PMR page; and

terminating, by the processing device, the logging application operation.

11. The method of claim 7 , further comprising:

in response to writing the data in the PMR page, determining, by the processing device, that the PMR page is not full; and

terminating, by the processing device, the logging application operation.

12. The method of claim 7 , wherein writing the data further comprises updating metrics.

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

receiving an access request associated with a logging application operation, wherein the processing device is operatively coupled to a volatile memory device having a power protected region allocated as a first persistent memory region (PMR) having a first set of pages and a non-volatile memory device having a region allocated as a second PMR having a second set of pages, wherein the power protected region utilizes a mechanism to, in an event of power loss, provide power to enable writes of data from the volatile memory device to non-volatile memory;

determining whether the access request comprises a read access request; and

in response to determining that the access request comprises a read access request, returning read data in satisfaction of the read access request.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the operations further comprise determining that a PMR page is in cache prior to determining whether the access request comprises a read access request.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the operations further comprise:

determining that a PMR page is not in cache; and

after determining that the PMR page is not in cache, restoring a needed page prior to determining that the access request comprises a read access request.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the operations further comprise:

in response to returning the read data, determining that read access is at an end of a PMR page;

in response to determining that read access is at an end of the PMR page, loading a next sequential page; and

terminating the logging application operation.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the operations further comprise:

in response to returning the read data, determining that read access is not at an end of a PMR page; and

terminating the logging application operation.

18. The non-transitory computer-readable storage medium of claim 13 , wherein returning the read data further comprises updating metrics.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2021
From: STEINMETZ, JOSEPH H.; BERT, LUCA; AKIN, WILLIAM
To: MICRON TECHNOLOGY, INC.
Reel/Frame 055946/0730 →
Continuity (1)
Related Publication 20220334740A1 · Oct 20, 2022