28
If an application were not to check these things at startup, due to the persistent
nature of the media, it could get stuck in an infinite loop, for example:
1. Application starts.
2. Reads a memory address.
3. Encounters poison.
4. Crashes or system crashes and reboots.
5. Starts and resumes operation from where it left off.
6. Performs a read on the same memory address that triggered the
previous restart.
7. Application or system crashes.
8. …
9. Repeats infinitely until manual intervention.
The ACPI specification defines an Address Range Scrub (ARS) operation that the
operating system implements. This allows the operating system to perform a runtime
background scan operation across the memory address range of the persistent memory.
Figure 2-6. Application startup and recovery flow
Chapter 2 persistent MeMory arChiteCture
If an application were not to check these things at startup, due to the persistent
nature of the media, it could get stuck in an infinite loop, for example:
1. Application starts.
2. Reads a memory address.
3. Encounters poison.
4. Crashes or system crashes and reboots.
5. Starts and resumes operation from where it left off.
6. Performs a read on the same memory address that triggered the
previous restart.
7. Application or system crashes.
8. …
9. Repeats infinitely until manual intervention.
The ACPI specification defines an Address Range Scrub (ARS) operation that the
operating system implements. This allows the operating system to perform a runtime
background scan operation across the memory address range of the persistent memory.
Figure 2-6. Application startup and recovery flow
Chapter 2 persistent MeMory arChiteCture
