Включение trim os x el capitan. Trim Enabler — приложение для включения поддержки TRIM в OS X. Если вдруг понадобится отключить поддержку TRIM

Включение trim os x el capitan. Trim Enabler — приложение для включения поддержки TRIM в OS X. Если вдруг понадобится отключить поддержку TRIM

02.03.2019

Здравствуйте, уважаемые хабражители.

Этот перевод предназначен в первую очередь для тех, кто уже использует SSD диск и MacOS Lion. Лично я год с хвостиком радуюсь производительности SSD Intel X-25M и отсутствию карусельки смерти чего и вам от души желаю.

До сегодняшнего дня я был уверен, что мой SSD работает на 100% своих возможностей. Но не тут-то было! Если вы купили свой яблочный компьютер без SSD, то есть из магазина он выехал с обычным HDD, то обещанный во Льве TRIM у вас будет не активен , как оказалось только изначально укомплектованные SSD накопителем компьютеры имеют эту функцию по умолчанию. Проблема, как вы понимаете, в вызывающем вопросы маркетинге компании имеет софтверные корни, а не железные. И на эту подлянку от Apple мистер Грант Пеннэл предлагает свой болт с резьбой.

Прежде чем перейти непосредственно к переводу, предлагаю вам проверить, работает у вас TRIM или нет:

Если у вашего SSD контроллер SandForce 2***, то TRIM вам не рекомендуется. Как говорят очевиды всё дело в том, что контроллер SF2*** обрабатывает удалённую пользователем информацию своим особым образом и вообще хранит данные на диске в виде одного большого архива… подробности его работы и вытекающие проблемы описаны . Контроллером SF2*** оснащён достаточно широкий ряд устройств, в том числе популярный OCZ Vertex 3, поэтому обязательно загляните в и смотрите внимательно, есть ли ваш диск в этом списке, если да, то в колонке Controller определите порядковый номер, если он начинается на 2, то дальнейшие операции по включению TRIM могут только навредить. Для всех остальных пользователей SSD эта статья будет полезна:

Ни в коем случае не используйте программу TRIM ENABLER (1.1 или 1.2) для активации TRIM во Льве.

После небольшой проверки этого приложения я обнаружил, что вместо обычного патча она заменяет важнейший системный файл на уровне ядра системы. Это значит, что если вы использовали TRIM Enabler, то он заменил файл с массой тянущихся из него ниточек по всей MacOS (особенно актуально для тех кто переехал на Льва из MacOS Snow Leopard 10.6.8). А это плохо. Очень плохо. На ряду с тем, что TRIM действительно включается, появляется реальная опасность столкнуться с вагоном проблем, начиная от kernel panic и заканчивая проблемами ввода/вывода (I/O), и вот тогда-то вас точно настигнет вращающийся и пугающий пляжный мяч.

В процессе дискуссии с разработчиком этого приложения (Oskar Groth) я услышал лишь обвинения через комментарии к его блогу, что мол занимаюсь троллингом и нагоняю страху (хотя на самом деле и в большей мере я пытался предложить альтернативный вариант, который представлен ниже). Вероятно - в следующей версии TRIM Enabler - файл будет корректно патчится, вместо его прямой замены, тем не менее этого апдейта до сих пор не произошло.

Итак, вот правильный способ по включению поддержки TRIM. Для этого следует выполнить следующие команды в терминале:

1. Для начала делаем резервное копирование файла, который будем патчить:

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

2. Пропатчиваем файл, тем самым активируем поддержку 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

3. Чистим кэш:
sudo kextcache -system-prelinked-kernel

Теперь перезагружаемся!

Если вдруг понадобится отключить поддержку TRIM:

1. Отключение:
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

Sudo kextcache -system-prelinked-kernel

Sudo kextcache -system-caches


2. Восстановление файла из бэкапа:
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

Всё что делает этот патч, это замена фразы “APPLE SSD” на нули в файле IOAHCIBlockStorage. Это необходимо для того, что бы обойти ограничение самой Apple на использование только брендовых SSD дисков. Бэкап файла сохраняется в той же директории где лежит оригинальный файл.

Для проверки, активизировался ли TRIM, зайдите сюда: Об этом Mac > Отчёт о системе >

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

Разобравшись с TRIM Enabler и невзлюбив его метод я начал искать вменяемое решение… нашёл его .

