Как стать автором
Обновить
268.75
FirstVDS
Виртуальные серверы в ДЦ в Москве

Когда умрёт мой SSD — расчёт срока жизни

Время на прочтение9 мин
Количество просмотров196K


У каждого SSD есть ресурс на количество циклов перезаписи, то есть объём записанной информации в течение всей жизни. Физика и механика SSD очень сложные, но долговечность накопителя в итоге сводится к простому правилу — чем больше на него пишешь, тем меньше он проживёт.

У одних SSD критический сбой происходит через несколько месяцев, другие работают годами. Это зависит от качества комплектующих, условий эксплуатации и везения. В общем, как у людей.

Срок жизни SSD ограничен, потому что ячейки флеш-памяти NAND выдерживают ограниченное количество циклов перезаписи (циклы P/E, "program / erase"). По мере перехода производителей флеш-памяти с технологии Multi Level Cell (MLC/DLC, 2 бита на ячейку) на Triple Level Cell (TLC, 3 бита), Quad-level cell (QLC, 4 бита) и Penta-level cell (PLC, 5 бит, пока находится в разработке) ресурс P/E уменьшается из-за увеличения сложности производства. Причём уменьшается кратно.

Например, древняя однобитная SLC на этапе анонса технологии NAND выдерживала 100 тысяч циклов перезаписи, двухбитная MLC/DLC — уже 10 тысяч. С увеличением плотности записи и ёмкости накопителей снижается цена гигабайта, но увеличивается сложность и уменьшается ресурс ячеек памяти.


Уменьшение ресурса P/E с увеличением технологической сложности производства флеш-памяти, источник

Производители пытаются увеличить срок жизни SSD разными способами: интеллектуальное распределение нагрузки (прошивка SSD, контроллер), отслеживание и коррекция ошибок, резервный кэш накопителя.

Показатели DWPD и TBW


Обычно производитель указывает два параметра, которые позволяют рассчитать срок эксплуатации накопителя: DWPD и TBW. Например, для NVMe SSD 980 PRO заявлен гарантийный показатель 150 TBW для накопителя на 250 ГБ и 600 TBW для модели 1 ТБ.

  • Terabytes Written (TBW) = количество терабайт, которые можно записать на SSD в течение срока эксплуатации.
  • Drive Writes Per Day (DWPD или DW/D) = расчётная нагрузка на SSD (в день) во время срока эксплуатации, который составляет три-пять лет.

Если указан только DWPD, то можем сами посчитать TBW:

TBW (Х ТБ) = Х * DWPD * 365 дней в году * количество лет гарантии

Если в технических характеристиках 4-терабайтного SSD указано «пять лет, 1 DWPD», то накопитель рассчитан на 4 терабайта записи в день в течение 365*5 = 1825 дней, то есть:

TBW = 4*1825 = 7300 ТБ

Такой объём записи должен выдержать накопитель в течение гарантийного срока.

Для разных накопителей количество TBW кратно отличается при одинаковом DWPD. То есть 1 DWPD для 15-терабайтного диска означает в 15 раз больший объём записи, чем 1 DWPD для терабайтного.

То еcть даже изначально при покупке SSD можно рассчитать, сколько лет отработает SSD с конкретным DWPD, если вы заранее знаете объём записи на диск в своей системе.

Соответственно, в случае интенсивной нагрузки 24/7 типа майнинга Chia можно выбрать более дорогую модель с более высоким показателем DWPD — и всё равно она долго не проживёт. А для нормальной работы нет смысла переплачивать, если расчёт по формуле покажет вам срок эксплуатации более 100 лет. Тут явно накопитель выйдет из строя раньше и по другим причинам.

Оценка своего DWPD


Для предварительной оценки нагрузки на SSD в продакшне на основе рекомендаций производителей можно составить такую небольшую шпаргалку с указанием типичных вариантов использования:
Сценарий использования Описание Примерный DWPD
Загрузочный диск Загрузка сервера. Нечастые обновления. Логи и постоянные файлы хранятся на другом накопителе. 0,1 ~ 1,0
Раздача контента Фронтенд CDN. Кэш для самых популярных медиафайлов 0,5 ~ 2,0
Видеонаблюдение Запись трансляции с нескольких камер 24/7, периодическая перезапись содержимого диска. кратно Nкамер
Виртуализация и контейнеры Хранилище Tier-0 для контейнеров и VM в гиперконвергентной системе. Всё локальное хранилище в кластере работает на SSD. 1,0 ~ 3,0
Транзакционная система (OLTP) Нагрузки с интенсивным использованием данных. Частое обновление журналов БД и файлов, до тысячи операций в секунду. от 3,0
Высокопроизводительное кэширование Кэш для локальных HDD. Максимальные нагрузки. от 3,0 и гораздо выше
Таким образом, из реального DWPD и P/E для своего SSD можно примерно оценить приблизительный срок его жизни: общий и сколько осталось.

