Memory mapping for hibernation
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.
1. A system comprising:
at least one volatile memory;
at least one non-volatile memory configured to store data copied from the volatile memory; and
at least one processing device configured to:
store data in the volatile memory when in an active mode;
in response to receiving a first signal when in active mode, copy the data from the volatile memory to the non-volatile memory; and
after copying the system memory, enter a hibernation mode.
2. The system of claim 1 , wherein the data comprises system memory, stored in a first region of a plurality of memory regions of the volatile memory.
3. The system of claim 1 , wherein the first signal is received from a computing device.
4. The system of claim 1 , wherein the processing device is configured in a vehicle.
5. The system of claim 1 , further comprising a direct memory access (DMA) controller, wherein the data is copied from the volatile memory to the non-volatile memory by the DMA controller.
6. The system of claim 1 , wherein the data is flagged prior to entering the hibernation mode.
7. The system of claim 2 , wherein a first portion of the system memory is flagged; and when copying the system memory from the volatile memory to the non-volatile memory, the first portion has a higher priority for copying than other portions of the system memory.
8. The system of claim 1 , wherein the first signal is an instruction to initiate a hibernation process.
9. The system of claim 8 , wherein the first signal is generated by software executing on a host system.
10. The system of claim 8 , wherein the instruction is sent by a computing device.
11. The system of claim 1 , wherein the processing device is configured in a computing system, and a second signal is sent to wake up the computing system from hibernation.
12. The system of claim 2 , wherein the system memory includes instructions used by the processing device when executing at least one application.
13. The system of claim 2 , wherein the system memory is run-time data generated by software executing on the processing device.
14. The system of claim 2 , wherein the processing device is further configured to selectively determine priorities for portions of the system memory, and the priorities indicate an order for copying during a hibernation process.
15. The system of claim 1 , wherein the processing device is a processor or a microcontroller.
16. The system of claim 1 , wherein the volatile memory is embedded in the processing device.
17. The system of claim 1 , wherein the non-volatile memory is embedded in the processing device.
18. The system of claim 1 , wherein the first signal is received from a processing device of a host system.
19. A system comprising:
at least one volatile memory;
at least one non-volatile memory; and
at least one processing device configured to:
store data in the volatile memory;
flag a portion of the data for hibernation;
receive a first signal;
in response to receiving the first signal, copy the flagged portion of the data from the volatile memory to the non-volatile memory; and
after copying the flagged portion of the data, enter hibernation.
20. The system of claim 19 , wherein the data is run-time data generated by software executing on the processing device.
21. A system comprising:
at least one volatile memory;
at least one non-volatile memory; and
at least one processing device configured to:
store system memory in the volatile memory; and
copy a first portion of the system memory from the volatile memory to the non-volatile memory to enter hibernation.
22. The system of claim 21 , wherein the processing device is further configured to determine priorities for copying portions of the system memory, the portions including the first portion having a higher priority than other portions, wherein the priorities indicate an order for copying during hibernation.