Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Забанен


Сообщения: 6158
Благодарности: 1300

Профиль | Цитировать


Я так вижу, у многих непонятки по поводу загадочной команды TRIM. Позволю себе немного ликбеза.

Многие наверняка в курсе, что при работе классических ФС файлы не удаляются, удаляются лишь записи о них в управляющих структурах ФС. На этом, кстати, основана работа всяческих утилит по восстановлению файлов. В случае с HDD это прекрасно работает, поскольку ему всё равно, есть информация в записываемом секторе, или нет. Но NAND flash так не работает - ей для записи необходимо предварительно очистить ячейку. Итак, что мы имеем - пока есть свободные ячейки, запись происходит со свистом, как только они кончаются, производительность резко падает, поскольку перед записью теперь необходимо очищать ячейку. Кое-кто даже посчитал - производительность падает аж в 40(!) раз. Тут-то на помощь и приходит новая ATA команда TRIM, приказывающая контроллеру, а через него и SSD, очистить ячейку при удалении занимавшего её файла. Скорости это не добавляет, но спад производительности практически нивелируется теми же дисковыми буферами (sync обычно отложен). Однако, на томах, где данные часто перезаписываются, например СУБД, это может быть заметно, потому об этом следует помнить. Также, у меня нет особой ясности, как обстоят дела с массивами - про сочетание RAID с TRIM говорят всякое, но невнятно. Разумеется, драйвер ФС должен уметь выдавать эту команду TRIM, а старые ОС, естественно, об этом ничего не знают. Возможно, там поможет сторонний драйвер, упомянутый Ghost. Также следует помнить, в силу вышесказанного, что утилиты по восстановлению случайно или злонамеренно удалённых данных работать не будут.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:23, 09-02-2012 | #13