Перейти к содержимому
Статья

SSD показывает 99% здоровья, но данные уже под угрозой: что на самом деле означают TBW, ресурс NAND и SMART

У SSD нет единого счетчика, который точно сообщает, сколько ему осталось жить. Показатель «здоровье 99%» обычно относится к расчетному износу NAND, но ничего не говорит о внезапной смерти контроллера, повреждении прошивки, проблемах питания или способности давно записанных ячеек удерживать заряд без питания. TBW тоже не является точкой, после которой накопитель обязан перестать работать. У Samsung 990 PRO емкостью 1 ТБ гарантийный ресурс составляет 600 TBW, что при равномерной записи за пять лет соответствует примерно 329 ГБ каждый день.

BadMadSam
SSD показывает 99% здоровья, но данные уже под угрозой: что на самом деле означают TBW, ресурс NAND и SMART

Автор: Изображение создано с помощью ChatGPT

При этом ресурс NAND расходуется не только теми данными, которые видит Windows: внутри SSD работают сборка мусора, выравнивание износа, перенос страниц и SLC-кеш. Разберемся, что именно изнашивается внутри SSD, почему свободное место влияет на ресурс, как читать SMART и почему накопитель нельзя использовать как долговременный архив только на основании высокого процента здоровья.

TBW не показывает оставшийся срок службы, а 100% ресурса не является командой на отключение

NAND-память хранит информацию в ячейках, электрическое состояние которых можно менять ограниченное число раз. Запись происходит страницами, а стирание более крупными блоками. Контроллер поэтому не может просто заменить несколько байтов внутри уже занятой физической области: данные приходится переносить, блок освобождать и программировать заново. Часть ресурса NAND постепенно расходуется при каждом таком цикле program/erase. Производитель оценивает, какой объем записи накопитель должен выдерживать в заданной модели нагрузки, и публикует TBW, Total Bytes Written. Samsung для 990 PRO заявляет 600 TBW для 1 ТБ, 1200 TBW для 2 ТБ и 2400 TBW для 4 ТБ при пятилетней ограниченной гарантии. Увеличение ресурса почти пропорционально емкости не случайно: в более емкой версии больше NAND, поэтому контроллер может распределять записи между большим числом ячеек.

600 TBW выглядят не так скромно, если перевести их в ежедневную нагрузку. 600 ТБ за пять лет означают примерно 120 ТБ в год или около 329 ГБ записи каждый день. Для версии на 2 ТБ с ресурсом 1200 TBW получается примерно 658 ГБ в день. Обычный домашний компьютер редко пишет сотни гигабайт ежедневно на протяжении пяти лет без перерывов. Намного быстрее расходовать такой ресурс способны видеомонтаж с тяжелым кешем, базы данных, постоянная запись видеопотоков, виртуальные машины, торрент-серверы, интенсивные компиляции и SSD, используемый как рабочий кеш. Поэтому одинаковый накопитель в игровом ПК и на сервере может за один календарный год накопить совершенно разный физический износ.

TBW при этом нужно читать вместе с гарантией. Формулировка Samsung для 990 PRO означает пять лет или достижение соответствующего TBW в зависимости от того, что наступит раньше. Это гарантийная граница, а не встроенный таймер самоуничтожения. SSD с паспортными 600 TBW способен пройти 610, 800 или больший объем записи и продолжать работать; производитель просто больше не обещает тот же гарантийный ресурс после установленного порога. Обратная ситуация тоже возможна: накопитель с 20 ТБ записи может выйти из строя из-за контроллера, питания или дефекта платы, хотя NAND практически не изношена. Именно поэтому фраза «до TBW еще далеко, значит SSD надежен» описывает только один класс отказов.

NVMe SSD формата M.2 крупным планом, на плате видны микросхемы накопителя
NVMe SSD формата M.2 крупным планом, на плате видны микросхемы накопителя

Фото: Andrey Matveev

