Продлеваем жизнь и ускоряем твердотельный накопитель

HDDЕсли вы решили сделать апгрейд своего мака и установить в него твердотельный накопитель (SSD), приятной новостью для вас станет поддержка в OS X Yosemite функции TRIM для накопителей от сторонних производителей. Сторонних — это когда твердотельник куплен не у Apple непосредственно.

Если термин TRIM вам не знаком — не спешите, все растолкуем, а там, глядишь, и апгрейд мака захотите сделать и mac03.ru с советами, где дешевле и что качественнее — тут как тут. 😉

Углубимся немного в принципы работы твердотельных накопителей. SSD (для краткости твердотельные накопители в дальнейшем мы будем называть именно этой аббревиатурой) хранят данные в ячейках флеш-памяти, сгруппированных  в страницы, которые, в свою очередь, сгруппированы в блоки (обычно по 128 страниц или 512 Кб). Когда вы удаляете какой-либо файл, система помечает соответствующие ячейки как неиспользующиеся, но сами данные в них остаются. Более того файловая система отмечает ячейки только для себя, то есть сам SSD не знает какие из заполненных ячеек используются, а какие нет. Но, из-за технологических особенностей SSD, запись может быть произведена только в пустые ячейки. Таким образом, при записи данных в ячейку, которая уже использовалась, её сначала придется очистить и лишь после этого записать новые данные. Вдобавок, несмотря на то, что запись может вестись постранично, удаление возможно только для целого блока разом. Поэтому целевой блок проверяется на наличие ещё нужных страниц, которые будут перенесены в другие блоки, и лишь после этого произойдет очистка блока и запись в него новых данных. Конечно, на примере одного блока, процесс кажется не таким уж сложным, но представим себе, что мы хотим сохранить на диск аудиозапись объемом 10 Мб. В этом случае перед записью SSD придется обработать 2560 страниц данных и, возможно, часть из них перенести. А что будет, если на месте аудиофайла будет, например, фильм объемом 4Гб? Из всего сказанного выше следует, что когда на вашем накопителе заканчиваются пустые ячейки, его производительность резко падает из-за того, что на перезапись данных требуется намного больше времени, чем на их запись в пустые ячейки.

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

До версии OS X 10.10.4 команда TRIM поддерживалась только для Apple SSD, и для эффективного использования твердотельных накопителей сторонних производителей необходимо было использовать специальные утилиты, например, Trim Enabler. С выходом OS X 10.10.4 TRIM можно активировать простой командой в Терминале. Однако, на всякий случай, для тех, кто по какой-то причине не обновил систему, мы рассмотрим оба варианта.

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

Активация TRIM при помощи Терминала

Перед тем как активировать TRIM на своём компьютере, убедитесь, что у Вас есть полная и актуальная резервная копия системы и пользовательских данных.

  1. Запустите Терминал из папки «Утилиты».
  2. Введите команду sudo trimforce enable
  3. Нажмите клавишу ⏎Enter, затем введите пароль от учётной записи администратора и снова нажмите ⏎Enter.
  4. Наконец, подтвердите, что вы действительно хотите включить TRIM, ведя букву Y и снова нажав клавишу ⏎Enter, после чего компьютер автоматически перезагрузится.

Стоит заметить, что компания Apple не гарантирует, что TRIM будет корректно работать со всеми устройствами.  У некоторых устройств активация TRIM может, наоборот, уменьшить производительность, а иногда даже привести к нарушениям в работе системы или повреждению данных. Если вы обнаружили, что в работе системы возникли проблемы или производительность вашего SSD значительно снизилась, стоит отключить TRIM.

  1. Снова запустите Терминал из папки «Утилиты».
  2. Введите команду sudo trimforce disable
  3. Введите пароль от учётной записи с правами администратора и снова подтвердите свой выбор введя букву Y, когда это потребуется.

Активация TRIM при помощи TrimEnabler

Благодаря простому и удобному интерфейсу утилиты TrimEnabler от компании Cindory активацию и деактивацию TRIM можно осуществить практически за один клик (не все просто только в OS X версий с 10.10.0 по 10.10.2, о которых мы расскажем чуть позже).

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

Trimenabler2По завершении загрузки откройте полученный образ, перетащите из него Trim Enabler в папку «Программы» и запустите двойным кликом. При первом запуске потребуется ввести пароль от учетной записи с правами администратора, после чего откроется окно программы.

Для включения TRIM достаточно в открывшемся окне перевести переключатель в положение «On», после чего перезагрузить компьютер.

Использование TrimEnabler в OSX Yosemite версий 10.10.0-10.10.2

Официально Cindori не гарантирует стабильную работу TrimEnabler в OSX 10.10.0 — 10.10.2. Объясняется это тем, что в OSX Yosemite компания Apple ввела жёсткий контроль цифровых подписей драйверов в качестве нового средства защиты системы. Если драйвер был оптимизирован или у него отсутствует цифровая подпись, то система просто не будет его загружать. В более ранних версиях TrimEnabler (до 3.3) при запуске программы проверялась версия системы и предлагалось отключить эту функцию в случае необходимости. Однако, очень часто это приводило к нарушениям в работе системы, а иногда система вообще переставала грузиться. В связи с этим, начиная в TrimEnabler 3.3 эти версии системы просто не поддерживаются, и при запуске программы выводится сообщение с просьбой обновиться на более новую версию.

stopsignЕсли вдруг вы все-таки решили рискнуть, нашли более старую версию TrimEnabler, попытались активировать TRIM и в результате при загрузке системы вместо привычного яблока увидели значок «стоп», есть способ исправить эту проблему и вернуть все, как было.

 

  1. Выключите компьютер, зажав клавишу питания на 10 секунд, пока экран не погаснет.
  2. Снова включите компьютер, зажав сочетание клавиш ⌘Command + R, чтобы загрузиться в Режиме Восстановления.
  3. Запустите Терминал из меню «Утилиты»
  4. Введите следующий набор команд:
    nvram -d boot-args
    cp -rf /System/Library/Extensions/IOAHCIFamily.kext /Volumes/"Your Disk Name"/System/Library/Extensions/IOAHCIFamily.kext
    chown -R root:wheel /Volumes/"Your Disk Name"/System/Library/Extensions
    chmod -R 755 /Volumes/"Your Disk Name"/System/Library/Extensions
    touch /Volumes/"Your Disk Name"/System/Library/Extensions
    kextcache -u /Volumes/"Your Disk Name" Где «Your Disk Name» — имя тома, на котором находится ваша система, например, «Macintosh HD». Если имя тома состоит из нескольких слов, разделенных пробелами, заключите его в кавычки.
  5. Дождитесь завершения операций (это может занять около 10 минут, не прерывайте процесс!) и перезагрузите компьютер.

В результате, система должна загрузиться успешно, а TRIM будет отключен.

Данный эксперимент повторять настоятельно не рекомендуем. Намного проще обновить систему до более новой версии и только после этого активировать TRIM одним из описанных выше способов.

О Дмитрий Архипов

Специалист технической поддержки пользователей.
Метки , , , , , . Закладка постоянная ссылка.