SSD: TRIM, garbage collection и режимы энергосбережения | Интернет интересности и полезности

SSD: TRIM, garbage collection и режимы энергосбережения

Доброго времени суток, дорогие друзья! Не так давно, у меня возникла мысль провести апгрейд дисковой подсистемы своего MacBook’а и Mac Pro. После мучительного выбора между покупкой нового быстрого жесткого диска или покупкой SSD (эту часть я пропущу, чтобы не занимать ваше драгоценное время), выбор пал на последний, что побудило меня к изучению массы дополнительного материала, касающегося дальнейшей оптимизации операционной системы для быстрой и, главное, долговечной работы установленного SSD.

SSD: TRIM, garbage collection и режимы энергосбережения

 

На тему оптимизации системы написано огромное количество статей с рекомендациями, смысл которых сводится к изменению ряда настроек операционной системы. Рекомендации эти однотипны, их перечень Вы увидите чуть ниже: проблема лишь в том, что некоторые из них мне показались сомнительными. В частности, в список «неблагонадежных» попали рекомендации по отключению режимов энергосбережения дисковой подсистемы компьютера. Об этом я и хочу сегодня поговорить.

Оптимизация операционной системы для работы с SSD

Приведу список, который в той или иной форме можно найти на большинстве сайтов. Для Mac OSX, например, он будет выглядеть следующим образом:

  1. 1.Активация технологии TRIM (советую почитать про эту команду, например, в Википедии);

  2. 2.Отключение кеширования в веб-браузерах;

  3. 3.Переключение режима сна (гибернации) компьютера;

  4. 4.Отключение Spotlight;

  5. 5.Отключение функции «перевод SSD накопителя в режим сна»;

  6. 6.Отключение функции noatime (запись времени последнего доступа к файлу);

  7. 7.Отключение файла подкачки;

  8. 8.Последующая чистка загрузочного кеша.

P.S. Следует уточнить, что для других операционных систем этот список будет таким же с небольшими вариациями.

Если с пунктами 1-4, 6-8 все более-менее понятно (хотя пункты 2, 4 и 7 у меня тоже вызывают большие сомнения), пункт «Отключение перевода SSD накопителя в режим сна» привел меня в легкое замешательство.

Я, конечно, понимаю, что работающий твердотельный накопитель потребляет очень мало электроэнергии (от 0.06 Вт в простое до 0.15 Вт в активном режиме) и отключение этой функции энергосбережения ни как не скажется на общем энергопотреблении компьютера (или, в случае ноутбука, на времени работы от аккумулятора). Но как, например, быть если в компьютере/ноутбуке вместе с SSD установлен еще и обычный жесткий диск? (если Вы, вдруг, не знаете: второй жесткий диск можно установить практически в любой ноутбук вместо родного комбо-привода, для этого существуют специальные переходники). Ведь, если отключить функцию «перевод дисков в режим сна» второй HDD тоже не будет засыпать, а это уже довольно ощутимо скажется на времени автономной работы ноутбука, да и постоянно «молотящие» жесткие диски стационарного компьютера мало кого обрадуют.

Тут стоит немного остановиться и уточнить: функция «по возможности переводить диски в режим сна» (именно так она называется в Mac OSX) позволяет «усыплять» накопители компьютера в те моменты, когда к ним нет обращений операционной системы. Блины диска перестают вращаться, головки паркуются — жесткий диск «спит». Как только к диску происходит обращение, он просыпается и начинает считывать/записывать информацию. Такой алгоритм работы позволяет существенно уменьшить энергопотребление и шум системы в целом.

Естественно, после глубокого понимания всего вышеописанного, у меня и возник вопрос: «А зачем вообще отключать эту функцию при установке в компьютер SSD?».

Зачем отключать функцию «перевод дисков в режим сна»

Быстро найти внятный ответ на этот вопрос не удалось и пришлось обращаться к первоисточникам, а именно посетить сайты крупнейших мировых производителей твердотельных накопителей. И вы не поверите: я нашел ответ!

Вот что, в частности, пишут на форуме поддержки пользователей сайта crucial.com:

«Since not all operating systems support TRIM, Crucial SSDs have a special feature called Active Garbage Collection. Active Garbage Collection is a process that helps an SSD maintain optimal performance by freeing up memory sectors that are no longer in use. Garbage collection is part of the SSD itself and thus not dependent on your computer’s operating system. Since garbage collection is part of the SSD’s firmware, it works regardless of which operating and filing systems your computer is using.

Note: Garbage collection only works when your Crucial SSD is idle, so make sure to configure your system so it doesn’t go to sleep when it’s idling. Garbage Collection takes time to do its job, but as long as it gets time to idle every now and then, your Crucial SSD will maintain its high level of performance over time…»

Здесь я привел только заключительную часть с непосредственным ответом на мой вопрос, полный текст статьи смотрите в статье: «TRIM and SSD performance: why is it important?». Сайт компании Crucial взят для примера, аналогичные материалы можно легко найти и на веб-ресурсах других производителей SSD.

Вольный перевод на русский язык даст нам следующее:

«Поскольку не все операционные системы поддерживают TRIM, твердотельные накопители Crucial имеют специальную функцию под названием Active Garbage Collection (далее — самоочистка, уборка мусора). Active Garbage Collection это процесс, который помогает SSD поддерживать оптимальную производительность за счет высвобождения секторов, которые больше не используются. Active Garbage является частью внутренней прошивки SSD и работает независимо от используемой операционной системы.

Функция уборки мусора работает только, когда Crucial SSD находится в режиме ожидания, так что не забудьте настроить систему так, чтобы она не переходила в режим сна, когда SSD бездействует…»

Вот и ответ на мой вопрос: микропрограммы контролеров современных SSD имеют встроенную функцию самоочистки (эдакий внутренний аналог TRIM’а, очень приближенно конечно). Работает она сама по себе, не зависимо от установленной операционной системы и выполняет функции аналогичные TRIM. Для эффективной работы этого внутреннего механизма необходимо, чтобы во время бездействия накопителя, операционная система не переводила SSD в режим сна и сам компьютер не спал.

Получается, одно из этих условий мы и обеспечиваем отключая функцию энергосбережения «перевод дисков в режим сна». Второе условие: как можно чаще оставлять компьютер бездействовать не давая ему засыпать.

Но не все так просто: все вышесказанное справедливо лишь в том случае, если ваша операционная система вообще не имеет поддержки команды TRIM, или Вы не смогли или не захотели включить ее для своего SSD.

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