В корпоративных SSD тот же ресурс часто записывают как DWPD, Drive Writes Per Day. Показатель сообщает, сколько полных емкостей накопителя разрешается записывать каждый день в течение гарантийного срока. Kingston DC2000B имеет рейтинг 0,4 DWPD на пять лет. Для версии 960 ГБ производитель одновременно приводит 700 TBW. Проверка показывает практически ту же математику: 0,96 ТБ × 0,4 × 365 × 5 дает примерно 701 ТБ. DWPD удобнее для серверной нагрузки, потому что сразу видно интенсивность записи относительно емкости диска. SSD на 8 ТБ при 1 DWPD и накопитель на 32 ТБ при 0,25 DWPD за одинаковый пятилетний срок допускают примерно одинаковый общий объем записи, около 14,6 ПБ. Solidigm приводит именно такой пример при объяснении ресурса QLC-накопителей.

Разница между потребительскими и специализированными моделями бывает огромной. Solidigm D7-P5810 на SLC NAND рассчитан до 50 DWPD для случайной записи, тогда как упомянутый Kingston DC2000B на TLC имеет 0,4 DWPD. Старый Intel Optane P5800X на 3D XPoint заявлялся вообще на 100 DWPD в течение пятилетнего гарантийного периода. Эти устройства создавались для журналирования, кеширования и других задач, где запись идет практически непрерывно, поэтому сравнивать их ресурс с обычным игровым SSD только по емкости бессмысленно. Тип памяти, размер резервной области, контроллер и рабочая нагрузка меняют ресурс на порядки.

Почему Windows записала 100 ГБ, а NAND могла получить заметно больше

Счетчик хостовой записи показывает, сколько данных операционная система передала накопителю. Физическая NAND может получить другой объем. Отношение фактически записанных во флеш-память данных к записи хоста называется Write Amplification Factor, WAF. Если система отправила SSD 1 ТБ, а контроллеру вместе со служебным переносом пришлось записать 1,4 ТБ NAND, WAF равен 1,4. Чем выше этот коэффициент, тем быстрее расходуется ресурс ячеек при одинаковом пользовательском трафике. Производители серверных SSD уделяют WAF большое внимание именно потому, что разница между 1,1 и 3 при петабайтах записи превращается в огромный дополнительный износ.

Причина находится в устройстве NAND. Допустим, файловая система изменила несколько небольших файлов, физические страницы которых находятся внутри блоков вместе с другими актуальными данными. Перезаписать занятую NAND-страницу на месте нельзя. Контроллер помечает старую страницу как недействительную и записывает новую версию в свободное место. Позже сборка мусора, Garbage Collection, выбирает блок с недействительными страницами, переносит оставшиеся актуальные данные в другое место, стирает весь блок и возвращает его в пул свободных. Хост этого дополнительного копирования не видит, но NAND получает дополнительные операции записи.

TRIM помогает контроллеру понять, какие логические блоки операционная система больше не использует. После удаления файла ОС может сообщить SSD, что соответствующие области больше не содержат полезных данных. Контроллеру тогда не требуется переносить их при последующей сборке мусора. Это уменьшает объем внутреннего копирования и помогает сохранять производительность после длительной работы. TRIM сам по себе не стирает мгновенно каждый удаленный файл и не гарантирует физическое уничтожение данных в ту же секунду: он сообщает накопителю, какие логические области можно освободить во время дальнейшего обслуживания.

Свободное пространство поэтому имеет физический смысл, а не связано с мифическим требованием «SSD должен дышать». Контроллеру проще собирать блоки и распределять запись, когда есть запас свободных страниц. У почти полностью заполненного диска возможностей для перестановки данных меньше, сборка мусора становится агрессивнее, а WAF способен расти. Micron прямо указывает, что клиентские SSD обычно имеют сравнительно небольшое штатное over-provisioning и что выделение дополнительного свободного пространства может повысить производительность при тяжелой записи и уменьшить износ. Kingston демонстрирует тот же эффект на корпоративных SSD: увеличение резервной области с примерно 7 до 28-32% резко повышает устойчивую производительность случайной записи и ресурс в write-intensive нагрузках.

M.2 SSD установлен непосредственно на материнской плате компьютера
M.2 SSD установлен непосредственно на материнской плате компьютера

Фото: Behnam Norouzi

