На потребительских настольных системах нет. Поврежденные данные в памяти не обнаруживаются, если неверные данные успешно извлекаются. Я знаю, это звучит противоречиво, но это вполне возможно. Контроллер памяти обрабатывает данные как черный ящик - он не знает и не заботится о том, что это за данные, он просто подчиняется протоколу для завершения передачи в и из DRAM. Если протокол соблюдается, и данные успешно сохраняются в DRAM, и при извлечении данных нет нарушений протокола, тогда контроллер памяти не имеет представления, что что-то пошло не так в DRAM. Он не проверяет содержимое, чтобы убедиться, что оно совпадает с тем, когда оно было сохранено. ОС тоже этого не делает. Синий экран смерти выдается пользователю только в случае нарушения протокола во время передачи памяти или если вам не повезло, чтобы код / данные ОС были повреждены из-за плохой DRAM. Важно помнить, что даже во втором случае BSOD не был вызван каким-либо механизмом, преднамеренно обнаружившим ошибки. Ваша ОС большая программа , как и любой другой, поэтому , если его выполнение кода или данных поврежден, он может попытаться выполнить неверные инструкции, доступ к данным он не владеет, или любое количество других незаконных действий , что делает ОС обнаружения и аварии в следствии.
Исключением является память, которая поддерживает коды, исправляющие ошибки. Это небольшие контрольные суммы, которые хранятся вместе с данными в DRAM (или другом устройстве памяти). Они используются контроллером памяти для обеспечения целостности самих данных. Эта память дороже и, как правило, только на серверах. В Windows имеется довольно сложная система для обработки ошибок ECC (поскольку они не обязательно являются фатальными), но без памяти ECC невозможно обнаружить повреждение данных, пока выполняется спецификация JEDEC для передачи данных DRAM.
Однако это не значит, что все потеряно. Проверка поврежденной памяти в режиме реального времени не выполняется, но если вы получили BSOD из-за проблемы с памятью, Windows может обнаружить это и запланировать автоматический запуск утилиты диагностики памяти Windows, которая может помочь точно определить ошибки памяти. Вы также можете запустить его вручную, если вы подозреваете, что у вас плохая память, которая портит ваши данные.