In REDUNDANT mode, ara::per computes a CRC32 over each stored value on write and verifies it on read. If the primary copy's CRC fails, the platform automatically reads from the redundant copy (if available) and reconstructs the primary.
ara::per::GetValue("key")
│
├─► Read primary copy → CRC check
│ OK → return value
│ FAIL ──► Read redundant copy → CRC check
│ OK → restore primary, return value
│ FAIL ──► RecoveryHandler callback
│ kResetToDefaultValue / kReportError