IP Library › Granted Patent US 12,638,984
Granted Patent B2
US 12,638,984 · App. 18/777,955 · Granted May 26, 2026

Shared memory snapshots

Inventor: John Groves (Austin, TX)
Assignee: Micron Technology, Inc.
G06F3/0625G06F3/0629G06F3/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,638,984
App. No.
18/777,955
Granted
May 26, 2026
Kind
B2
Abstract

A system can include a memory device and a processing device operatively coupled with the memory device, to perform operations including recording, in a change log associated with a snapshot of a data object, an entry reflecting a change made by a first host application to the data object, wherein the entry contains information reflecting a current state of a part of the data object; receiving a request to read the part of the data object; determining whether the request is received from the first host application; and responsive to determining that the request is received from the first host application, retrieving the part from the entry of the change log.

Claims (55)

1 . A system comprising:

a memory device comprising byte-addressable memory; and

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

recording, in a change log associated with a snapshot of a data object, an entry reflecting a change made by a first host application to the data object, wherein the entry contains information reflecting a current state of a part of the data object;

receiving a request to read the part of the data object;

determining whether the request is received from the first host application;

responsive to determining that the request is received from the first host application, retrieving the part from the entry of the change log; and

responsive to determining that the request is received from a second host application, retrieving the part from one or more physical address ranges identifying respective locations storing the data object on the memory device, wherein the one or more physical address ranges is associated with a previous state of the part of the data object.

2 . The system of claim 1 , wherein the operations further comprise:

associating, in a first metadata item, an object identifier with the one or more physical address ranges identifying respective locations storing the data object on the memory device.

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

mapping the one or more physical address ranges to corresponding virtual address ranges in a virtual address space of the second host application, wherein the one or more physical address ranges are not contiguous, and wherein the first host application is running on a first host system and the second host application is running on a second host system.

4 . The system of claim 1 , wherein the operations further comprise:

associating, in a second metadata item, an object identifier with a snapshot identifier to define the snapshot of the data object on the memory device.

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

applying, to the data object, the change reflected by the entry recorded in the change log; and

associating, by the second metadata item, the object identifier with a second snapshot identifier to define a subsequent snapshot of the data object on the memory device.

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

modifying, in a first metadata item, one or more physical address ranges associated with the object identifier to generate one more modified physical address ranges; and

mapping the modified physical address ranges identifying respective locations containing data of the subsequent snapshot of the data object to corresponding virtual address ranges of a second host application.

7 . The system of claim 1 , wherein the memory device is a fabric-attached memory device.

8 . A system comprising:

a memory device comprising byte-addressable memory; and

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

recording, in a change log associated with a snapshot of a data object, an entry reflecting a change made by a first host application to the data object, wherein the entry contains information reflecting a previous state of a part of the data object;

receiving a request to read the part of the data object;

determining whether the request is received from the first host application;

responsive to determining that the request is received from a second host application, retrieving the part from the entry of the change log; and

responsive to determining that the request is received from the first host application, retrieving the part from one or more physical address ranges identifying respective locations storing the data object on the memory device, wherein the one or more physical address ranges is associated with a current state of the part of the data object.

9 . The system of claim 8 , wherein the operations further comprise:

associating, in a first metadata item, an object identifier with the one or more physical address ranges identifying respective locations storing the data object on the memory device.

10 . The system of claim 9 , wherein the operations further comprise:

mapping the one or more physical address ranges to corresponding virtual address ranges in a virtual address space of the first host application, wherein the one or more physical address ranges are not contiguous, and wherein the first host application is running on a first host system and the second host application is running on a second host system.

11 . The system of claim 8 , wherein the operations further comprise:

associating, in a second metadata item, an object identifier with a snapshot identifier to define the snapshot of the data object on the memory device.

12 . The system of claim 11 , wherein the operations further comprise:

applying, to the data object, the change reflected by the entry recorded in the change log; and

associating, by the second metadata item, the object identifier with a second snapshot identifier to define a subsequent snapshot of the data object on the memory device.

13 . The system of claim 12 , wherein the operations further comprise:

modifying, in a first metadata item, one or more physical address ranges associated with the object identifier to generate one more modified physical address ranges; and

mapping the modified physical address ranges identifying respective locations containing data of the subsequent snapshot of the data object to corresponding virtual address ranges of the first host application.

14 . The system of claim 8 , wherein the memory device is a fabric-attached memory device.

15 . A method comprising:

recording, by a processing device, in a change log associated with a snapshot of a data object, an entry reflecting a change made by a first host application to the data object, wherein the entry contains information reflecting a current state of a part of the data object;

receiving a request to read the part of the data object;

determining whether the request is received from the first host application; and

responsive to determining that the request is received from the first host application, retrieving the part from the entry of the change log; and

responsive to determining that the request is received from a second host application, retrieving the part from one or more physical address ranges identifying respective locations storing the data object on a memory device, wherein the one or more physical address ranges is associated with a previous state of the part of the data object.

16 . The method of claim 15 , further comprising:

associating, in a first metadata item, an object identifier with the one or more physical address ranges identifying respective locations storing the data object on the memory device; and

mapping the one or more physical address ranges to corresponding virtual address ranges in a virtual address space of the second host application, wherein the one or more physical address ranges are not contiguous, and wherein the first host application is running on a first host system and the second host application is running on a second host system.

17 . The method of claim 15 , further comprising:

associating, in a second metadata item, an object identifier with a snapshot identifier to define the snapshot of the data object on the memory device;

applying, to the data object, the change reflected by the entry recorded in the change log; and

associating, by the second metadata item, the object identifier with a second snapshot identifier to define a subsequent snapshot of the data object on the memory device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2024
From: GROVES, JOHN
To: MICRON TECHNOLOGY, INC.
Reel/Frame 068742/0356 →
Continuity (2)
Continuation 17895918 · Aug 25, 2022
Related Publication 20240377973A1 · Nov 14, 2024
References Cited (3)
US 10409770B1 · Ye · 2019 [cited by examiner]
US 20150212893A1 · Pawar et al. · 2015 [cited by applicant]
US 20200026611A1 · Amlekar et al. · 2020 [cited by applicant]