У каждого 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 тысяч. С увеличением плотности записи и ёмкости накопителей снижается цена гигабайта, но увеличивается сложность и уменьшается ресурс ячеек памяти.
Производители пытаются увеличить срок жизни 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 отслеживает объём информации, записанной на каждый накопитель за всё время эксплуатации, и рассчитывает прогноз оставшегося срока жизни.
Есть ещё программа CrystalDiskInfo и др.
CrystalDiskInfo
Многие производители предлагают собственные инструменты для обслуживания своих SSD-накопителей. Например, для накопителей Kingston есть Kingston SSD Manager, для накопителей Samsung — Samsung Magician и так далее.
Эти программы не только собирают статистику с накопителя, но и оповещают о выходе новых прошивок. Производители рекомендуют держать SSD в актуальном состоянии и обновлять прошивку.
Как продлить срок жизни SSD
Логика подсказывает: если ресурс 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 — и закон Мура снова просыпается… И так продолжается снова и снова: научно-технический прогресс не остановить.