- [OS X] Включаем нативную поддержку TRIM для сторонних SSD
- Лонгриды для вас
- Как включить поддержку TRIM для SSD сторонних производителей в Mac OS X
- Активация TRIM в Mac OS X (ниже 10.10.4) для любых SSD накопителей
- Возможно ли включить TRIM для внешнего SSD?
- [SSD only] Активация TRIM в Mac OS Lion / Mountain Lion 10.8
- Если вдруг понадобится отключить поддержку TRIM:
- Update 2.0
- Update 3.0 // Найден способ активация TRIM для системы 10.8.2
[OS X] Включаем нативную поддержку TRIM для сторонних SSD
Некоторые версии купертиновской компьютерной ОС не обещают привычного множества новых функций. Большинство изменений в таких релизах сосредоточены «под капотом», и многие из них на первый взгляд не особо заметны. Однако значимость их от этого не страдает, и об одной из таких «скромных» опций мы расскажем в данном материале.
Выпуском новых версий своей системы Apple радует не только жаждущих бесплатного обновления пользователей более старых Mac, но и тех из них, кто решил сделать апгрейд устройства и установить вместо медленного винчестера современный твердотельный накопитель. Речь идёт, конечно, об отличных от фирменных «яблочных» SSD-дисках, ведь начиная с 10.10.4 для них добавлена возможность включить поддержку метода TRIM, с помощью которого операционная система сообщает накопителю о уже удаленных из таблицы файлов данных. Этой цели в OS X служит команда trimforce.
Прежде, чем продолжить, настоятельно рекомендуем выполнить резервное копирование данных при помощи Time Machine или любым удобным вам способом. Также напоминаем, что выполнение операции производится на ваш страх и риск: корпорация Apple не может гарантировать работу инструмента для аппаратного обеспечения сторонних производителей, которое не прошло должного тестирования на предмет совместимости с TRIM, и, как следствие, сохранность хранимых на нём данных может оказаться под вопросом. Об этом честно уведомляет встроенное предупреждение.
Итак, для того чтобы принудительно включить поддержку TRIM для выбранного накопителя, нам понадобится любимое народными массами приложение «Терминал», расположенное по умолчанию в папке «Утилиты». Далее вводим вот такую команду (потребуется пароль администратора, при вводе не отображаемый на экране).
А вот и тот самый «дисклеймер».
Разумеется, подобные манипуляции требуются не во всех случаях. Например, накопители «яблочного» производства не нуждаются в trimforce, поскольку поддержка TRIM встроена в них изначально, а некоторые сторонние производители применяют вместо неё собственные алгоритмы. Само собой, на жёстких дисках команда также не работает.
Надеемся, этот простой совет поможет дискам прослужить вам как можно дольше. Приятной работы в OS X!
Редакция AppleInsider.ru не несёт ответственности за возможные последствия выполнения инструкций, предоставленных третьей стороной или не рекомендуемых к выполнению корпорацией Apple, а также использование аппаратного и программного обеспечения, произведённого сторонними вендорами.
По материалам OSXDaily
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Лонгриды для вас
Если заметили, что ваши Apple Watch неверно отображают информацию о количестве шагов или пройденном расстоянии — не спешите идти в ремонт. Возможно, им просто нужна калибровка. Рассказываем, как это сделать
Microsoft 365 — это операционка, которая работает в облаке и запускается в браузере как стриминговые игровые сервисы. Благодаря этому её можно запускать на iPad, Mac и даже смартфонах под управлением Android.
iOS 14.5.1 — экстренное обновление, направленное на исправление багов и недоработок iOS 14.5. А вот новых функций от апдейта ждать не стоит, их там просто нет
Источник
Как включить поддержку TRIM для SSD сторонних производителей в Mac OS X
Тема будет актуальна в первую очередь владельцам старых маков, когда нет возможности установить OS X Yosemite (10.10.4) или новее, но вы решили дать своему компьютеру или ноутбуку вторую жизнь, заменив обычный диск на SSD. Впрочем, для владельцев более свежих устройств тоже найдется полезная информация, если вы самостоятельно делали апгрейд и установили сторонний SSD.
Поддержка TRIM появилась с выходом Windows 7, а в Mac OS X начиная с версии 10.6.6. Однако Apple и тут отличилась, включив поддержку данной команды исключительно для оригинальных дисков, поставляемых вместе с компьютерами Mac, любые сторонние диски этой возможности оказались лишены.
Как такое возможно? Дело в том, что за работу команды TRIM в операционной системе отвечает драйвер, в Mac OS эта роль возложена на расширения ядра — kext (kernel extension) IOAHCIFamily.kext. Тут то Apple и подложила свинью любителям самостоятельно апгрейда, проверяя наличие строки «APPLE SSD» в прошивке твердотельного накопителя. Если подобной метки не находилось, то досвидули — никакого TRIM’а для этого накопителя не будет.
Счастье пришло с выходом OS X Yosemite (10.10.4), где поддержка TRIM стала доступна для любых сторонних SSD (по умолчанию команда может быть отключена). Для ее активации достаточно в терминале ввести всего одну команду:
Еще раз обращаю внимание, что активировать TRIM необходимо только при установке сторонних SSD в Mac. Если накопитель был установлен изначально, то он работает в оптимальном режиме по умолчанию.
Назревает вопрос, откуда вдруг такая щедрость? Дело в том, что с новыми моделями ноутбуков Apple нашла другой путь навязывать свои фирменные комплектующие — каждое новое поколение современных Macbook теперь имеет собственный уникальный разъем подключения SSD, но об этом расскажу в одной из следующих статей.
Активация TRIM в Mac OS X (ниже 10.10.4) для любых SSD накопителей
Активировать TRIM для изначально неподдерживаемых SSD накопителей в MacOS всё-таки можно путём некоторой правки системного кекста IOAHCIFamily.kext, который отвечает за поддержку TRIM. Суть метода в следующем — в бинарнике кекста строчка «APPLE SSD» (встречается в двух местах) заменятся нулями. Таким образом логика его работы меняется на следующую: если искомая строка равна «ничего», то активируется TRIM для этого накопителя.
Данный метод придуман не мной, описание можно найти в интернете. Я лично проверял работу этого метода на паре Mac mini, так что всё реально работает. Команды удобно выполнять в терминале копированием-вставкой, так вы избежите ошибок.
- Получаем права администратора (root’а):
- Делаем резервную копию оригинального драйвера: 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-orig
- Патчим бинарный файл в кексте IOAHCIFamily.kext.
а) Для Mac OS X Snow Leopard и Lion (10.6.6-10.7.4), а так же Mountain Lion 10.8.0:
perl -pi -e ‘s|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00).<9>(\x00\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
б) Для OS X Lion и Mountain Lion (10.7.5 и выше, 10.8.1 и выше):
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
Проверить заработал ли TRIM довольно легко, достаточно посмотреть информацию о системе, выбрав пункт Последовательный-ATA (Serial-ATA), где увидим строку «Поддержка TRIM».
Хочу отметитесь, что повторно выполнять патч нужно при любом обновлении Mac OS X (OS X 10.7.1 > 10.7.2 > 10.7.3 > . ), но думаю это не актуально. Восстановить оригинальный kext всегда можно из резервной копии, которую мы делали ранее:
sudo 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
После чего снова чистим кеш и перезагружаемся:
kextcache -system-prelinked-kernel; kextcache -system-caches
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Источник
Возможно ли включить TRIM для внешнего SSD?
У меня есть iMac 2011 года, Mac OS X 10.6.8 и SDD в корпусе FW800 / USB3. Какой интерфейс может позволить мне включить TRIM: USB2, USB3, FW800 или Thunderbolt?
Согласно OS X Daily , TRIM включен для всех твердотельных накопителей Apple, но не для сторонних накопителей. В статье утверждается, что сторонняя утилита Trim Enabler включает TRIM и для сторонних накопителей. Более подробную информацию можно найти на странице разработчика . Обратите внимание, что эта утилита официально не поддерживается Apple, поэтому перед ее установкой необходимо выполнить резервное копирование.
Интерфейс внешнего накопителя не должен иметь значения для поддержки TRIM (USB 2, FW800 или Thunderbolt). Тем не менее, обратите внимание, что Mac не начал поддерживать USB 3 до июня 2012 года — с iMac 2011 года вы будете использовать USB 2 с одним из этих дисков.
Я понимаю, что этому вопросу уже более 4 лет, но я добавляю комментарий, потому что эта страница была первой страницей поиска в Google по этой теме, и некоторые комментарии устарели, тогда как другие были просто неверны.
Apple добавила встроенную поддержку TRIM в OS X 10.6.8, но только для жестких дисков Apple OEM. Чтобы обойти это ограничение, программное обеспечение, такое как TRIM Enabler от Cindori, позволяло использовать TRIM на SSD сторонних производителей. Позднее в OS X 10.10 (Yosemite) было введено требование безопасности, называемое подписью kext, которое не позволяло TRIM Enabler работать без полного отключения подписи kext. Затем в OS X 10.10.4 Apple представила команду «trimforce», которая включала TRIM на сторонних твердотельных накопителях без отключения подписи kext. (У меня есть источники, но Stack Exchange не позволит мне публиковать более 2 ссылок)
Вопреки многим из комментариев здесь, интерфейс имеет значение. Подавляющее большинство USB-корпусов не поддерживают TRIM, но якобы есть такие, которые поддерживают его, такие как мостовой контроллер USB JMS 578 (источник: http://bbs.pceva.com.cn/thread-125643-1-1. HTML ). Все пять корпусов / док-станций USB 3 у меня есть. Firewire предположительно поддерживает TRIM, но я не проверял это. Большинство корпусов Thunderbolt должны поддерживать TRIM, и в настоящее время у меня включен TRIM на твердотельном жестком диске SanDisk Extreme в корпусе Akitio Thunderbolt 2. Я использовал команду trimforce в терминале, чтобы включить его.
Чтобы проверить, поддерживает ли ваш корпус TRIM, перейдите в раздел «Apple»> «Об этом Mac»> «Системный отчет»> «Оборудование»> «SATA / SATA Express» и найдите «Поддержка TRIM» в соответствии со спецификациями корпуса. Если поддержка TRIM отсутствует в списке, ваш корпус, скорее всего, не поддерживает TRIM. Если он указан в списке, но говорит «Нет», вы можете попробовать включить TRIM с помощью команды trimforce в терминале. Просто откройте терминал и введите «sudo trimforce enable». После перезагрузки компьютера снова проверьте системный отчет, чтобы убедиться, что поддержка TRIM изменена на Да.
Наконец, TRIM имеет значение даже для современных твердотельных накопителей со сложной сборкой мусора. Я испытал это на собственном опыте, когда мой SanDisk SSD начал замедляться по мере старения, прежде чем включить TRIM на нем. Здесь есть хорошая, но несколько устаревшая статья об этом: http://arstechnica.com/gadgets/2015/04/ask-ars-my-ssd-does-garbage-collection-so-i-dont-need-trim- правильно/
Да, вы можете включить TRIM на внешнем SSD. У меня есть жесткий диск Lacie Rugged USB / Thunderbolt 128 ГБ, и я включил его с помощью TRIM Enabler . Я использую его как загрузочный диск.
Я не знаю, разумно ли включить TRIM, но я не смог найти ни одного сообщения, где бы он указывал, что TRIM может нанести вред вашему внешнему SSD.
Но в любом случае у меня есть несколько резервных копий моего SSD-накопителя.
Источник
[SSD only] Активация TRIM в Mac OS Lion / Mountain Lion 10.8
Здравствуйте, уважаемые хабражители.
Этот перевод предназначен в первую очередь для тех, кто уже использует SSD диск и MacOS Lion. Лично я год с хвостиком радуюсь производительности SSD Intel X-25M и отсутствию карусельки смерти чего и вам от души желаю.
До сегодняшнего дня я был уверен, что мой SSD работает на 100% своих возможностей. Но не тут-то было! Если вы купили свой яблочный компьютер без SSD, то есть из магазина он выехал с обычным HDD, то обещанный во Льве TRIM у вас будет не активен, как оказалось только изначально укомплектованные SSD накопителем компьютеры имеют эту функцию по умолчанию. Проблема, как вы понимаете, в вызывающем вопросы маркетинге компании имеет софтверные корни, а не железные. И на эту подлянку от Apple мистер Грант Пеннэл предлагает свой болт с резьбой.
Прежде чем перейти непосредственно к переводу, предлагаю вам проверить, работает у вас TRIM или нет:
Если у вашего SSD контроллер SandForce 2***, то TRIM вам не рекомендуется. Как говорят очевиды всё дело в том, что контроллер SF2*** обрабатывает удалённую пользователем информацию своим особым образом и вообще хранит данные на диске в виде одного большого архива… подробности его работы и вытекающие проблемы описаны тут. Контроллером SF2*** оснащён достаточно широкий ряд устройств, в том числе популярный OCZ Vertex 3, поэтому обязательно загляните в список SSD оснащённых контроллером SandForce и смотрите внимательно, есть ли ваш диск в этом списке, если да, то в колонке 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
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
sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches
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 следующие:
Оригинал: 155b426c856c854e54936339fbc88d72
Изменённый: 945944136009c9228fffb513ab5bf734
Если вы уже использовали 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
Выполните следующие команды в терминале:
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
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
sudo kextcache -system-prelinked-kernel sudo kextcache -system-caches
Источник