27
Application Startup and Recovery
In addition to detecting platform features, applications should verify whether the
platform was previously stopped and restarted gracefully or ungracefully. Figure 2-6
shows the checks performed by the Persistent Memory Development Kit.
Some persistent memory devices, such as Intel Optane DC persistent memory,
provide SMART counters that can be queried to check the health and status. Several
libraries such as libpmemobj query the BIOS, ACPI, OS, and persistent memory module
information then perform the necessary validation steps to decide which flush operation
is most optimal to use.
We described earlier that if a system loses power, there should be enough stored
energy within the power supplies and platform to successfully flush the contents of
the memory controller’s WPQ and the write buffers on the persistent memory devices.
Data will be considered consistent upon successful completion. If this process fails,
due to exhausting all the stored energy before all the data was successfully flushed, the
persistent memory modules will report a dirty shutdown. A dirty shutdown indicates that
data on the device may be inconsistent. This may or may not result in needing to restore
the data from backups. You can find more information on this process – and what errors
and signals are sent – in the RAS (reliability, availability, serviceability) documentation
for your platform and the persistent memory device. Chapter 17 also discusses this
further.
Assuming no dirty shutdown is indicated, the application should check to see if
the persistent memory media is reporting any known poison blocks (see Figure 2-6).
Poisoned blocks are areas on the physical media that are known to be bad.
Chapter 2 persistent MeMory arChiteCture
Précédent

- 56/457

Suivant