SSD-диски, в отличие от HDD, имеют одну дополнительную команду вдобавок к READ и WRITE на блочном уровне. Эта команда называется TRIM и сообщает прошивке SSD-диска о том, что заданный блок больше не используется файловой системой: так что теперь он может тихо изменить своё содержимое, и это не создаст никому проблем. Следующая команда WRITE в этот блок опять займёт его.
TRIMы нужны прошивке SSD-диска для того, чтобы эффективно организовать wear leveling: балансировку износа физических ячеек памяти. Балансировка достигается тем, что пишущая нагрузка распределяется равномерно по поверхности диска, а для этого надо иметь свободные блоки в запасе — если всё занято, особо не побалансируешь.
В общем, TRIM как раз и нужна для того, чтобы прошивка SSD-диска знала, где занято, а где свободно, и соответственно использовала свободные блоки для своих задач.
Однако, не все ОС и не все файловые системы поддерживают TRIM. TRIM, если где-то и поддерживается, то не всегда прозрачно проходит через все преобразования блочных устройств, такие как RAID, LVM, шифрование; также недоступна в специальных ФС, таких как своп, внешний журнал или L2ARC.
Кстати, TRIMы никогда не будут проходить через слой шифрования (такой как TrueCrypt, geli и gbde) — т.е. это не временный недостаток реализации, а именно фича, так и должно быть по соображениям безопасности.
Disk imaging software (Norton Ghost, Acronis Disk Director и т.п.) обычно тоже не расставляют тримы при восстановлении образа ФС, и не имеют поддержки для них на уровне формата файлов-образов.
Что делать?
Всё просто. Есть универсальный рецепт: перед разметкой разделов TRIMнуть весь диск, и оставить 15-20% дискового пространства не принадлежащим ни одному из разделов. С этого момента даже полная неподдержка TRIM операционной системой и драйверами не имеет никакого значения.
TRIMы нужны прошивке SSD-диска для того, чтобы эффективно организовать wear leveling: балансировку износа физических ячеек памяти. Балансировка достигается тем, что пишущая нагрузка распределяется равномерно по поверхности диска, а для этого надо иметь свободные блоки в запасе — если всё занято, особо не побалансируешь.
В общем, TRIM как раз и нужна для того, чтобы прошивка SSD-диска знала, где занято, а где свободно, и соответственно использовала свободные блоки для своих задач.
Однако, не все ОС и не все файловые системы поддерживают TRIM. TRIM, если где-то и поддерживается, то не всегда прозрачно проходит через все преобразования блочных устройств, такие как RAID, LVM, шифрование; также недоступна в специальных ФС, таких как своп, внешний журнал или L2ARC.
Кстати, TRIMы никогда не будут проходить через слой шифрования (такой как TrueCrypt, geli и gbde) — т.е. это не временный недостаток реализации, а именно фича, так и должно быть по соображениям безопасности.
Disk imaging software (Norton Ghost, Acronis Disk Director и т.п.) обычно тоже не расставляют тримы при восстановлении образа ФС, и не имеют поддержки для них на уровне формата файлов-образов.
Что делать?
Всё просто. Есть универсальный рецепт: перед разметкой разделов TRIMнуть весь диск, и оставить 15-20% дискового пространства не принадлежащим ни одному из разделов. С этого момента даже полная неподдержка TRIM операционной системой и драйверами не имеет никакого значения.