Записи контрольных сумм MD5 для оригинала и пропатченного файл в 10.7.0 следующие:
Оригинал:
Изменённый:

Если вы уже использовали TRIM Enabler, вы можете сделать следующее:

  • Попытаться скопировать и заменить ключевой файл с другого Mac под управлением той же версии.
  • Попытаться скопировать и заменить ключевой файл из Раздела для восстановления (Откройте Дисковую утилиту > Mount Recovery HD)
  • Переустановить Льва
  • Ждать следующего апдейта OS до 10.7.* и надеяться, что ключевой файл будет заменён при обновлении (что, кстати, де-факто), и уже после этого применять нормальный патч.
Важно:
К сожалению придётся каждый раз проводить эту операцию после крупного обновления OS X 10.7.1 > 10.7.2 > 10.7.3 > и так далее... , ибо ключевой файл обновляется почти каждый раз при обновлении ОС (если оно не дежурное).
Конец перевода
Дальше в статье идут разжёвывания Википедии, что TRIM не работает на стандартных HDD, что компьютер не дурак и может отличить HDD от SSD, что SSD не может греться больше при активации TRIM, что патч никак не может повлиять на работу системы, так как не вносит никаких изменений в работу самого ядра, что если включить TRIM, а у вас HDD, то ничего не произойдёт и все команды будут просто игнорироваться… ну и так далее. В общем: так как автор назвался грибом, пришлось залезать в короб по самую шляпку и отвечать всем. При наличии подобных вопросов в местных комментариях - буду переводить его послесловия с префиксом «Update», порционно.

Результативных вам усTRIMлений. Спасибо за внимание.

TRIM:
Технология TRIM увеличивает скорость записи в те ячейки, где уже хранились какие-либо данные ранее. Иными словами, эти данные там хранятся и после их удаления. А при необходимости перезаписи на SSD отправляется команда освободить эти ячейки и только потом начинается запись. Таким образом уходит время и сокращается скорость записи. Технология TRIM позволяет контроллеру записывать данные в обход операции высвобождения ячеек. К примеру: заявленная скорость у моего SSD x-25M - до 70 Mb в секунду . Протестировав до активации TRIM - выдавало не больше 50 Mb/s, сейчас заявленные 65-70 Mb/s. Протестируйте свой SSD, возможно так-же недосчитаетесь 30% скорости при записи данных…

Update 1.0
Появилась информация, что TRIM в некоторых случаях вызывает проблемы на тех SSD, которые оснащены контроллером SandForce 2***, как говорят очевиды всё дело в том, что контроллер SF2*** обрабатывает удалённую пользователем информацию своим особым образом и вообще хранит данные на диске в виде одного большого архива… подробности его работы и вытекающие проблемы описаны .

Как оказалось контроллером SF2*** оснащён достаточно широкий ряд устройств, в том числе популярный OCZ Vertex 3, поэтому обязательно загляните в список SSD оснащённых контроллером SandForce и смотрите внимательно, есть ли ваш диск в этом списке, если да, то в колонке Controller определите порядковый номер, если он начинается на 2, то отключайте TRIM, инструкция есть выше.

Update 2.0

Данный метод перестал работать после апдейта системы до версии 10.8.1
Тем не менее TRIM Enabler работает, но в интернетах до сих пор встречаются мнения , что он может рушить систему. На свой страх и риск можете попробовать, проблемы уходят, если через эту-же программу отключить TRIM при их возникновений, но вы сами понимаете - всё это «вилами по воде» - если и проявляется, то индивидуально.

Когда найдётся метод без вмешательства в ядро системы - я о нём напишу; если кто-то из вас, уважаемые маководы, найдёт способ раньше, не поленитесь сообщить, пожалуйста.

Update 3.0 // Найден способ активация TRIM для системы 10.8.2

Благодарим пользователя shok , способ найден на просторах интернета .

Выполните следующие команды в терминале:
1. Резервное копирование оригинальных драйверов.

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-backup

2. Изменяем драйвер.
sudo perl -pi -e "s|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00{1,20})[^\x00]{9}(\x00{1,20}\x4D)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg" /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents /MacOS/IOAHCIBlockStorage

3. Выполняем две команды, чтобы очистить кэш OS X и забрать модифицированный драйвер.
sudo kextcache -system-prelinked-kernel sudo kextcache -system-caches

4. Перезагружаем Mac. Проверяем активацию TRIM

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

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

