Розбираємось: що таке SSD Trimming?

19 січня 2023

Що таке обрізка SSD? (SSD trimming)


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

Просто, так? Однак те, що відбувається насправді, набагато складніше – читайте далі, щоб дізнатися!


Копання в нутрощах вашого SSD

Щоб зрозуміти, чому твердотільні накопичувачі не просто видаляють файли, коли ви натискаєте кнопку, нам потрібно коротко поглянути на те, як вони працюють. Раніше ми розбирали SSD, і ви могли бачити, що всередині у них небагато начинки.

Наведений вище зразок відносно старої моделі SATA (Samsung 850 Pro), але навіть найновіші твердотільні накопичувачі не сильно відрізняються з точки зору компонентів, які складають диск. Мікросхема посередині — це процесор, який керує всіма інструкціями, потоком даних, шифруванням та іншими алгоритмами. Над ним знаходиться невелика кількість DRAM, яка діє як кеш інструкцій і даних, а також зберігає таблицю розташування даних на диску.

Праворуч і під процесором знаходяться два модулі флеш-пам’яті NAND — це чіпи, які зберігають усі дані, і саме в них нам потрібно заглибитися. Глибоко всередині цих чіпів знаходяться мільярди крихітних компонентів, які називаються металооксидними напівпровідниковими польовими транзисторами з плаваючим затвором. Оскільки ця назва не дуже запам'ятовується, технологія зазвичай називається флеш-пам’яттю заряду (CTF) і є найбільш часто використовуваною системою для зберігання даних на сучасних SSD. Кожен CTF діє як окрема одиниця пам’яті, відома як пам’ять або бітова комірка, до якої підключено три електричні лінії. CTF групуються разом, спочатку у вигляді довгого стовпця (рядка), що містить від 32 до 128 комірок.

Комірки в рядку мають спільний ланцюжок (рядок бітів), який використовується для читання даних, що зберігаються в них. Усі ті люнцюжки, що знаходяться в одному рядку (відомі як сторінка), підключаються до іншого спільного ланцюжка (рядка слів). Лінії вибору рядків і землі використовуються в поєднанні з рядками слів, щоб визначити, чи відбувається процес читання, запису чи стирання. Масив рядків і сторінок утворює те, що називається блоком. Розміри сторінок і блоків дуже різняться: розмір сторінок становить лише 4 КБ, а блоків — 512 КБ, хоча багато залежить від виробника та моделі. Один флеш-кристал NAND міститиме тисячі блоків, а самі флеш-модулі можуть містити кілька кристалів. Ці величезні, складні сітки ланцюжків і транзисторів складають кожен флеш-накопичувач, від USB-накопичувачів вартістю кілька доларів до багатотерабайтних твердотільних накопичувачів корпоративного рівня.


Флеш-пам'ять NAND дивна


Сторінки та блоки важливі, оскільки всі комірки пам’яті в цій структурі мають одну підкладку – фрагмент напівпровідникового матеріалу, такого як кремній або арсенід галію, на якому побудовані всі транзистори. Щоб стерти дані з будь-якої комірки, потрібно використовувати високу негативну напругу, що змушує будь-які електрони, що зберігаються в CFT, "втікати" в підкладку. На жаль, це означає, що процес стирання очищає кожну клітинку в блоці, а не лише одну з них. Ще одна дивина флеш-пам’яті NAND полягає в тому, що комірки пам’яті не можна запрограмувати новими даними, доки всі вони не будуть очищені. Іншими словами, SSD ніколи не записують нові дані безпосередньо поверх старих, як традиційні жорсткі диски. І там, де стирання має виконуватися на рівні блоку, запис у них виконується на рівні сторінки, що означає, що програмування (запис)  SSD набагато швидше, ніж стирання.


Процес програмування та стирання також щоразу пошкоджує комірки пам’яті, зношуючи шар напівпровідника всередині транзистора, який зберігає заряд. Щоб збільшити термін служби чіпів, процесор, який ними керує, циклічно перебирає всі блоки, доки кожен із них не буде використаний один раз, а потім повертається до початку (так би мовити). Тож так, флеш-пам’ять NAND, безумовно, дивна — швидко записує, повільно стирає, та ще пошкоджує себе під час будь-якої операції!


Розкидаючи та збираючи сміття...


Тепер давайте повернемося до розуміння того, що таке обрізка (trimming) SSD. Для цього ми візьмемо уявний SSD, який має 4 КБ сторінок і 256 КБ блоків, тобто 64 сторінки на блок. Що станеться, якщо ви захочете видалити один файл, який займає 3056 КБ на вашому SSD? Цей файл займе 764 сторінки -- 11 повних блоків і один із 60 із 64 використаних сторінок. Як видалити цей файл, не ризикуючи вплинути на останні 4 сторінки, оскільки згідно описаного вище вони можуть містити дані для іншого файлу? Здається, ми повністю застрягли з рішенням!

А порятунок спочатку приходить у формі команди TRIM. Усі дані залишаються на накопичувачі, доки йому не буде надано чітку вказівку щодо цього. Файли та папки, які були видалені операційною системою, позначаються як непотрібні, а коли виконується команда TRIM, таблиця файлів зберігається в DRAM SSD (або в самій флеш-пам’яті NAND, якщо диск не має DRAM ) потім оновлюється, щоб відобразити це.