Over-provisioning не обязательно выглядит как отдельный скрытый раздел в Windows. Часть NAND изначально недоступна пользователю и зарезервирована производителем под замену блоков, выравнивание износа и фоновую работу контроллера. Дополнительный резерв можно получить, оставив часть физической емкости вне пользовательского раздела. Kingston показывает на реальных корпоративных моделях, что разные объемы OP при той же физической NAND меняют не последовательную скорость чтения из рекламной таблицы, а главным образом устойчивую случайную запись и ресурс. Это объясняет, почему серверный SSD на условные 800 ГБ может физически содержать столько же NAND, сколько модель пользовательской емкостью около 960 ГБ: часть пространства намеренно отдана контроллеру.

SLC-кеш влияет на картину еще сильнее. TLC хранит три бита в ячейке, QLC четыре, но часть свободной NAND может временно использоваться в более простом однобитовом режиме. Пока кеш свободен, запись идет быстро. После заполнения контроллер должен преобразовать временные SLC-данные в основной TLC или QLC массив. На дешевых QLC SSD после исчерпания большого динамического кеша скорость длительной записи может снижаться в несколько раз относительно первых гигабайт теста. При этом дополнительное перемещение данных внутри накопителя снова относится к внутренней работе контроллера, а не к объему пользовательского файла. Современные схемы становятся сложнее: Micron 2600 на QLC, например, использует многоуровневую Adaptive Write Technology с SLC, TLC и QLC режимами кеширования.

Отсюда следует практический вывод для рабочих SSD. Заполнять накопитель на 99% и одновременно использовать его для кеша монтажа, виртуальных машин или постоянной перезаписи небольших файлов хуже, чем оставить резерв. Точное количество свободного места зависит от контроллера и нагрузки, универсальной цифры «обязательно 10%» нет. Если SSD используется в основном для игр и большая часть данных редко меняется, влияние будет намного меньше. Если на нем круглосуточно работает база с мелкой случайной записью, дополнительное over-provisioning способно заметно уменьшить write amplification.

Что означает «здоровье 99%» и почему этот процент нельзя считать вероятностью отказа

У NVMe есть стандартный SMART / Health Information Log. Среди его параметров находятся температура, доступный резерв, Media and Data Integrity Errors, Unsafe Shutdowns, Data Units Read, Data Units Written и Percentage Used. NVM Express объясняет Percentage Used как основной показатель расхода ресурса: значение увеличивается по мере износа NAND. Программы мониторинга часто переворачивают его и показывают пользователю «остаток здоровья». Если NVMe сообщает Percentage Used = 1%, утилита может нарисовать 99% здоровья. Но это не статистическая вероятность того, что накопитель переживет следующий год, и не полный диагноз всей электроники. NVM Express отдельно описывает эти поля и их назначение.

Data Units Written полезнее красивого зеленого индикатора, если нужно понять реальную нагрузку. В NVMe одна такая единица соответствует 1000 блокам по 512 байт, то есть 512 000 байт. Утилиты обычно сразу переводят счетчик в гигабайты или терабайты. Его можно сравнить с TBW производителя. Если на Samsung 990 PRO 1 ТБ записано 30 ТБ при гарантийных 600 TBW, по объему хостовой записи использовано около 5% номинальной границы. Но внутренний алгоритм Percentage Used может учитывать больше факторов, чем простой расчет TBW, поэтому два показателя не обязаны совпадать до процента.

схематичное изображение платы M.2 SSD с микросхемами памяти и контроллера
схематичное изображение платы M.2 SSD с микросхемами памяти и контроллера

Фото: alhilgo

Available Spare показывает запас резервных блоков. Накопитель имеет порог Available Spare Threshold, при достижении которого контроллер может выставить Critical Warning. Отдельный бит Critical Warning сигнализирует о проблемах с запасом, температурой, надежностью подсистемы, переходом в режим только чтения или отказом резервного питания там, где оно предусмотрено. Для практической диагностики такой ненулевой Critical Warning намного серьезнее абстрактного изменения здоровья со 100 до 99%. NVM Express прямо пишет, что ненулевой Critical Warning означает наличие проблемы, которую нужно расшифровать по отдельным битам.