Apple и Microsoft, естественно, добавили нативную поддержку SSD накопителей в свои операционные системы (поддержка TRIM имеется в Windows начиная с 7, а в Mac OS X начиная с версии 10.6.6 ). Но «жуки» в Apple (за что я их недолюбливаю ) сделали пакость в виде поддержки команды TRIM только теми накопителями, которые поставляются Apple. Почему жуки? -Да потому что кекст, отвечающий за поддержку TRIM, делает нечто следующее: смотрит на прошивку SSD накопителя и ищет в ней строку APPLE SSD. Если такое имеется - ОК, TRIM будет работать для этого драйва; если искомой строки нет, то и TRIM’а для этого накопителя тоже нет. Таким образом, проапгрейдив свой Mac быстрым SSD накопителем стороннего производителя вы в скором времени получите отличный «ручник» вместо «ракеты». Но это уже в прошлом, успокойтесь. Спустя непродолжительное время в сети появилась инструкция для взлома системного kext’а (расширения ядра ), которое позволило активировать TRIM в Mac OS X для абсолютно всех SSD накопителей. А ещё спустя некоторое время Оскар Грот создал утилиту TRIM Enabler , которая в пару кликов позволила проделывать «хактивацию» системного кекста IOAHCIFamily.kext и, тем самым, производить активацию TRIM для изначально неподдерживаемых SSD накопителей. Работа этого хака проста как два пальца… Но это нужно же было найти?! В общем, кому интересно, хак заключается в следующем: берём бинарик кекста IOAHCIFamily.kext , который отвечает за поддержку TRIM и забиваем через HEX редактор нули вместо строчки APPLE SSD (она встречается в двух местах ). Таким образом хак делает с кекстом нечто такое, что логика его работы меняется на такую: если искомая строка равна «ничего» (чего быть вобще не может ), то мы активируем TRIM для этого накопителя. Как вы поняли способ включения команды TRIM в Mac OS X на SSD накопителях сторонних поизводителей есть и он очень прост. Кроме того этих способов как минимум два: ручной (при помощи консоли ) и автоматический (при помощи утилиты TRIM Enabler ). В этой заметке мы рассмотрим оба способа, а начнём со сложного, то есть с того, который реализуется при помощи терминала.

Включаем TRIM в Mac OS X ручками

Запускаем Терминал и выполняем последовательно нижеприведенные команды. Поле каждой команды нажимаем Enter для её выполнения. Я лично проверял работу этого метода, но так как у всех пользователей разные браузеры (теоретически ) могут возникнуть какие-либо неточности отображения. Поэтому рекомендую загрузить текстовый документ , в котором команды расположены построчно и 100% без ошибок, к тому же их удобно выполнять копированием-вставкой в окно Терминала. Приступаем…

1) Получаем права администратора (root’а ):
sudo -s

2) Делаем резервную копию оригинального драйвера:
cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/


3) Патчим бинарный файл в кексте IOAHCIFamily.kext:
perl -pi -e "s|(x52x6Fx74x61x74x69x6Fx6Ex61x6Cx00).{9}(x00x51)|$1x00x00x00x00x00x00x00x00x00$2|sg"
/System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/
IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

4) Чистим кеш:

5) Перезагружаемся.

Узнать о том, работает ли TRIM или нет очень легко: запускаем утилиту Информация о системе (/Applications/Utilities/System Information.app), слевой стороны выбираем пунктПоследовательный-ATA (Serial-ATA) и смотрим на строку Поддержка TRIM . Если Да - всё отлично, TRIM включился; если Нет - значит что то пошло не так:

Для восстановления оригинального (ранее зарезервированного ) драйвера, а точнее его исполнительной, части проделываем в Терминале следующее:
1) Получаем права администратора (root’а ):
sudo -s

2) Восстанавливаем оригинальный бинарный файл в кексте IOAHCIFamily.kext:
mv /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/
IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage-orig
/System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/
IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

3) Чистим кеш:
kextcache -system-prelinked-kernel; kextcache -system-caches

4) Перезагружаемся

