Не секрет, что самопроизвольное повреждение хранимых данных (например, переворот) не является частым, но все же довольно вероятным событием в обычной операции SDRAM (включая DDR 1/2/3/4 SDRAM).
Серверы и рабочие станции для работы в тяжелых условиях используют механизм ECC, встроенный в их модули SDRAM, для решения этой проблемы, гарантируя, что прочитанное слово данных всегда будет словом данных, записанным по этому конкретному адресу ранее.
Но как быть с настольными / портативными ПК и ручными гаджетами, использующими модули памяти не-ECC? Как разработчик может быть уверен, что переменная содержит именно то значение, которое ей записано?