IP Library Granted Patent US 12,254,188
Granted Patent B1
US 12,254,188 · App. 18/239,376 · Granted Mar 18, 2025

Systems and methods for memory snapshotting

Inventors: Andrew Mills (Coto de Caza, CA); Torry Steed (Poway, CA)
Assignee: SMART Modular Technologies, Inc.
G06F3/0619G06F3/065G06F3/0673
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,254,188
App. No.
18/239,376
Granted
Mar 18, 2025
Kind
B1
Abstract

Systems and methods for memory snapshots are disclosed. In particular, a memory device may include a volatile section and a backup persistent storage section. A snapshot manager circuit is positioned between a host control circuit or central processors. This snapshot manager circuit acts as a memory virtualization layer within the memory device and may use a redirect on write type command to put a snapshot of actively changed memory to a reserved memory area in the volatile section. A background function may copy the snapshots to the persistent storage section. Because the snapshot manager circuit is in the hardware memory access layers of the memory device, operation of the application is not interrupted or paused to access the specific memory sections. Further, snapshots are more readily available in the memory used by the host control circuit.

Claims (32)

1. A memory device comprising:

a bus interface configured to be coupled to a memory bus;

a volatile random-access memory (RAM) portion comprising an active portion and a reserved portion;

a snapshot manager circuit coupled to the bus interface and the volatile RAM portion and configured to:

take a snapshot of changed portions of the active portion; and

update a management table with information relating to the snapshot; and

a hardware memory address remapping circuit coupled to the memory, snapshot manager, and bus interface.

2. The memory device of claim 1 , further comprising a multiplexer and wherein the snapshot manager circuit is coupled to the volatile RAM portion through the multiplexer.

3. The memory device of claim 1 , wherein the reserved portion comprises twenty-five percent (25%) of the volatile RAM portion.

4. The memory device of claim 1 , wherein the snapshot manager circuit is further configured to store the snapshot in the reserved portion.

5. The memory device of claim 4 , further comprising a backup circuit configured to backup snapshots taken by the snapshot manager circuit in a persistent memory.

6. The memory device of claim 1 , further comprising a timer coupled to the snapshot manager circuit, wherein the snapshot manager circuit is configured to take the snapshot on expiration of the timer.

7. The memory device of claim 1 , wherein the snapshot manager circuit is configured to take the snapshot responsive to a command from a host controller.

8. The memory device of claim 1 , wherein the active portion is configured to be restored from the reserved portion.

9. The memory device of claim 1 , wherein the memory device comprises a nonvolatile dual in-line memory module (NV-DIMM) stick.

10. The memory device of claim 1 , wherein the bus interface comprises a compute express link (CXL) interface.

11. A method of providing snapshots for memory device, comprising:

using a snapshot manager circuit with a nonvolatile memory device to take a snapshot of changed portions of an active portion of volatile random access memory (RAM);

updating a management table with information relating to the snapshot; and

storing the snapshot in a reserved portion of the volatile RAM.

12. The method of claim 11 , further comprising checking for a restore request on system power up.

13. The method of claim 11 , further comprising backing up the snapshot in persistent memory within the memory device.

14. The method of claim 13 , further comprising restoring based on the snapshot in the persistent memory.

15. The method of claim 11 , further comprising receiving a command from a host processor to take the snapshot.

16. The method of claim 11 , wherein taking the snapshot comprises taking the snapshot responsive to expiration of a timer.

17. The method of claim 15 , wherein receiving the command comprises receiving the command across a compute express link (CXL) bus.

18. A host processor comprising:

a bus interface configured to be coupled to a plurality of non-volatile memory devices, each having an active portion and a reserved portion, through a memory bus;

a multi-device snapshot synchronization circuit coupled to the bus interface and configured to instruct respective snapshot managers in each of the plurality of non-volatile memory devices to:

take a snapshot of changed portions of a respective active portion;

update a management table with information relating to the snapshot; and

restore based on one or more snapshots stored in persistent memory.

Assignments (2)
PATENT SECURITY AGREEMENT Recorded Jun 30, 2025
From: CREELED, INC.; PENGUIN SOLUTIONS CORPORATION (DE); SMART EMBEDDED COMPUTING, INC.; SMART HIGH RELIABILITY SOLUTIONS LLC; SMART MODULAR TECHNOLOGIES, INC.; PENGUIN COMPUTING, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 071755/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2023
From: MILLS, ANDREW; STEED, TORRY
To: SMART MODULAR TECHNOLOGIES, INC.
Reel/Frame 064737/0029 →