Ручной способ - это несомненно хорошо (можно понять принцип работы того или иного хака, и, к тому же, наловчиться работе с терминалом) . Но это, так сказать, не Mac Way, а для новичков вобще что то загадочное и страшное (часто убивающее систему ). Поэтому рассказываю и о втором - автоматическом способе активации TRIM при помощи утилиты TRIM Enabler . Перед инструкцией хочу немного рассказать о самой утилите. Изначально она была реализована на AppleScript, а принцип работы заключался в автоматической подмене оригинального драйвера IOAHCIFamily.kext на изначально пропатченный драйвер взятый из Mac OS X 10.6.8. Как вы понимаете это не очень хорошо, особенно если речь идёт об включении TRIM в операционной системе отличной от Mac OS X 10.6.8 Snow Leopard. По этой причине версия TRIM Enabler 1.x была несовместима с Mac OS X Lion. Сейчас Оскар Грот - автор утилиты, выпустил вторую версию. По заявлению автора онацеликом и полностью была переписана на Objective-C, обзавелась дополнительным функционалом для мониторинга S.M.A.R.T., и, что самое главное, теперь она не подменяет, а именно патчит имеющийся системный драйвер. На момент написания данной заметки последний билд имел порядковый номер 2.0 Beta 4 . В курс дела ввёл, теперь перейдём к самой утилите и посмотрим как она работает.

Включаем TRIM в Mac OS X при помощи TRIM Enabler

1. Скачиваем TRIM Enabler и двойным кликом по архиву распаковываем его в удобное место;
2. Запускаем TRIM Enabler.app ;
3. Перетягиваем переключатель из положение OFF в положение ON ;
4. Вводим пароль администратора и ждём около минуты (на всякий случай );
5. Перезагружаем Mac.

После перезагрузки запускаем утилиту Информация о системе , выбираем пунктПоследовательный-ATA , смотрим на строку Поддержка TRIM в поисках заветного слова «Да «:

Всё, TRIM работает! Для восстановления оригинального драйвера достаточно передвинуть переключатель из положение ON в положение OFF . На этом всё.

Привет! Не так давно в свет вышла новая Mac OS под названием Sierra и дабы идти в ногу со временем, я решил обновить свой iMac до последней верссии 10.12. Ранее мною был приобретен внешний SSD от Samsung, скорость работы которого меня всегда безумно радовала. Так же в предыдущей версии Mac OS в ручную мне пришлось активировать режим TRIM. В данной статье мне хотелось бы поделится с вами как это сделать в новой версии (и наверняка во всех последующих т.к. все стало донельзя просто).

Не трудно догадаться, что речь сейчас пойдёт о вещи под названием TRIM. Что это такое?

TRIM — это ATA команда, которая позволяет операционной системе оповестить твердотельный накопитель о неиспользуемых блоках, информация на которых может быть удалена или повторно перезаписана. Ввиду того, что на низком уровне операции записи/перезаписи на SSD накопителях существенно отличаются от таковых на HDD накопителях, обычные методы операционных систем для удаления, форматирования или перезаписи информации приводили к прогрессирующему ухудшению производительности операций записи на твердотельных накопителях. Введение поддержки команды TRIM позволило операционной системе очищать неиспользуемые ячейки перед тем, как в них будет произведена запись информации. Это позволило существенно уменьшить время доступа к данным и предотвратить процесс ухудшения производительности SSD накопителей.

Иными словами, на системе, где не работает TRIM, твердотельный накопитель со временем (примерно после полного цикла записи всего объёма) станет работать гораздо медленнее. На компьютерах Mac, которые изначально поставлялись с SSD накопителем, TRIM работает прямиком «из коробки». А вот для пользователей, которые в свой Mac сами устанавливали SSD накопитель от какого-либо другого бренда, ситуация немного другая. Виду «странной» политики компании Apple, «завести» TRIM в OS X для сторонних SSD’шек оказалось не так уж и просто. Для этого нужно было патчить системный KEXT (расширение ядра, в простонародье — драйвер) , и делать это приходилось практически после каждого обновления системы. С выходом OS X Yosemite ситуация ещё немного ухудшилась, так как в OS X 10.10 системные расширения и утилиты стали подписывать цифровой подписью, которая нарушалась при патчинге KEXT’а. Без цифровой подписи ядро операционной системы отказывалось грузить драйвер, без драйвера не запускался накопитель, система переставала грузиться. Но и для этого было найдено решение в виде специального параметра, который записывался в NVRAM и указывал ядру ОС, что неподписанные драйверы нужно всё равно загружать. В общем, был головняк. Но «Капитан» всё изменил.

