
Перебої живлення є неминучою реальністю сучасних ІТ-середовищ незалежно від того, спричинені вони несправностями інфраструктури, раптовими відключеннями чи проблемами з розподілом електроенергії. Хоча ці перебої можуть бути короткочасними, вони можуть істотно вплинути на роботу SSD. Без належних заходів захисту раптова втрата живлення може призвести до переривання активного запису, пошкодження метаданих або повної втрати даних на SSD.
Саме в таких випадках надзвичайно важливим стає захист від втрати живлення (PLP). Хоча сам по собі PLP не є новою концепцією, способи застосування та методи, що використовуються для захисту даних під час втрати живлення та після неї, у сучасних SSD значно вдосконалилися. У сучасних центрах обробки даних та корпоративних середовищах сучасні механізми PLP продовжують відігравати важливу роль у забезпеченні стабільної роботи сховища та запобіганні втраті даних або метаданих у разі несподіваного відключення живлення.
У цій публікації ми розглянемо, як саме працює PLP, чому це важливо, а також як апаратні та програмні механізми взаємодіють для збереження даних під час передачі, підтримання цілісності таблиці мапування та забезпечення можливості відновлення SSD після раптового вимкнення.
Що таке захист від втрати живлення (PLP) у SSD?
Захист від втрати живлення (PLP) – це набір вбудованих у SSD механізмів, що забезпечують коректну роботу накопичувача в разі несподіваної втрати живлення. Хоча SSD призначені для високошвидкісної роботи, вони також значною мірою залежать від енергозалежної пам’яті для кешування даних та управління внутрішніми процесами. Коли живлення раптово відключається, все, що зберігається в цих енергозалежних буферах, опиняється під загрозою.
PLP дозволяє вирішити цю проблему. Його основна мета полягає у досягненні двох ключових завдань:
- Безпечне перенесення даних, що передаються (або даних, які знаходяться в буферах DRAM або SRAM кешу накопичувача), до постійної або енергонезалежної флеш-пам'яті для запобігання їх втраті під час раптового відключення.
- Збереження цілісності таблиці мапування SSD (або Flash Translation Layer (FTL)), яка відповідає за фізичне та логічне мапування даних на SSD. Збереження цієї структури є надзвичайно важливим для належного розпізнавання SSD та відновлення його працездатності після перезавантаження системи.
За звичайних умов SSD отримує попередження про вимкнення заздалегідь, що дає йому час очистити кеш-пам'ять та оновити метадані. Однак за відсутності такого попередження, як у випадку раптової втрати живлення, в дію вступає механізм PLP, щоб захистити накопичувач від несумісності даних, яка може призвести до збою в роботі або пошкодження даних.
Одним словом, PLP надає SSD достатньо часу для виконання основних дій до зникнення живлення.
Як зазвичай вимикаються SSD
Під час штатного вимкнення системи SSD виконують чітко визначену послідовність вимкнення, покликану захистити як дані користувача, так і внутрішні метадані. Коли хост-система ініціює вимкнення, вона надсилає SSD команду (Standby Immediate Command), сповіщаючи про вимкнення системи. Це завчасне сповіщення дає накопичувачу час, необхідний для виконання кількох важливих завдань. Під час цього процесу SSD:
- Здійснює безпечний запис усіх даних із кешу з DRAM або SRAM у NAND для запобігання втраті активних даних.
- Оновлює таблицю мапування Flash Translation Layer, яка відстежує фізичне розміщення даних у флеш-пам'яті NAND.
- Зберігає важливі метадані в постійному сховищі, щоби накопичувач міг коректно перезапуститися під час наступного увімкнення.
Оскільки SSD має достатньо часу для виконання цих дій, це забезпечує коректне та передбачуване вимкнення. Накопичувач вимикається у повністю цілісному стані, що забезпечує його коректне розпізнавання та нормальну роботу після перезапуску системи.