- Как включить поддержку TRIM для SSD сторонних производителей в Mac OS X
- Активация TRIM в Mac OS X (ниже 10.10.4) для любых SSD накопителей
- Question: Q: do i have to do sudo trimforce enable on 3rd party ssd Mac Os MOJAVE
- All replies
- Активация TRIM поддержки накопителей SSD от сторонних производителей в macOS (OS X)
- Что же такое TRIM?
- Как включить поддержку TRIM для сторонних SSD дисков в macOS (OS X) Yosemite, El Capitan, Sierra, Mojave
- Как включить TRIM SSD дисков в Mac OS
- Что такое TRIM
- Удаленные данные и их восстановление
Как включить поддержку 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
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Источник
Question: Q: do i have to do sudo trimforce enable on 3rd party ssd Mac Os MOJAVE
hie there.mind me askin’. i just upgraded my macbook os to mojave..clean format fresh install. i would like to know do i still need to TRIM my ssd (using 3rd party ssd) via sudo trimforce enable or no need.
here my macbook spec
MacBook Pro 15inch 2012 non-Retina 2.7Ghz i7 Quad-Core A1286
16GB 1600mhz DDR3L RAM
SandDisk CloudSpeed ULTRA Gen II ENTERPRISE SATA SSD 1.6TB 2TB SEAGATE BARRACUDA DRIVE
Posted on Oct 11, 2018 1:17 PM
All replies
Loading page content
Page content loaded
You have to come to your own conclusions. Probaly less important on a brand new SSD, and one that has plenty of free space.
Once you make the choice stick with it; ie you do not want to be flipping back and forth as this will lead to data corruption.
Always advised to have a back up plan in place. How to create a boot clone
TRIM will release deleted blocks, It is recommended once enabled do a restart into SafeBoot Mode (hold the Shift key.)
Safe Mode does a Disk Repair and honors this trimforce command, effectively removing all the old deleted data.
The advantage of the TRIM command is that it enables the SSD’s GC (garbage collection) to skip the invalid data rather than moving it, thus saving time not rewriting the invalid data. This results in a reduction of the number of erase cycles on the flash memory and enables higher performance during writes. The SSD doesn’t need to immediately delete or garbage collect these locations it just marks them as no longer valid. This helps ensure that all storage cells are aged uniformly and maximum lifetime achieved.
trimforce status from terminal copy & paste:
system_profiler SPSerialATADataType | grep ‘TRIM’
To move forward:
All new SSD will perform well, it is over time when allocated blocks and pages become used, you start to see a loss of performance.
«TRIM doesn’t obviate the need for garbage collection—it works with garbage collection to more properly mark pages as stale. And you don’t need TRIM for garbage collection to work—but TRIM makes an SSD’s garbage collection more efficient.»
I can say new Apple computers that ship w/ SSD have TRIM enabled by default.
Apple just within the last couple OS X, supply the TRIM command in terminal for 3rd party SSD (eliminating the need for 3rd party methods to enable TRIM) this should tell you something about demand of this functionality.
Источник
Активация TRIM поддержки накопителей SSD от сторонних производителей в macOS (OS X)
Не все компьютеры Mac имеют в заводской комплектации твердотельный накопитель SSD, в некоторых даже сегодня установлен обычный HDD (iMac, Mac mini). Преимущество SSD — скорость работы, но при постоянной записи информации производительность накопителя падает, чтобы этого избежать была придумана команда TRIM.
Что же такое TRIM?
TRIM (англ. to trim — подрезать) — это команда интерфейса ATA, позволяющая операционной системе уведомить твердотельный накопитель о том, какие блоки данных уже не содержатся в файловой системе и могут быть использованы накопителем для физического удаления. Функция TRIM позволяет существенно уменьшить время доступа к данным на диске и предотвратить процесс ухудшения производительности SSD накопителей, все это происходит за счет оптимального распределения свободного пространства по накопителю
К чему все это предисловие?! Если на вашем Mac стоит оригинальный SSD (установлен с завода), то на нем автоматически включена поддержка TRIM, а если Вы решили сами проапгрейдить старый компьютер (iMac, MacBook, Mac mini) или заменить имеющийся накопитель на размер побольше, то функция TRIM в операционной системе будет выключена.
Как включить поддержку TRIM для сторонних SSD дисков в macOS (OS X) Yosemite, El Capitan, Sierra, Mojave
Ранее активация команды TRIM для сторонних накопителей SSD занимала немало времени и не всегда заканчивалась успехом, но начиная с OS X 10.10.4 все изменилось. В новых версиях операционных систем macOS, начиная с Yosemite, Apple добавила возможность включения поддержки TRIM на неоригинальных, произведенных не для Mac твердотельных дисков.
Итак, чтобы включить поддержку TRIM для установленного накопителя, нужно запустить приложение «Терминал» ( Программы → Утилиты ) и ввести комманду:
Программа потребует от вас пароль администратора, сообщит о том, что с некоторыми SSD команда может быть несовместима и предложит перезагрузить компьютер. Выполните требуемые действия.
После перезагрузки откройте программу «Информация о системе» ( Программы → Утилиты ), перейдите SATA/SATA Еxpress и выберите SSD диск, в строчке «Поддержка TRIM» у вас должна появится надпись Да
Обраните внимание! Процедуру активации TRIM нужно будет выполнять каждый раз при установке новой операционной системы macOS.
Для более старых версий OS X используйте программу TRIM Enabler, правда программа платная ($10), но очень удобная. Удобство программы состоит в том, что для включения поддержки TRIM нужно передвинуть бегунок в положение ON , ввести свой пароль и перезагрузить Mac.
Хотите получать больше полезной информации? Подписывайтесь на наши страницы в соц.сетях: Facebook, Twitter и Вконтакте, а также делитесь этой и другими статьями со своими друзьями
Источник
Как включить TRIM SSD дисков в Mac OS
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 будет работать штатно и всегда, без всяких патчингов и манипуляций с системой. Запускаем Терминал и выполняем команду:
Команду нужно подтвердить паролем администратора системы, после чего выдастся предупреждение, что, мол, включение этой опции может быть небезопасно и бла, бла, бла:
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 диска будет применять неиспользуемое место под разделы для того, чтобы выровнять скорость записи.
Функция Trim имеет те полезные свойства, что действительно дает возможность поддержать максимально высокую скорость записи, но только при двух условиях:
- Под разделы размечена полная емкость SSD диска.
- Разделы с файловой системой заполнены не более чем на 70-80% от своей емкости.
Источник