Как я понимаю SSD, они внутренне управляют пронумерованными секторами "жесткого диска", ожидаемыми операционной системой, на внутренние страницы, которые сгруппированы в блоки. Прошивка SSD отвечает за консолидацию внутренних страниц, так что пустые блоки становятся доступными для повторного использования. Этот процесс медленный, поэтому он происходит в фоновом режиме. Когда диск близок к заполнению, он может чувствовать себя медленно для пользователя, потому что прошивка должна работать, чтобы освободить место, а ОС должна его ждать.

Операционная система не знает внутренней организации привода. Он сообщает SSD, что сектор файловой системы доступен через TRIM. Затем SSD может внутренне назначить страницы, представляющие этот сектор, как доступные для повторного использования.

Это оставляет меня со следующими вопросами:

  • На диске, где TRIM не включен, как это часто бывает с внешними дисками или настройками RAID, а также с более старыми дисками и операционными системами, когда диск становится почти заполненным, как он может узнать, когда куча материала была удален, так что он может сделать доступным кучу внутренних страниц? И если он не знает, как он может работать оптимально?

  • Почему операционные системы не регулярно сообщают обо всех доступных свободных секторах файловой системы на SSD через TRIM, поэтому SSD всегда может иметь как можно больше свободных внутренних страниц / блоков? (Насколько я понимаю, ОС сообщает только о свободных секторах файловой системы в тот момент, когда они становятся доступными, что означает, что страницы SSD могут оставаться внутренне недоступными, если TRIM не был включен с самого начала, или к внутреннему диску временно обращаются извне.)

  • Если в ОС включено шифрование всего диска, как это не сильно влияет на производительность? Разве не каждая внутренняя страница будет использоваться с точки зрения SSD?

  • Почему производители SSD не предоставляют инструменты для восстановления SSD до его первоначального заводского состояния со всеми деактивированными страницами по соображениям безопасности и производительности? (Единственный способ, которым я знаю, это сделать с помощью эзотерической утилиты Linux, которая может выдать команду ATA_SECURE_ERASE для встроенного ПО накопителя, и не всякому встроенному ПО можно доверять для правильного или всестороннего выполнения.)

Любое понимание будет оценено.

2 ответа2

1

Почему операционные системы не регулярно сообщают обо всех доступных свободных секторах файловой системы на SSD через TRIM, поэтому SSD всегда может иметь как можно больше свободных внутренних страниц / блоков? (Насколько я понимаю, ОС сообщает только о свободных секторах файловой системы в тот момент, когда они становятся доступными, что означает, что страницы SSD могут оставаться внутренне недоступными, если TRIM не был включен с самого начала, или к внутреннему диску временно обращаются извне.)

Они делают. Это выполняется с помощью автоматического обслуживания Windows каждую неделю или около того (с помощью Disk Defragmenter, который распознает твердотельные накопители с жестких дисков), а также еженедельно fstrim.timer в Linux.

Если в ОС включено шифрование всего диска, как это не сильно влияет на производительность? Разве не каждая внутренняя страница будет использоваться с точки зрения SSD?

Это зависит от того, проходит ли система шифрования информацию TRIM или нет. Часто это настраивается пользователем, позволяет выбирать между производительностью и полной конфиденциальностью.

(Сообщение SSD о том, какие страницы пусты, покажет ту же информацию посторонним - лично я не думаю, что это проблема, но некоторые люди не хотят, чтобы что- то просочилось.)

Почему производители SSD не предоставляют инструменты для восстановления SSD до его первоначального заводского состояния со всеми деактивированными страницами по соображениям безопасности и производительности? (Единственный способ, которым я знаю, это сделать с помощью эзотерической утилиты Linux, которая может выдать команду ATA_SECURE_ERASE для встроенного ПО накопителя, и не всякому встроенному ПО можно доверять для правильного или всестороннего выполнения.)

Производители SSD уже предоставляют инструменты для этого - и эти инструменты используют ATA_SECURE_ERASE.

Там нет разницы. Если бы у вас были инструменты, специфичные для поставщика, отправляющие команды, специфичные для поставщика, вам все равно пришлось бы доверять микропрограммному обеспечению привода, чтобы правильно и всесторонне реализовать их.

И было бы хуже на стороне хоста, потому что все, что у вас было бы, - это эзотерическая утилита Windows , о которой можно было бы быстро забыть и часто перестать работать со следующей версией Windows. (У меня все еще есть несколько инструментов, которые могут низкоуровнево форматировать USB-накопители, и все они требуют Windows XP.)

Между тем, ATA_SECURE_ERASE является довольно стандартным - есть программы для Windows, которые вызывают его, есть программы для Linux, некоторые из них графические, некоторые из них являются командной строкой, и все они работают независимо от марки или модели диска.

0

Я не думаю, что это возможно (стандартными командами) просто потому, что разбиение на страницы, как вы сказали, производится исключительно с помощью встроенного программного обеспечения (и то, как выполняется разбиение на страницы, имеет огромное значение для поставщиков SSD). Микропрограмма также поддерживает связь между свободными кластерами и свободными страницами, поэтому вы можете иметь 3 «логически смежных» сектора, распределенных по разным строкам (помните, что SDD должен удалить целую строку, чтобы удалить только одну страницу). Это то, чему меня учили, но в то время SSD не были мейнстримом, и я думаю, что они впервые говорили об этом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .