Як працює TRIM Enabler?


8

Нещодавно я купив третю частину (OCZ) SSD і використав Trim Enabler, щоб добре включити TRIM. Я помітив, що деякі оновлення програмного забезпечення можуть призвести до відключення TRIM, і тому мені було цікаво, як працює TRIM Enabler.

  • Чи замінює він деякий KEXT за замовчуванням на спеціальний для підтримки TRIM або він просто перемикає налаштування PLIST?
  • У будь-якому випадку, чи є файл, який при блокуванні може забезпечити, щоб TRIM залишався ввімкненим (без негативних наслідків)?

Відповіді:


9

Trim Enabler виправляє наступний Kext-файл

/System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

який перевіряє, чи SSD є стороннім або фірмовим компакт-диском Apple:

IOAHCI hex / ascii подання

Ви також можете ввімкнути обрізку вручну, шукаючи всі події "Apple" у файлі та виправляючи їх у шестигранному редакторі чи через термінал:

##1. Backup old file
    $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. Patch the file to enable TRIM support
    $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. Clear the system kernel extension cache

   $sudo kextcache -system-prelinked-kernel

   $sudo kextcache -system-caches

1
Як ви навіть знайдете цей матеріал ?! Якщо я запускаю TRIM Enabler, щоб "виправити" мій файл IOAHCIBlockStorage, а потім заблокувати його (з правами адміністратора), чи зазнаватиму я негативних наслідків? Впевнений, що я не зможу підтримувати нові SSD-диски PCIe (яких у мого MacBook навіть немає), але чи не завадить будь-яким майбутнім оновленням змінити патч?
Олександр - Відновіть Моніку

я найкраще здогадуюсь: навіть якщо ви заблокуєте файл від редагування .. оновник просто замінить файл новим файлом. Вам слід було б видалити дозвіл на запис для root із повної папки. У цьому конкретному випадку я припускаю, що інсталятор вийде з ладу, оскільки він не може записатись у папку. На мою думку, не варто турбуватися. Просто запустіть Trim Enabler після оновлення та повторно застосуйте виправлення.
Крісі

@Chrisii Ви знаєте, чи це спрацює в Йосеміті? Чи змінюється це підпис kext?
thepen

@thepen Я ще не перевіряв його, але можу з впевненістю сказати, що зміна файлу змінить підпис kext і тому для того, щоб він взагалі працював, вам доведеться спочатку відключити перевірку підпису kext (Докладнішу інформацію можна знайти тут cindori .org / trim-enabler-and-yosemite )
Chrisii

2

Єдину інформацію, яку я можу знайти про це, - це запис із запитань FAQ / блогу

A: Trim Enabler виправляє вбудований драйвер OSX Trim, який працює у фоновому режимі, навіть коли додаток закрито або видалено. Цей патч скидається на оновлення системи, тому, можливо, було б гарною ідеєю зберегти додаток.


Шлях зазвичай скидається на оновлення, коли Apple вирішить оновити згадані розширення ядра, наприклад, для підтримки нових ssd-накопичувачів (Думаючи про нові ppcie ssds, оголошені на WWDC).
Крісі

2

SSD-диски OCZ використовують контролер Sandforce, вбудований у збирання сміття на передньому плані, що затримує необхідність стирання блоків, зменшуючи, але не знімаючи потреби в підтримці TRIM. Обрізка може вважатися допоміжним засобом для вивезення сміття.

Обрізати колекцію сміття VS

Для короткого пояснення флеш-пам’ять організована в групи сторінок, на яких можна записати дані. Після того, як сторінка написана, вона не може бути переписана, поки не буде стерта. Але стерти сторінку можна лише в групі, що складається з 128 сторінок, що називається блоком. Складність запису даних дійсно починає наростати у випадку випадкових записів, що замінюють раніше записані дані. Випадкові записи розміщують нові дані на раніше стертих сторінках в іншому місці, присипаючи блок дійсних даних "патчами недійсних даних". Для того, щоб записати нові дані в ці виправлення, весь блок - усі 128 сторінок - потрібно стерти. Але спочатку всі довколишні сторінки з дійсними даними повинні бути прочитані, а потім переписані на порожні сторінки. Тоді щойно видалений блок порожніх сторінок готовий до збереження нових даних.

[…] Усі SSD-накопичувачі на основі NAND використовують GC. Деякі використовують GC переднього плану, а деякі використовують GC фонового або простою. Різниця між ними висвітлена в моєму блозі http://blog.lsi.com/dont-let-ssds-throw-away-your-gold/ . Простіше кажучи, фонове збирання сміття збільшить посилення запису (WA) і швидше зносить SSD. Переднього плану GC важче досягти, і я вважаю, що тільки контролер SandForce в змозі це зробити сьогодні

[…] TRIM корисний для всіх SSD-дисків незалежно від типу сміття. Я розповідаю про те, як TRIM виник, і чому це потрібно в моєму блозі http://blog.lsi.com/did-you-know-hdds-do-not-have-a-del… . Команда TRIM надсилається ОС на SSD, щоб визначити, які сторінки даних можна ігнорувати під час збору сміття. SSD не може сказати, які файли були видалені, поки ОС не використовує ті самі сектори для зберігання нових файлів, але до того часу SSD вже витрачала цикли, збираючи сміття, невідомі, але відомі SS.

Чи знаєте ви, що на жорстких дисках немає команди Delete? Ось чому SSD потрібні TRIM

Збереження вашого SSD TRIM Ряд років тому індустрія сховищ зібралася і розробила рішення між ОС і SSD, створивши нову команду SATA під назвою TRIM. Це не команда, яка змушує SSD негайно стирати дані, як вважають деякі. Насправді команду TRIM можна розглядати як повідомлення від ОС про те, що раніше використовувані адреси на SSD більше не містять дійсних даних. SSD приймає ці адреси та оновлює власну внутрішню карту своєї флеш-пам’яті, щоб позначити ці місця як недійсні. З цією інформацією, SSD більше не переміщує недійсні дані під час процесу GC, виключаючи витрачений час на перезапис недійсних даних на нові флеш-сторінки. Це також зменшує кількість циклів запису на спалах, збільшуючи витривалість SSD.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.