Media and Data Integrity Errors тоже нельзя смешивать с обычным счетчиком Error Information Log. В NVMe error log способен содержать события, не означающие физическую смерть NAND: ошибки команд, проблемы программного стека и другие записи. Счетчик именно неисправимых ошибок данных намного интереснее при оценке состояния носителя. Если он начинает расти, а в системных журналах появляются ошибки ввода-вывода, ориентироваться на зеленые 95 или 99% уже бессмысленно. Копию важных данных нужно делать до дальнейших экспериментов.

Unsafe Shutdowns считает случаи, когда накопитель не получил корректного завершения питания. Сам по себе один такой счетчик после отключения электричества не означает повреждение NAND. Проблема в другом: у клиентского SSD могут находиться незавершенные операции с метаданными, таблицами трансляции FTL и пользовательскими данными. Корпоративные накопители поэтому получают полноценную Power Loss Protection на конденсаторах. Kingston DC2000B, например, прямо заявляет аппаратную защиту от потери питания. Конденсаторы дают контроллеру время завершить критические внутренние операции после пропадания внешнего питания. Обычная клиентская M.2 модель чаще рассчитывает на другие механизмы защиты и не имеет сравнимого запаса энергии.

Температура тоже влияет не только на скорость. Современный NVMe способен греться достаточно сильно, чтобы контроллер включал thermal throttling и снижал производительность. Постоянная работа около верхней допустимой температуры нежелательна и для электроники, а температура NAND связана еще и с удержанием заряда. Поэтому для SSD под видеокартой или PCIe 5.0 накопителя, работающего при длительной записи, радиатор имеет вполне измеримую функцию. Проверять нужно не декоративную накладку, а фактическую температуру контроллера и NAND в SMART во время реальной нагрузки.

Самый опасный сценарий выглядит поэтому иначе, чем принято представлять. Накопитель может иметь 98% расчетного ресурса NAND, но начать отваливаться из системы из-за контроллера. Может иметь несколько процентов остатка по endurance и продолжать безошибочно читать данные. Может иметь нулевые media errors, но регулярно получать unsafe shutdowns из-за проблем питания. Единого числа, которое объединяет эти состояния в настоящую «вероятность поломки», NVMe не предоставляет. Интерфейс программ мониторинга упрощает набор счетчиков до одного процента, но диагностировать накопитель нужно по самим параметрам.

Почему отключенный SSD не является вечным архивом, даже если на нем ничего не записывают

NAND называется энергонезависимой памятью, потому что не требует постоянного питания для сохранения данных. Это не означает бесконечное удержание заряда. Информация хранится как различимые электрические состояния ячейки, а со временем распределение заряда меняется. Чем больше бит хранится в ячейке, тем ближе друг к другу находятся допустимые уровни напряжения. SLC различает два состояния, TLC восемь, QLC шестнадцать. Контроллер использует ECC и другие методы коррекции, но у них тоже есть предел: когда распределения пороговых напряжений слишком сильно смещаются и перекрываются, восстановить исходные данные становится сложнее.

Ресурс записи и срок хранения связаны. Изношенная ячейка хуже удерживает заряд, чем новая. Именно поэтому требования к retention обычно формулируются для накопителя после достижения расчетного ресурса, то есть в тяжелой точке жизненного цикла. В таблице JESD218A, которую Kingston приводит с разрешения JEDEC, для клиентского SSD используется требование хранения без питания один год при 30 градусах после соответствующего испытания ресурса; для enterprise-класса указаны три месяца при 40 градусах, потому что рабочая модель enterprise предполагает круглосуточную эксплуатацию и другой баланс endurance и retention. Это минимальные условия стандартизированной квалификации, а не таймер, после которого любой SSD потеряет данные ровно через 365 дней. Kingston приводит параметры JESD218A в сравнении клиентских и корпоративных SSD.