Начиная с версии OS X 10.11 (то есть с El Capitan) для активации TRIM на всех SSD накопителях достаточно выполнить одну единственную команду, после которой TRIM будет работать штатно и всегда, без всяких патчингов и манипуляций с системой. Запускаем Терминал и выполняем команду:

sudo trimforce enable

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

This tool force-enables TRIM for all relevant attached devices, even though they have not been validated for data integrity while using that functionality. By using this tool to enable TRIM, you agree that Apple is not liable for any consequences that may result, including but not limited to data loss or corruption.

С уверенностью в 99,999% можно игнорировать предупреждение и нажать клавишу Y и Enter . После этого система перезагрузится. В итоге, после перезагрузки, TRIM будет активирован и для его повторной активации лезть в систему больше никогда не понадобится:

Будьте в курсе всех важных событий United Traders - подписывайтесь на наш

Как сменить HDD на SSD у Mac, как включить TRIM на OS X и тесты производительности HDD vs SSD

13.11.13 в 13:34

С каждым годом твердотельные накопители SSD становятся все дешевле и имеют все большой объем. Некоторые пользователи, чаще те, у которых срок технической поддержки истек решаются сами на замену HDD на более быстрые, надежные, безшемные SSD. Однако, работа HDD отличается способом записи данных от SSD, если первые записывали и стирали информацию магнитнымо головками, то в случае с SSD ячейки хранящие данные помечаются как доступные для записи данных поверх программно.

Для того, чтобы SSD накопитель знал какие ячейки были удалены операционной системой и доступны для перезаписи была придумана команда TRIM, которая позволяет OS X уведомлять твердотельный накопитель о том, какие блоки данных уже не содержатся в файловой системе и могут быть использованы накопителем для физического удаления.

Каждый SSD, который продается вместе с Mac уже имеет поддержку команды TRIM, но если вы заменяете HDD на SSD самостоятельно команду TRIM нужно включить вручную. Инструкция по замене HDD на SSD для Mac доступна на сайте iFixit .

Что будет если не включить TRIM?

Если вы забудите или просто по незнанию не включите TRIM свободное место на новеньком SSD закончится. OS X не сможет уведомлять SSD о том, что ячейки освободились, не смотря на то, что корзина с файлами была очищена.

Как включить TRIM на OS X

Приложение Trim Enabler ($10) создано для того, чтобы включать команду TRIM для SSD, которые были куплены отдельно от Mac. Установив и запустив приложение включите поддержку TRIM в главном окне приложения. Если ваш SSD поддерживает это, TRIM будет включен.

В настройках приложения можно поставить галочку: Warm if trim patch is disabled (уведомлять, если TRIM отключен), что позволит приложению следить не отключился ли TRIM, например, после установки обновления системы.

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

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

Sudden Motion Sensor (по умолчанию включен). SMS используется портативными Mac для того, чтобы ставить жесткий диск на паузу, когда он находится в движении (например падении). Это сделано для того, чтобы при падении ноутбука Apple пишущая головка HDD не повредила информацию. Если ваш Mac имеет лишь SSD диски этот параметр можно отключить, чтобы чуть снизить потребление аккумулятора.

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

Local Time Machine . Time Machine временно сохраняет бекапы, когда не подключена к внешнему накопитлю, использующемуся для хранения архивов Time Machine. Отключив эту функцию вы запретите диску делать это, что сэкономит какое-то место на диске.

Третья вкладка создана для тестирования SSD диска на производительность. После выбора объема тестового файла и запуска будет отображены результаты на скорость чтения, записи данных.

Стоит ли покупать Mac с SSD или устанавливать его самостоятельно?

Если вы все еще задаетесь вопросом, относительно того, нужен ли SSD вашему Mac и насколько разница в приросте производительности между HDD и SSD, то мы рекомендум ознакомиться с нашими некоторыми тестами. Тестировался MacBook Pro (mid 2012) с базовым HDD, который был заменен на SSD OCZ Vertex 4, VTX4-25SAT3-128G.

Результаты тестов показывают прирост скорости при запуске приложений в некоторых случаях в 2 раза, при использовании SSD, а полный запуск OS X ускорился в 5 раз.

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

Что такое TRIM

У электронных (SSD) дисков есть отличие от магнитно-механических (HDD) которое влияет на скорость записи. В HDD дисках запись выполняется «поверх» старых данных. Блоки диска, которые ранее содержали данные, а затем эти данные были удалены, просто помечаются как свободные. И когда нужно выполнять запись, контроллер HDD сразу записывает новые данные в эти свободные блоки.

