IP Library › Granted Patent US 11,934,319
Granted Patent B2
US 11,934,319 · App. 18/053,685 · Granted Mar 19, 2024

Memory system for binding data to a memory namespace

Inventors: Samuel E. Bradshaw (Sacramento, CA); Shivasankar Gunasekaran (Folsom, CA); Hongyu Wang (Folsom, CA); Justin M. Eno (El Dorado Hills, CA)
Assignee: Micron Technology, Inc.
G06F12/1009G06F3/0611G06F3/0656G06F3/0679G06F9/5016G06F12/1027
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,934,319
App. No.
18/053,685
Granted
Mar 19, 2024
Kind
B2
Abstract

A computer system includes physical memory devices of different types that store randomly-accessible data in a main memory of the computer system. In one approach, an operating system allocates memory from a namespace for use by an application. The namespace is a logical reference to physical memory devices in which physical addresses are defined. The namespace is bound to a memory type. In response to binding the namespace to the memory type, the operating system adjusts a page table to map a logical memory address in the namespace to a memory device of the memory type.

Claims (33)

1. A system comprising:

a first memory device of a first memory type;

a second memory device of a second memory type;

at least one processing device; and

memory containing instructions configured to instruct the at least one processing device to:

manage namespaces for memory devices of different memory types, the namespaces including a first namespace for the first memory device, and a second namespace for the second memory device;

determine a characteristic associated with an application;

update, based on the characteristic, a page table entry in a page table, wherein updating the page table entry includes storing a mapping between a virtual address of the first namespace and a physical address of the first memory device; and

in response to updating the page table entry, store data associated with the application in the first memory device.

2. The system of claim 1 , wherein the virtual address of the first namespace corresponds to a virtual page of a process managed by an operating system using the page table.

3. The system of claim 2 , wherein the operating system determines the first memory type based on a characteristic associated with the application.

4. The system of claim 1 , wherein the first memory type is volatile memory, and the second memory type is non-volatile memory.

5. The system of claim 1 , wherein:

the instructions are further configured to instruct the at least one processing device to monitor a context of the application during execution; and

updating the page table entry is based on monitoring the context.

6. The system of claim 1 , wherein the instructions are further configured to instruct the at least one processing device to:

receive, from the application, a request for an allocation of random access memory;

in response to receiving the request, create a first namespace identifier;

make an association of the first memory type with the first namespace identifier; and

update a namespace table to store the association.

7. The system of claim 1 , wherein the first memory type is identified by the application.

8. The system of claim 1 , wherein a portion of the page table is stored in a translation lookaside buffer accessible by a memory management unit.

9. The system of claim 1 , wherein a change in a memory type for a record in a namespace table causes an update of the page table entry in the page table.

10. The system of claim 1 , wherein:

the instructions are further configured to instruct the at least one processing device to allocate memory for use by the application;

the allocated memory corresponds to the virtual address; and

a record of a namespace table is updated to associate the virtual address with the physical address of the first memory device.

11. The system of claim 10 , wherein the page table entry is updated in response to updating the record of the namespace table.

12. The system of claim 1 , wherein:

managing the namespaces includes binding the first namespace to the first memory type; and

the page table entry is updated in response to binding the first namespace to the first memory type.

13. The system of claim 1 , wherein the characteristic is a type of data processing being performed for the application.

14. The system of claim 1 , wherein the characteristic is a memory performance for data processing of the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2022
From: BRADSHAW, SAMUEL E.; GUNASEKARAN, SHIVASANKAR; WANG, HONGYU; ENO, JUSTIN M.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 061697/0463 →
Continuity (3)
Continuation 17192744 · Mar 4, 2021
Continuation 16573535 · Sep 17, 2019
Related Publication 20230080030A1 · Mar 16, 2023
Cited By (2)
US 12,228,919 US 12,566,714