В процессе работы наше приложение может записывать временные данные один раз в каждый блок на диске, а может повторять запись несколько раз в один и тот же блок. После этого (в любом случае) все временные данные будут удалены, чтобы освободить место на диске. Итак, почему у нас есть возможность несколько раз перезаписать данные, если они все равно будут удалены?
Многие диски оснащены встроенным микрочипом, который управляет операциями чтения-записи с помощью внутренней системы кэширования. Это оборудование расположено внутри самого диска, оно не связано с вашей материнской платой, процессором или операционной системой и действует независимо.
В некоторых редких случаях некоторые чипы могут кэшировать текущую операцию записи, и если сразу за ней происходит другая операция - удаление - они могут игнорировать первую запись, поскольку она в любом случае будет удалена. А если логику чипа выставить так, как описано - данные на самом деле не будут записываться, а только сообщаться как записанные.
Могут быть и другие сценарии, это всего лишь пример, но проблема та же — данные не будут записываться перед удалением.
Логика микрочипа диска меняется от производителя к производителю, и трудно предсказать или узнать, как программное обеспечение для кэширования диска на самом деле записывает данные. Хорошая новость: эта проблема возникала очень редко и с небольшими частями данных.
Чтобы предотвратить подобные проблемы, все службы безопасности рекомендуют несколько раз перезаписать данные. Обычная рекомендация — от 3 до 7. Для параноидальных случаев — до 40.
В наших собственных тестах всегда хватало даже 1 цикла. Мы никогда не сталкивались с этой проблемой с 2008 года.