Seagate в документации корпоративных Nytro формулирует зависимость еще понятнее: новый накопитель без питания способен сохранять данные до нескольких лет, по мере использования retention уменьшается, а высокая температура дополнительно сокращает срок удержания данных. Когда SSD запитан, прошивка и аппаратная часть могут отслеживать состояние ячеек и обновлять данные. На отключенном накопителе фонового refresh нет. Поэтому сценарий «записать архив фотографий на старый SSD, положить его на десять лет в шкаф и забыть» нельзя считать надежным только потому, что NAND энергонезависима.

область платы под микросхемой NAND eMMC после ее демонтажа, видны контактные площадки памяти
область платы под микросхемой NAND eMMC после ее демонтажа, видны контактные площадки памяти

Фото: Micah Elizabeth Scott

Температура хранения имеет большое значение. Потеря заряда в NAND ускоряется с ростом температуры, поэтому накопитель, лежащий летом в автомобиле или рядом с нагревающимся оборудованием, находится в худших условиях, чем тот же SSD в прохладном помещении. Обратная сторона менее очевидна: высокая рабочая температура и высокая температура последующего хранения влияют на NAND не одинаково, а реальные модели retention сложнее бытового правила «каждые 10 градусов в два раза». Для пользователя достаточно практического вывода: долговременный холодный архив на выключенном SSD нужно периодически проверять и обновлять, а важные данные должны существовать более чем на одном физическом носителе.

Чтение само по себе расходует ресурс намного слабее записи, но NAND имеет и read disturb: большое число чтений соседних ячеек способно постепенно изменять их состояние. Контроллеры учитывают подобные эффекты и при необходимости переносят данные. Пользователь обычно этого не замечает. Современный SSD является не пассивным массивом микросхем, а системой, где контроллер постоянно следит за ошибками коррекции, выравнивает износ, перемещает данные и заменяет слабые блоки резервными. Поэтому подключенный исправный SSD и тот же SSD, пять лет лежавший без питания, находятся в разных условиях, даже если счетчик TBW у них не изменился ни на байт.

Отсюда следует еще одно различие между SSD и архивной копией. У архива должна быть проверяемая целостность. Если каталог фотографий лежит только на одном NVMe, высокий SMART и низкий TBW не защищают от случайного удаления, повреждения файловой системы, сбоя контроллера или постепенной ошибки данных. Практичная схема строится вокруг нескольких копий и проверки хешей или другой системы контроля целостности. SSD в ней может быть быстрым рабочим носителем или одной из резервных копий, но не аргументом отказаться от второй копии.

Что действительно продлевает жизнь SSD и когда его пора менять

Первое полезное действие не связано с ручной оптимизацией NAND. Нужно оставить TRIM включенным и не вмешиваться в работу современных ОС без причины. Windows, Linux и современные файловые системы умеют сообщать SSD об освобожденных блоках. Старые советы отключать TRIM ради «уменьшения записи» дают обратный эффект: контроллер получает меньше информации о ненужных данных и может переносить их при Garbage Collection. Для той же причины не нужно вручную запускать традиционную дефрагментацию SSD по расписанию сторонними утилитами. ОС знает тип накопителя и применяет к нему подходящую процедуру оптимизации.

Второе действие имеет смысл для тяжелой записи: не держать рабочий SSD постоянно заполненным под завязку. Свободное пространство дает контроллеру больше вариантов для сборки мусора и выравнивания износа. Если накопитель используется как кеш монтажа, scratch-диск Photoshop, хранилище виртуальных машин или база с частой случайной записью, резерв пространства способен уменьшить WAF. Kingston показывает на своих накопителях, что увеличение over-provisioning при write-intensive нагрузках улучшает устойчивые IOPS и endurance; Solidigm и Micron используют уменьшение write amplification как отдельную задачу при проектировании серверного ПО и NVMe-механизмов.

Третье действие банально, но важнее попыток экономить каждый гигабайт записи: нужно следить за температурой и питанием. Если NVMe регулярно достигает порога throttling, стоит проверить радиатор и поток воздуха. Если SMART быстро набирает Unsafe Shutdowns, нужно искать источник внезапных отключений. Для стационарной рабочей станции нормальный ИБП уменьшает число событий потери питания, а для ноутбука эту роль частично выполняет аккумулятор. Прошивку SSD тоже имеет смысл обновлять, когда производитель исправляет конкретные ошибки. Пример с Samsung 990 PRO в 2023 году хорошо показал, что некорректно меняющийся показатель здоровья может быть связан с прошивкой, а не с реальным многократным ростом физического износа.