Но при использовании флэш-памяти, блоки которые ранее содержали какую-то информацию, перед записью должны быть очищены. Это приводит к тому, что при записи в ранее использованные блоки скорость записи сильно падает, ведь контроллеру нужно их подготовить для записи (очистить).

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

Поэтому при использовании SSD дисков возникает эффект «деградации производительности». Когда диск новый и все блоки флэш-памяти чистые тогда скорость записи очень высокая, паспортная. Но после того как диск будет полностью заполнен и после этого часть файлов будет удалена, повторная запись будет происходить на более низкой скорости. Из-за того, что контроллеру диска придется очищать ранее использованные блоки флэш-памяти, перед записью туда новых данных.

Падение скорости записи в повторно используемые блоки флэш-памяти может быть очень высоким. До значений близких к скорости записи HDD дисков. При тестировании SSD дисков часто даже проводят отдельную проверку на снижение скорости записи в повторно используемые блоки.

Для борьбы с этим явлением, в новые ОС добавлена дисковая команда ATA TRIM. Драйвер файловой системы при удалении файла отправляет контроллеру SSD диска команду TRIM. По этой команде контроллер SSD диска очищает освобожденные блоки флэш-памяти, но делает это в фоновом режиме, в перерывах между операциями чтения и записи.

Иными словами, на системе, где не работает TRIM, твердотельный накопитель со временем (примерно после полного цикла записи всего объёма) станет работать гораздо медленнее. На компьютерах Mac, которые изначально поставлялись с SSD накопителем, TRIM работает прямиком «из коробки». А вот для пользователей, которые в свой Mac сами устанавливали SSD накопитель от какого-либо другого бренда, ситуация немного другая. Виду «странной» политики компании Apple, «завести» TRIM в OS X для сторонних SSD оказалось не так уж и просто. Для этого нужно было патчить системный KEXT (расширение ядра, в простонародье - драйвер) , и делать это приходилось практически после каждого обновления системы.

С выходом OS X Yosemite ситуация ещё немного ухудшилась, так как в OS X 10.10 системные расширения и утилиты стали подписывать цифровой подписью, которая нарушалась при патчинге KEXT’а. Без цифровой подписи ядро операционной системы отказывалось грузить драйвер, без драйвера не запускался накопитель, система переставала грузиться. Но и для этого было найдено решение в виде специального параметра, который записывался в NVRAM и указывал ядру ОС, что неподписанные драйверы нужно всё равно загружать. В общем, был головняк. Но «Капитан» всё изменил.

Начиная с версии OS X 10.11 El Capitan для активации TRIM на всех SSD накопителях достаточно выполнить одну единственную команду, после которой TRIM будет работать штатно и всегда, без всяких патчингов и манипуляций с системой. Запускаем Терминал и выполняем команду:

sudo trimforce enable

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

This tool force-enables TRIM for all relevant attached devices, even though they have not been validated for data integrity while using that functionality. By using this tool to enable TRIM, you agree that Apple is not liable for any consequences that may result, including but not limited to data loss or corruption.

С уверенностью в 99,999% можно игнорировать предупреждение и нажать клавишу Y и Enter . После этого система перезагрузится. В итоге, после перезагрузки, TRIM будет активирован и для его повторной активации лезть в систему больше никогда не понадобится:

Удаленные данные и их восстановление

Если использовать Trim, то о восстановлении удаленных данных можете забыть. Если удалить файл, то все его данные на SSD дисках будут полностью уничтожены.

Так как же влияет Trim на скорость записи?

Нужно понимать, что применение или отсутствие функции Trim напрямую не повлияет на скорости записей на SSD диски. Повлияет на это единственный фактор - присутствие достаточного количества пустых блоков flash памяти. То есть тех блоков, которые полностью очищены контроллером диска и приготовлены для записи на них новых данных.

Проще говоря, скорости записи зависят от количества свободного места на SSD диске. Если же ваш диск практически полностью занят, то и скорости записи упадут даже в том случае, если вы пользуетесь Trim. А в том случае, если у вас не менее 20-30% емкости SSD диска остаются без разметки (unallocated disk space), то можете обходиться и без использования функции Trim. Контроллер SSD диска будет применять неиспользуемое место под разделы для того, чтобы выровнять скорость записи.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows