IP Library Granted Patent US 11,768,768
Granted Patent B2
US 11,768,768 · App. 17/489,464 · Granted Sep 26, 2023

Memory mapping for hibernation

Inventor: Gil Golov (Backnang, DE)
Assignee: Micron Technology, Inc.
G06F12/0804G05D1/0212G06F9/4418G06F11/079G06F11/0727G06F11/0751G06F11/0793G06F2212/1032G06F2212/205
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,768,768
App. No.
17/489,464
Granted
Sep 26, 2023
Kind
B2
Abstract

A computing system has a processing device (e.g., CPU, FPGA, or GPU) and memory regions (e.g., in a DRAM device) used by the processing device during normal operation. The computing system is configured to: monitor use of the memory regions in volatile memory; based on monitoring the use of the memory regions, identify at least one of the memory regions of the volatile memory; initiate a hibernation process; and during the hibernation process, copy data stored in the identified memory regions to non-volatile memory.

Claims (57)

1. An apparatus comprising:

volatile memory;

non-volatile memory; and

at least one processing device configured to:

use a first memory region of the volatile memory to store first data, wherein the first data is generated during execution of a first process;

associate a respective flag to memory regions of the volatile memory, the respective flag identifying each memory region for copying or not copying, wherein a first flag is associated to the first memory region, and the first flag identifies the first memory region for copying;

detect an event associated with the volatile memory; and

in response to detecting the event, copy the first data stored in the first memory region to the non-volatile memory.

2. The apparatus of claim 1 , wherein the event is an impending loss of power to the volatile memory.

3. The apparatus of claim 1 , wherein the event is initiation of a hibernation process.

4. The apparatus of claim 1 , wherein the request includes a memory characterization, and the first flag is associated to the first memory region based on the memory characterization.

5. The apparatus of claim 1 , wherein the first flag is associated to the first memory region based on usage of the first memory region by the first process.

6. The apparatus of claim 1 , wherein the request from the first process is for a memory allocation, and the memory allocation is associated with the first memory region.

7. The apparatus of claim 1 , wherein the processing device is further configured to:

monitor use of the memory regions of the volatile memory;

wherein the first flag is associated to the first memory region based on monitoring the use of the first memory region by the first process.

8. An apparatus comprising:

at least one processing device; and

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

identify a first memory region of a volatile memory for saving;

after identifying the first memory region for saving, detect an event associated with the volatile memory;

in response to detecting the event, determine that the first memory region has been identified for saving; and

in response to determining that the first memory region has been identified for saving, copy the first data stored in the first memory region to a non-volatile memory.

9. The apparatus of claim 8 , wherein the first data is generated during execution of a first process on a host system, the host system is configured to store a memory map, and the memory map includes a flag identifying the first memory region for saving.

10. The apparatus of claim 8 , wherein:

the volatile memory stores system memory used by a host system when executing one or more applications, and the first data resides in the system memory;

the instructions are further configured to instruct the at least one processing device to:

in response to detecting the event, instruct a direct memory access controller to copy the first data to the non-volatile memory; and

after instructing the direct memory access controller to copy the first data, shut off power to the processing device.

11. The apparatus of claim 10 , wherein, after shutting off the power to the processing device, the direct memory access controller completes copying of the first data to the non-volatile memory.

12. The apparatus of claim 8 , wherein:

second data stored in the volatile memory is supported by a first backup power source;

the first data is not supported by a backup power source; and

the instructions are further configured to instruct the at least one processing device to, after detecting the event, copy the second data to the non-volatile memory.

13. The apparatus of claim 12 , wherein the second data is copied after the first data is fully copied to the non-volatile memory.

14. The apparatus of claim 12 , wherein the event is an impending failure of the first backup power source.

15. An apparatus comprising:

volatile memory;

non-volatile memory; and

at least one processing device configured to:

store a memory map that identifies memory regions of the volatile memory for saving;

identify, in response to starting a new process, a first memory region of the volatile memory to save, the first memory region allocated to store data generated during execution of the new process;

update the memory map to identify the first memory region for saving;

detect an event; and

in response to detecting the event, copy the data from the first memory region to the non-volatile memory.

16. The apparatus of claim 15 , wherein a software component executing on a host system of an autonomous vehicle identifies the first memory region, and wherein the software component causes the updating of the memory map.

17. The apparatus of claim 15 , wherein the new process is executing on an autonomous vehicle in a first state prior to the detecting of the event, and wherein the processing device is further configured to restore the data from the non-volatile memory to the volatile memory such that the new process is restored to the first state.

18. The apparatus of claim 17 , further comprising a display, wherein the new process generates at least one graphical image for presentation on the display to a user of the autonomous vehicle, and wherein the first state includes data associated with the at least one graphical image as presented on the display at the time that the event is detected.

19. The apparatus of claim 15 , wherein the processing device is further configured to:

initiate execution of a first software component;

in response to initiating the execution of the first software component, allocate, by a memory management unit, a second memory region of the volatile memory for use by the first software component to store first data;

determine, by the memory management unit, that the second memory region is to be saved;

update, by the memory management unit, the memory map to identify the second memory region for saving; and

copy the first data stored in the second memory region to the non-volatile memory.

20. The apparatus of claim 15 , wherein the event is an impending loss of power to the volatile memory.

21. The apparatus of claim 15 , wherein the event is initiation of a hibernation process.

22. The apparatus of claim 15 , wherein identifying the first memory region is based on monitoring use of the first memory region by the new process.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2024
From: MICRON TECHNOLOGY, INC.
To: LODESTAR LICENSING GROUP LLC
Reel/Frame 066115/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2021
From: GOLOV, GIL
To: MICRON TECHNOLOGY, INC.
Reel/Frame 057645/0836 →
Continuity (3)
Continuation 17076333 · Oct 21, 2020
Continuation 16156835 · Oct 10, 2018
Related Publication 20220019532A1 · Jan 20, 2022
Cited By (1)
US 12,271,311