Зверніть увагу, що не кожен виробник SSD використовує термін TRIM, але Windows використовує, тому ми будемо використовувати цей термін. Дані не стираються одразу після надсилання команди TRIM — це відбувається або під час простою диска, або під час наступного запису даних у блок. Який метод буде використано, залежить від виробника: моделі споживчого класу обробляють стирання під час простою, а моделі корпоративного рівня зазвичай роблять це під час запису.

Дані, позначені для видалення, видаляються, коли вбудоване програмне забезпечення флеш-пам’яті NAND починає процес, який називається збиранням сміття. Це передбачає читання блоку, і будь-які сторінки, які потрібно зберегти, копіюються в кеш, а потім записуються в повністю порожній блок. Потім попередній разом із сторінками, позначеними для видалення, стирається. У певному сенсі цей процес для твердотільних накопичувачів такий же, як дефрагментація диска для традиційних жорстких дисків, але це не те саме.


Обрізка – це те саме, що дефрагментація?


Обрізка SSD і дефрагментація - це не одне і те ж. Дефрагментація — це процес, який використовується для оптимізації продуктивності жорстких дисків (HDD) шляхом перевпорядкування даних на диску таким чином, щоб вони зберігалися безперервно. Це покращує ефективність накопичувача, зменшуючи кількість часу, необхідного для читання та запису даних.

З іншого боку, обрізання є специфічним для SSD і використовується для підтримки продуктивності накопичувача з часом. Використання флеш-пам’яті на твердотільних накопичувачах означає обмежену кількість циклів запису. Коли дані видаляються з SSD, простір, який вони займають, не відразу стає доступним для повторного використання. Натомість програмне забезпечення накопичувача позначає простір як «недійсний», і воно не перезаписується, доки не буде виконано процес обрізання. Цей процес допомагає запобігти фрагментації та сповільненню диска.

Збір сміття корисний для тривалості життя SSD і його загальної продуктивності, а TRIM лише покращує його (іноді ці два терміни використовуються як синоніми). Це пояснюється тим, що без цієї команди збирання сміття просто постійно переміщатиме всі сторінки, згущуючи частково заповнені блоки, щоб зберегти щойно стерті блоки доступними для програмування, але це означає, що непотрібні сторінки також переміщуватимуться, витрачаючи час і збільшуючи знос клітини пам'яті. Оскільки TRIM чітко вказує, які сторінки зараз є сміттям, їх можна залишити в спокої під час збирання сміття та стерти за потреби.

TRIM автоматично запускається Windows, коли ви назавжди видаляєте файл (тобто видаляєте його з кошика), але це не відбувається миттєво. Він додається до черги та обробляється, коли SSD готовий до нього.

Однак ця черга має максимальний розмір, і якщо вона буде заповнена, деякі з запитів TRIM будуть видалені. За замовчуванням Windows планує регулярне повторне виконання команд TRIM (називаючи це повторним налаштуванням). Ви можете це зробити примусово, але ми не рекомендуємо цього. Але якщо раптом дуже треба, перейдіть до Провідника файлів, клацніть диск правою кнопкою миші, натисніть «Властивості», а потім перейдіть на вкладку «Інструмент». Нарешті натисніть кнопку з написом Оптимізувати. Якщо у вашому комп’ютері немає твердотільних накопичувачів, оптимізація запускає звичайну дефрагментацію диска, але для флеш-пристроїв NAND натискання цієї кнопки повторно видає команду TRIM. Насправді ви не можете змусити накопичувач робити що-небудь, тому не турбуйтеся про те, що він запускається занадто часто; диск буде доглядати сам за собою!

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

Якщо ваша операційна система чи конфігурація SSD не підтримує TRIM, це не дуже погана новина — збір сміття все ще відбувається, але цей процес далеко не такий ефективний. Старі дані врешті-решт видаляються просто тому, що в певний момент часу диск перезапише непотрібні сторінки. Для ПК із Windows 7 TRIM підтримується лише на SSD-накопичувачах SATA; для машин з NVMe команда доступна лише в Windows 8, 10 і 11. TRIM було додано до MacOS в останньому оновленні Snow Leopard ще в 2011 році. Більшість дистрибутивів Linux також підтримують цю операцію, але не кожна файлова система сумісні -- говорячи про це, системи RAID зазвичай не підтримують TRIM, хоча ця ситуація повільно покращується.

Тепер ви знаєте, що таке TRIM і яку користь він приносить вашому SSD.


Джерело techspot.com

Ще статті
ДЕНЬ НЕЗАЛЕЖНОСТІ УКРАЇНИ 2024 !
22 серпня 2024
Прийміть від нашої компанії найщиріші вітання з 33-м Днем народження нашої Батьківщини!Цього року в цей день 24 серпня 2024року субота - вихідний день!Ми сильні. Ми вільні. Ми – непереможні!Слава Україні!
З Великоднем! Графік роботи 2024
4 травня 2024
Графік роботи компанії на святкові дні
viber-chatЧат «Дефіс» в Viber telegram-chatЧат «Дефіс» в Telegram