Общий срок жизни (дней) = P/E для своего типа памяти / DWPD (реальный)

Оставшийся срок можно ориентировочно спрогнозировать, если вычесть реальный срок эксплуатации из общего срока жизни SSD.

Или другой вариант — посчитать максимальный TBW для своего SSD исходя из его технических характеристик, а потом отслеживать реальный TBW в процессе эксплуатации.

Сбор статистики с конкретного SSD


Для просмотра показателей SMART существует ряд специализированных утилит. В частности, под Linux это консольные утилиты smartctl, smartd и др. (см. статью про мониторинг SSD под Linux).

Пример выдачи smartctl
sh$ sudo smartctl -a /dev/sdb
smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.10.0-32-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 120) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 11) minutes.
SCT capabilities: (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000a 100 100 000 Old_age Always - 0
2 Throughput_Performance 0x0005 100 100 050 Pre-fail Offline - 0
3 Spin_Up_Time 0x0007 100 100 050 Pre-fail Always - 0
5 Reallocated_Sector_Ct 0x0013 100 100 050 Pre-fail Always - 0
7 Unknown_SSD_Attribute 0x000b 100 100 050 Pre-fail Always - 0
8 Unknown_SSD_Attribute 0x0005 100 100 050 Pre-fail Offline - 0
9 Power_On_Hours 0x0012 100 100 000 Old_age Always - 171
10 Unknown_SSD_Attribute 0x0013 100 100 050 Pre-fail Always - 0
12 Power_Cycle_Count 0x0012 100 100 000 Old_age Always - 105
166 Unknown_Attribute 0x0012 100 100 000 Old_age Always - 0
167 Unknown_Attribute 0x0022 100 100 000 Old_age Always - 0
168 Unknown_Attribute 0x0012 100 100 000 Old_age Always - 0
169 Unknown_Attribute 0x0013 100 100 010 Pre-fail Always - 100
170 Unknown_Attribute 0x0013 100 100 010 Pre-fail Always - 0
173 Unknown_Attribute 0x0012 200 200 000 Old_age Always - 0
175 Program_Fail_Count_Chip 0x0013 100 100 010 Pre-fail Always - 0
192 Power-Off_Retract_Count 0x0012 100 100 000 Old_age Always - 18
194 Temperature_Celsius 0x0023 063 032 020 Pre-fail Always - 37 (Min/Max 11/68)
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
240 Unknown_SSD_Attribute 0x0013 100 100 050 Pre-fail Always - 0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]

SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Для разных атрибутов SMART утилиты показывают статус типа OLD_AGE, PRE-FAIL или FAILING_NOW. Это значит, что некий атрибут соответствует количеству аномальных ситуаций, и для этих аномалий установлено граничное значение (threshold). Если значение приближается к граничному, это означает PRE-FAIL, а если превышает его — FAILING_NOW. Но это лишь косвенные параметры, которые напрямую не говорят о физическом повреждении ячеек памяти. Некоторые специалисты предпочитают игнорировать показатели типа Wear_Leveling_Count. Один из разработчиков сделал форк стандартной утилиты мониторинга etbe-mon, которая умеет отслеживать данные SMART и подавлять бесполезные уведомления типа FAILING_NOW от Wear_Leveling_Count.

Самый важный их показатель — объективная нагрузка на диск и количество записанной информации, то есть реальные DWPD и TBW, вот их желательно учитывать в первую очередь.

Под Windows есть несколько хороших инструментов для сбора статистики. Например, программа Hard Disk Sentinel отслеживает объём информации, записанной на каждый накопитель за всё время эксплуатации, и рассчитывает прогноз оставшегося срока жизни.


Hard Disk Sentinel

Есть ещё программа CrystalDiskInfo и др.


CrystalDiskInfo

Многие производители предлагают собственные инструменты для обслуживания своих SSD-накопителей. Например, для накопителей Kingston есть Kingston SSD Manager, для накопителей Samsung — Samsung Magician и так далее.

