Включить поддержку TRIM в Mac OS X

трим

Каждый, кто купил ssd для компьютера Apple, ожидал с нетерпением поддержки TRIM. Почти все новые твердотельные накопители поддерживают TRIM, тем не менее, требуется также поддержка и на уровне системы, чего не наблюдалось и в OS X.

Дело в том, что со временем твердотельные SSD теряют до 50% производительности, если не производится Secure Erase, нет поддержки Garbage Collection или не работает поддержка TRIM.

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

Secure Erase, как возвращение к заводской скорости, помогает до тех пор, пока остаются чистые блоки, но как только все свободные блоки были один раз использованы требуется повторное стирание диска (либо нужно смириться с деградацией); в этом случае, чем больше диск, тем лучше. TRIM (команда ATA) призван делать почти то же, что и Secure Erase, только без необходимости полного стирания диска, и только для тех блоков, которые были отмечены как свободные.

Garbage Collection – это задача ssd контролера; выделение тех блоков, которые не используются (можно стирать), и на которые можно писать информацию. Garbage Collection лучше чем ничего, но не может заменить TRIM.

Проблема деградации особо остро встает перед тем, кто купил ssd маленького объема; чем меньше накопитель, тем быстрее он проходит полный цикл записи, чем меньше накопитель, тем меньше реального свободного места для записи.

Для того, чтобы избежать этой проблемы, установите второй HDD для аудио и видео закачек, и т.д.

Как включить ТРИМ самостоятельно?

Однако, включить TRIM можно с помощью Trim Enabler — эта утилита работает и в 10.8.

Пошаговое руководство:

  1. Скачать программу TRIM Enabler и запустить
  2. Сделать backup и запустить утилиту
  3. Запустить «восстановить права доступа» в Disk Utility
  4. Перезапустить компьютер (можно раза два-три)
  5. Выключите TRIM, если возникли какие-то проблемы

Проверка работы TRIM

проверка работы trim

Способ запуска команды TRIM с помощью терминала

Итак, пошаговое руководство запуска команды TRIM с помощью терминала:

Сделать backup файла, который будет пропатчен

sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage.original

Запустить TRIM

sudo perl -pi -e ‘s|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00{1,20})[^\x00]{9}(\x00{1,20}\x51)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg’ /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

Почистить кэш

sudo kextcache -system-prelinked-kernel

sudo kextcache -system-caches

Перезапуск!!!

Остановить TRIM, если возникнет необходимость и почистить кэш

sudo perl -pi -e ‘s|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00).{9}(\x00\x51)|$1\x41\x50\x50\x4C\x45\x20\x53\x53\x44$2|sg’ /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

Восстановить файл из backupa

sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage.original /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *


Срок проверки reCAPTCHA истек. Перезагрузите страницу.