
Перебои в подаче электроэнергии являются неизбежной реальностью современных ИТ-сред, будь то из-за сбоев инфраструктуры, неожиданных отключений или проблем с распределением энергии. Хотя такие сбои могут быть кратковременными, их влияние на работу SSD-накопителей может быть весьма значительным. Без надлежащей защиты внезапная потеря питания может прервать активные операции записи, повредить метаданные или привести к невозможности восстановления твердотельного накопителя.
Именно в таких случаях функция защиты от потери питания (PLP) становится критически важной. Хотя сама концепция PLP не нова, методы и технологии защиты данных во время и после потери питания в современных SSD-накопителях значительно эволюционировали. В современных центрах обработки данных и корпоративных средах механизмы PLP продолжают играть важную роль, обеспечивая стабильную работу хранилищ и предотвращая потерю данных или метаданных при внезапном отключении питания.
В этой статье мы рассмотрим, как работает PLP, почему это важно и как аппаратные и программные механизмы совместно обеспечивают защиту данных в процессе передачи, сохраняют целостность таблиц отображения и поддерживают восстановление SSD-накопителей после аварийного отключения.
Что такое защита SSD-накопителей от потери питания (PLP)?
Защита от потери питания (PLP) — это набор механизмов, встроенных в SSD-накопитель, которые позволяют устройству корректно пережить внезапное отключение питания. Хотя SSD-накопители предназначены для высокоскоростной работы, они в значительной степени зависят от энергозависимой памяти для кеширования данных и управления внутренними процессами. При внезапном отключении питания данные, находящиеся в этих энергозависимых буферах, оказываются под угрозой.
PLP предназначена для устранения этого слабого места. Ее основная задача заключается в достижении двух ключевых целей:
- Безопасная запись данных в процессе обработки (или данных, находящихся в кеш-буферах DRAM или SRAM накопителя) в энергонезависимую флеш-память, чтобы предотвратить их утерю при незапланированном отключении питания.
- Обеспечение целостности таблицы отображения SSD-накопителя (или уровня трансляции флеш-памяти — FTL), которая отвечает за сопоставление логических и физических адресов данных на SSD-накопителе. Сохранение этой структуры необходимо для того, чтобы SSD-накопитель корректно определялся и снова становился доступным после перезагрузки системы.
В нормальных условиях SSD-накопитель получает предварительное уведомление об отключении питания, что позволяет ему очистить кеш и обновить метаданные. Но при отсутствии такого уведомления, как это происходит при внезапной потере питания, на помощь приходит PLP, защищая накопитель от несогласованности, которая в противном случае могла бы привести к его неработоспособности или повреждению данных.
Иными словами, PLP предоставляет SSD-накопителям достаточно времени для выполнения критически важных задач до отключения питания.
Как SSD-накопители обычно завершают работу
При штатном завершении работы системы SSD-накопители следуют строго определенной последовательности отключения, предназначенной для защиты пользовательских данных и внутренних метаданных. Когда хост-система инициирует выключение, она отправляет SSD-накопителю команду (Standby Immediate Command), уведомляя накопитель о предстоящем завершении работы. Это предварительное уведомление предоставляет устройству время, необходимое для выполнения ряда важных служебных операций. Во время этого процесса SSD-накопитель:
- Безопасно записывает все кешированные данные из DRAM или SRAM в NAND-память, чтобы не потерять активные данные.
- Обновляет таблицу отображения FTL, которая отслеживает физическое размещение данных во флеш-памяти NAND.
- Переносит важные метаданные в энергонезависимую память, чтобы накопитель мог корректно инициализироваться при следующем включении питания.
Поскольку у твердотельного накопителя достаточно времени для выполнения этих операций, результатом становится корректное и предсказуемое завершение работы. Накопитель выключается в полностью стабильном состоянии, обеспечивая беспроблемное распознавание и нормальную работу при перезапуске системы.