Эти программы не только собирают статистику с накопителя, но и оповещают о выходе новых прошивок. Производители рекомендуют держать SSD в актуальном состоянии и обновлять прошивку.

Как продлить срок жизни SSD


Логика подсказывает: если ресурс SSD ограничен количеством циклов перезаписи, то для увеличения срока жизни нужно уменьшить объём записи.

Разумеется, при этом мы не хотим жертвовать производительностью или чем-то другим.

Что можно сделать?


И не следует забывать про резервное копирование для страховки, на случай выхода из строя SSD в любой момент. Можно соорудить простейший RAID-массив из двух-трёх SSD, которые работают одновременно и дублируют друг друга.

SSD+HDD


Один из известных лайфхаков — связка SSD+HDD. Условно говоря, вместо одного большого SSD можно купить NVMe маленького размера, только для операционной системы, рабочих приложений и избранных игр, а все остальные файлы, дистрибутивы и резервные копии хранить на дешёвом медленном SATA HDD. По цене получится примерно одинаковая сумма, а места больше на несколько терабайт.

Хотя так делают скорее для экономии и увеличения объёма хранилища, но у лайфхака есть и дополнительный бонус — некоторое снижение нагрузки на SSD. То есть увеличение его срока жизни.

Кроме того, в более свободных SSD больше размер кэша и выше производительность, чем в заполненных.


Изменение размера кэша SLC в зависимости от объёма свободного места в Intel SSD 665p, источник

Да и игры всё растут. Дистрибутивы по 200 ГБ уже почти норма… Так что полностью переходить на модель «один большой SSD» немного опасно, места может не хватить для всего. С другой стороны, всё больше игр рекомендуют SSD для установки. Тут особо не забалуешь, потому что при использовании HDD страдает производительность.

Надёжность SSD и HDD в первый год работы


Самым известным источником данных по надёжности накопителей в практическом использовании остаётся статистика хостера Backblaze, которая периодически обновляется. У них тысячи серверов и девять лет статистики по разным моделям HDD и SSD (в последние годы загрузочные диски серверов перевели на SSD).

В сентябре 2021 года Backblaze впервые сравнила SSD и HDD по надёжности, получилось любопытно.

В целом оказалось, что в начале работы (в среднем до 14 месяцев в данном случае) SSD выходят из строя немножко реже, чем HDD.

Годовая частота сбоев (AFR)
Количество дисков Средний возраст (месяцев) Дней работы Всего сбоев AFR
SSD 1666 14,2 591 501 17 1,05%
HDD 1607 52,4 3 523 610 619 6,41%



Что будет дальше — непонятно. На интервале в несколько лет достоверная статистика пока не собрана. Вполне возможно, что там преимущество SSD будет не таким очевидным, как раз из-за ограниченного ресурса на количество циклов перезаписи.

Что в итоге


Вообще, в последние годы после освоения NVME и PCIe 4.0 рынок потребительских SSD немножко застыл на месте. Бенчмарки топовых моделей вроде 980Pro и SN850 не слишком отличаются от моделей двух-трёхлетней давности. Максимальный объём массовых SSD упёрся в 2–4 ТБ и дальше особо не растёт. Причин много, в том числе дефицит микросхем.

Если нет особого прогресса по техническим характеристикам, то на первый план выходит надёжность как ключевой фактор. И вот здесь прогресс виден. Некоторые SSD уже обогнали отдельные HDD по заявленной надёжности (объём записи 1200–2500 ТБ на 5 лет). Хотя до рекодсменов типа WD Ultrastar DC SN840 им ещё далеко. Там вообще 35 040 ТБ на 5 лет.

Интересно, что «закон Мура» в широком смысле (то есть возрастание некоего технического параметра в геометрической прогрессии) оживает и затихает в разных местах. В конце 20 века он был явно виден у CPU, потом начался бурный прогресс HDD (2000-е), потом SSD (2010-е), а сейчас заметен в области аккумуляторов. Создаётся впечатление, что интенсивное развитие начинается в разных отраслях по очереди, после чего затихает. Но иногда случается неожиданный технологический прорыв, как было с ядром Zen от AMD — и закон Мура снова просыпается… И так продолжается снова и снова: научно-технический прогресс не остановить.


НЛО прилетело и оставило здесь промокод для читателей нашего блога:

15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.
Теги:
Хабы:
+41
Комментарии156

Публикации

Информация

Сайт
firstvds.ru
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия
Представитель
FirstJohn