El problema con su enfoque es que los datos de EEPROM son permanentes, mientras que la variable es volátil. Una vez que se apague y vuelva a encender el dispositivo, ¿cómo verificará los datos en el futuro? La variable se ha ido y todo lo que tienes es la copia EEPROM.
Lo que tienes hasta ahora no es una estrategia de integridad de los datos, sino solo un paso de verificación de escritura (que es extemporáneo; no lo entiendas mal).
Podrías almacenar sumas de comprobación junto con los datos; sin embargo, las sumas de comprobación solo pueden indicarle que los datos están dañados. Esto es mejor que proceder con datos corruptos; sin embargo, si los datos son críticos, significa que el dispositivo ha fallado.
Una solución más robusta es almacenar los datos de tal manera que no solo sea posible la detección de errores, sino también la corrección de errores.
Puede implementar un códigos de Hamming para palabras individuales de los datos. Un código de Hamming puede recuperarse de un error de un solo bit; más con algunas extensiones.
Si tiene mucho espacio en la EEPROM, puede implementar la redundancia. Por ejemplo, puede dividir la EEPROM en dos mitades que se reflejan entre sí, de manera similar a un esquema RAID0 utilizado para los discos duros. Escriba cada unidad de datos en ambas particiones, con sumas de comprobación de bloque. Al leer datos, si una suma de comprobación es incorrecta, puede intentar copiarla en la partición duplicada. Lo más probable es que su suma de comprobación sea buena. (Y si es así, puede sobrescribir la copia incorrecta con la copia correcta para repararla).