Четвертое действие состоит в правильном чтении SMART. Для NVMe имеет смысл записать Data Units Written, Percentage Used, Available Spare, Critical Warning, Media and Data Integrity Errors, Unsafe Shutdowns и температуру. Одноразовый снимок полезен меньше динамики. Если Percentage Used за год вырос с 1 до 2%, накопитель в таком режиме проработает очень долго по ресурсу NAND. Если Media and Data Integrity Errors были нулевыми и начали увеличиваться, ситуация намного серьезнее. Если Available Spare приближается к порогу, контроллер уже расходует резерв физической памяти. При ненулевом Critical Warning важные данные нужно копировать до продолжения диагностики.

Пятое действие касается покупки. Для игрового ПК TBW редко является главным параметром, если речь идет о нормальном TLC SSD с несколькими сотнями TBW на терабайт емкости. Для видеомонтажа, круглосуточной записи, сервера виртуализации или базы данных ресурс уже нужно считать. Например, если рабочая нагрузка стабильно пишет 500 ГБ в день, за год получится около 183 ТБ, за пять лет около 913 ТБ. SSD на 1 ТБ с гарантией 600 TBW формально пересечет гарантийную границу раньше пяти лет. Версия на 2 ТБ того же семейства с 1200 TBW уже помещается в такой сценарий, а серверный накопитель с известным DWPD дает еще более предсказуемый запас.

TLC и QLC при этом нельзя автоматически делить на «надежную» и «плохую» память. Тип NAND влияет на ресурс и характеристики, но конечный SSD определяется всей системой. Высокоемкий QLC накопитель может получить большой абсолютный TBW просто благодаря огромному числу ячеек и нормально работать в read-intensive сервере. Solidigm показывает это на простом расчете: 32-ТБ QLC SSD с 0,25 DWPD за пять лет допускает тот же общий объем записи около 14,6 ПБ, что 8-ТБ накопитель с 1 DWPD. Для домашнего архива или игровой библиотеки высокая емкость QLC может быть вполне рациональной. Для scratch-диска с постоянной случайной записью требования уже другие.

SLC тоже не исчезла полностью. Solidigm D7-P5810 использует SLC 3D NAND и рассчитан до 50 DWPD именно для кеширования, журналирования и HPC. Такой накопитель иллюстрирует цену высокой endurance: часть физических возможностей NAND жертвуется ради ресурса и стабильной записи, а емкость на тот же объем кремния получается ниже. Потребительскому ПК такая специализация обычно не нужна. На другом полюсе находится QLC, где в одной ячейке размещается четыре бита и достигается высокая плотность хранения. Между ними находится TLC, который и стал основой многих производительных потребительских NVMe.

Менять SSD только потому, что утилита показывает 90 или 80% здоровья, обычно нет причины. Это означает расход части расчетного ресурса NAND, а не наступившую неисправность. Основанием для срочной замены становятся растущие неисправимые ошибки, Critical Warning, выпадение диска из системы, переход в read-only, проблемы с резервными блоками или другие подтвержденные симптомы. Низкий Percentage Used также становится аргументом для плановой замены, если накопитель работает в системе, где отказ недопустим, но это уже решение по риску, а не магическое пороговое число.

Наконец, SSD нельзя сделать надежным архивом одной настройкой SMART. Даже накопитель с 100% расчетного здоровья может отказать внезапно. Правильная защита начинается с копий данных, а уже после этого имеет смысл выбирать TLC вместо QLC для тяжелой записи, оставлять резерв пространства, следить за температурой и покупать модель с подходящим TBW. Процент здоровья полезен как индикатор износа NAND. Он перестает вводить в заблуждение, когда рядом смотрят на объем записи, spare blocks, ошибки данных, питание и реальную роль накопителя в системе.

9 показов