Из (очень длинной, но, безусловно, стоит прочитать) статьи о твердотельных накопителях :
Когда вы удаляете файл в вашей ОС, реакция на жестком диске или SSD отсутствует. Только когда вы перезапишите сектор (на жестком диске) или страницу (на SSD), вы фактически потеряете данные. Программы восстановления файлов используют это свойство в своих интересах, и именно так они помогают вам восстанавливать удаленные файлы.
Однако ключевое различие между жесткими дисками и твердотельными накопителями заключается в том, что происходит при перезаписи файла. В то время как жесткий диск может просто записывать новые данные в тот же сектор, SSD будет выделять новую (или ранее использованную) страницу для перезаписанных данных. Страница, которая содержит теперь недействительные данные, будет просто помечена как недействительная, и в какой-то момент она будет удалена.
Итак, что будет лучшим способом для безопасного удаления файлов, хранящихся на SSD? Перезапись случайными данными, как мы привыкли с жестких дисков (например, с помощью утилиты "shred"), не сработает, если вы не перезапишете ВЕСЬ диск ...
Если накопитель SSD поддерживает набор функций режима безопасности ATA, то он имеет встроенную функцию безопасного стирания, доступ к которой вы должны получить, используя что-то вроде безопасного стирания, описанное здесь и здесь .
источник
Даже если вы перезаписываете весь диск, вы не можете быть абсолютно уверены в этом, поскольку и жесткие диски, и твердотельные накопители содержат запасные секторы, которые заменяются при возникновении сбоев или в случае твердотельных накопителей, что помогает выравнивать износ .
Если вы хотите быть абсолютно уверены в том, что данные не подлежат восстановлению, вы должны физически уничтожить диск без возможности восстановления. Перезапись дает вам разумную уверенность в HD - на SSD на самом деле нет способа достичь даже этого. Если вы заполните весь диск, все еще возможно, что блок, в котором находились данные, был переключен на резервный блок для выравнивания износа и появится позже.
источник
Из-за особенностей флэш-памяти NAND твердотельные накопители не могут напрямую перезаписывать данные. Повторная перезапись файла перед его удалением не приведет к его безопасному удалению на SSD - данные будут просто записаны в другом месте NAND.
Чтобы понять, почему это так, необходимо объяснить, как работают твердотельные накопители внутри.
Источник - Сортировщик вежливости музыки в Википедии, CC BY-SA 3.0
Каждая страница может быть записана по отдельности, но страницы не могут быть переписаны до тех пор, пока не будут удалены, а удаление может быть выполнено только целыми блоками. Это означает, что всякий раз, когда данные перезаписываются, SSD должен пометить данные на затронутых страницах как недействительные и перезаписать их в другом месте, возможно, в другом блоке. В более подходящее время, в идеале, когда накопитель находится в режиме ожидания и все страницы в блоке помечены как недействительные, твердотельный накопитель может стирать блоки, которые больше не используются. Этот процесс очистки называется сборкой мусора .
Чтобы SSD знал, какие блоки могут быть удалены, операционная система должна сообщить ему, какие блоки больше не содержат действительных данных. Это делается с помощью ATA TRIM команды . После этого SSD может свободно собирать эти неиспользуемые блоки.
Твердотельные накопители пытаются равномерно распределять записи по NAND, чтобы избежать преждевременного сбоя, процесс, который зависит от свободного места, доступного для диска.
Каждый блок NAND может выдержать только конечное число циклов записи / стирания. Многие из современных твердотельных накопителей потребительского уровня используют 19–21-нм NAND, где каждый блок работает около 3000 циклов, прежде чем становится непригодным для использования, хотя корпоративные твердотельные накопители и несколько высокопроизводительных потребительских твердотельных накопителей, которые используют более надежные типы NAND, имеются в продаже.
Однако во всех случаях твердотельные накопители должны распределять записи по всему диску, чтобы избежать чрезмерного износа какого-либо отдельного блока, чтобы избежать преждевременного выхода из строя диска, посредством процесса, называемого выравниванием износа . Эффективное выравнивание износа может быть достигнуто только в том случае, если имеется определенное пространство ( избыточное выделение ресурсов ), которое зарезервировано для обеспечения эффективного сбора мусора по мере необходимости, даже если диск почти заполнен.
В экстремальных условиях, когда твердотельный накопитель просят записать данные быстрее, чем он может стереть старые блоки (что часто встречается в рабочих нагрузках центра обработки данных с интенсивной записью), он может быть вынужден перезаписать данные в одном блоке в другой блок, а затем немедленно стереть старый блок. чтобы освободить место для новых данных, прежде чем они смогут выполнить сборку мусора.
Принудительная перезапись блока менее чем идеальна, потому что она снижает производительность и способствует усилению записи , когда в базовый NAND записывается больше данных, чем фактическое количество, записанное приводом. Добавленная избыточная подготовка помогает уменьшить усиление записи, предоставляя больше свободного места для перезаписи данных и стирания старых блоков. Вот почему корпоративные твердотельные накопители высшего класса, такие как Samsung SSD 845DC PRO, имеют размеры, например, 200 ГБ и 400 ГБ, даже несмотря на то, что накопитель на самом деле содержит ближе к 256 или 512 ГБ NAND внутри, соответственно. Смотрите также: Почему SSD имеют странные размеры?
В серии статей о твердотельных накопителях Samsung подробно объясняется, как работают твердотельные накопители. Написание и стирание NAND-страниц и блоков, а также сборка мусора описаны в документе 04 .
Единственный способ действительно стереть данные на SSD - это использовать команды безопасного стирания ATA.
Защищенное стирание дает указание накопителю стереть все сохраненные данные, в том числе данные, которые могут остаться в переназначенных областях NAND. Когда это будет сделано, все блоки будут стерты, что приведет к нетронутому движению.
В накопителях с возможностью самошифрования безопасное стирание можно просто реализовать, протерев ключ шифрования. Поскольку данные на NAND зашифрованного диска не могут быть прочитаны без ключа, нет необходимости стирать все блоки, которые были бы необходимы на незашифрованном диске.
источник
secure_erase
является частью стандарта ATA. Он может отсутствовать на некоторых более дешевых дисках, но если он есть, он должен работать должным образом. Причина, по которой он работает лучше, чем другие опции, заключается в том, что он восстанавливает исходную заводскую конфигурацию накопителя. Даже на жестких дисках это быстрее и эффективнее, чем такие инструменты, как DBAN.Как заявляет @teabot, использование программного обеспечения полного шифрования диска обойдет проблему безопасного удаления, поскольку вам больше не нужно. Однако, как указано в соответствующем вопросе , это будет иметь огромное влияние на производительность, поскольку это предотвращает многие функции контроллера, такие как сжатие и TRIM, и, как сообщалось, снижает производительность до уровня, когда обычный жесткий диск быстрее, чем дорогой SSD. Для устройств на базе SandForce есть лучшее решение: эти устройства по умолчанию шифруют AES, и ключ будет стираться при использовании функции безопасного удаления ATA, делая все данные недоступными, если злоумышленник не сможет взломать AES (128 бит для текущего, 256 бит) для новых дисков выпущенных в марте 2011 года).
источник
Как вы и думали, вытирая все свободное пространство, чтобы гарантировать, что все блоки, которые раньше содержали данные, были стерты, это единственный способ быть уверенным. Ну, кроме взятия ядерного оружия с орбиты ...
Это займет довольно много времени и сократит срок службы флеш-чипов, если вы используете многоходовой клочок.
Другой способ защитить удаленные данные - хранить их в зашифрованном виде с помощью зашифрованной файловой системы с использованием чего-то вроде truecrypt.
источник