Это зависит от вашего уровня паранойи. Из-за того, как твердотельные накопители обрабатывают запись данных, однократное выполнение на SSD не так хорошо, как на жестком диске.
Когда вы записываете определенную страницу данных на HD, новые данные просто записываются поверх старых данных, заменяя их. Запишите нули по всему диску, и все старые данные исчезнут. SSD, с другой стороны, не могут просто перезаписать отдельные страницы. Чтобы заменить данные на странице, старые данные сначала должны быть удалены, а твердотельные накопители не могут удалить отдельные страницы; они должны стирать целые блоки, состоящие из множества страниц.
Итак, что происходит, когда вы просите SSD перезаписать, скажем, страницу № 5, так это то, что SSD оставляет данные только на странице № 5, но помечает их как недействительные, выделяет другую в настоящее время пустую страницу (скажем, # 2305), пишет новые данные на странице # 2305 и отмечают, что в следующий раз, когда ОС запросит страницу # 5, вместо этого она должна получить # 2305. Исходные данные страницы № 5 хранятся там до некоторого более позднего времени, когда накопителю требуется больше места, удаляются все оставшиеся действительные страницы от блока и стираются. Твердотельные накопители имеют больше физической памяти, чем они выставляют компьютеру, поэтому они могут некоторое время жонглировать такими блоками, прежде чем действительно что-то стирать (а когда они действительно что-то стирают, нет хорошего способа предсказать, какие блоки оставшихся данных будут быть выбранным для стирания). Посмотреть этот обзор AnandTech для более подробной информации (предупреждение: это довольно долго, и соответствующие вещи распространяются вокруг).
Чистый результат: если вы записываете нули на «весь» диск, вы фактически не перезаписываете все старые данные. Вы были обновлены таблицы перевода контроллера так , чтобы он никогда не будет возвращать старые данные в ОС (эти страницы все недействительны). Но если кто-то достаточно хардкорный, чтобы обойти контроллер, он может вернуть часть ваших данных.
Перезапись дважды, вероятно, будет работать, но это зависит от стратегии распределения контроллера. Перезапись дважды случайными данными ( diskutil randomDisk 2 /dev/diskN
) немного более вероятна, но все еще не гарантирована. У обоих из них также есть некоторые плохие побочные эффекты: они используют часть срока службы диска, а также увеличивают логическую фрагментацию на SSD, снижая его производительность записи.
Обратите внимание, что в последних версиях графической дисковой утилиты OS X отключены параметры безопасного стирания на твердотельных накопителях (по причинам, рассмотренным выше), но версия для командной строки по-прежнему допускает их. Кстати, я также видел несколько рекомендаций по безопасному удалению SSD путем преобразования их в зашифрованный формат, но это (если вообще что-то) немного менее безопасно, чем перезапись случайными данными.
Лучший способ безопасного стирания SSD - активировать встроенную в контроллер функцию безопасного стирания. Это должно (если разработчики контроллера выполнили свою работу) действительно стереть все блоки, а также иметь побочный эффект сброса логической карты страниц, по существу, ее дефрагментации и восстановления ее первоначальной производительности. К сожалению, большинство утилит, которые я видел для этого (например , HDDErase CMRR ), работают под DOS, которая не загружается на Mac. Я нашел сообщение на макруморах с (довольно сложными) инструкциями по безопасному удалению с загрузочного диска GParted. Также возможно использовать Parted Magic с загрузочной флешки , но я этого не пробовал.
Исследователи из Лаборатории энергонезависимых систем в UCSD протестировали различные способы дезинфекции твердотельных накопителей путем «стирания» накопителя, его разборки с целью обхода контроллера и проверки остаточных данных ( сводка , полная статья ). Их результаты в основном согласуются с тем, что я сказал выше (а также показывают, что встроенная команда безопасного удаления не всегда реализована должным образом):
Наши результаты позволяют сделать три вывода: во-первых, встроенные команды эффективны, но производители иногда неправильно их реализуют. Во-вторых, перезапись всего видимого адресного пространства SSD дважды обычно, но не всегда, достаточно для очистки диска. В-третьих, ни один из существующих ориентированных на жесткий диск методов для очистки отдельных файлов не эффективен на твердотельных накопителях.