LINUX.ORG.RU

наткнулся на сбойные сектора на очередном nvme ssd

 , , , ,


2

4

Уважаемый ЛОР,

Я словил очередное проявление сбойных секторов на SSD. Пациент — Samsung SSD 980 PRO 2TB с прошивкой 3B2QGXA7, в эксплуатации примерно год. Что интересно, с предыдущим накопителем проблемы обнаружились тоже примерно через год после начала эксплуатации.

Думал, что это просто старый накопитель был сбойный, поэтому даже не помню, пробовал ли делать полное чтение на новом с момента переезда. Но вот недавно мне понадобилось сбросить данные с раздела с Windows, и оно опять:

critical medium error, dev nvme0n1, sector 3854183392 op 0x0:(READ) flags 0x80700 phys_seg 32 prio class 2

В этот раз плохие сектора оказались намертво плохими. Попытки чтения из них не давали ничего.

Вот текущие параметры SMART, если интересно:

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

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        34 Celsius
Available Spare:                    79%
Available Spare Threshold:          10%
Percentage Used:                    3%
Data Units Read:                    267 208 610 [136 TB]
Data Units Written:                 115 214 434 [58,9 TB]
Host Read Commands:                 1 770 760 875
Host Write Commands:                880 382 061
Controller Busy Time:               8 163
Power Cycles:                       452
Power On Hours:                     2 220
Unsafe Shutdowns:                   30
Media and Data Integrity Errors:    32 243
Error Information Log Entries:      32 243
Warning  Comp. Temperature Time:    21
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               34 Celsius
Temperature Sensor 2:               35 Celsius
Thermal Temp. 1 Transition Count:   37
Thermal Temp. 2 Transition Count:   17
Thermal Temp. 1 Total Time:         570
Thermal Temp. 2 Total Time:         1815

Удалось отследить, что было задето. Это был старый LVM том со swap, который ни разу со дня миграции не использовался. И это были файлы игр из Steam, которые я в последний год не запускал, судя по датам в Steam’е. То есть симптомы те же — сбоят места, которые очень давно даже не читались. И я даже не знаю, попали ли мне плохие экземпляры, или это вообще общая проблема. У текущего экземпляра ещё и «Available Spare» за пару дней упал с 92% до 79%.


Upd. Оказывается, известная проблема: https://www.tomshardware.com/news/samsung-980-pro-ssd-failures-firmware-update.


Upd. 2023-02-15. Обновил прошивку до актуальной версии, 5B2QGXA7. На всякий случай сделал trim вообще по всему объёму, хотя ещё до этого выяснил, в каких именно файлах были проблемы и потримил занимаемое ими место. Пока что весь объём читается нормально.


Upd. После обновления прошивки операция TRIM стала заметно дольше выполняться. По ощущениям раз в 10 дольше.


Перемещено hobbit из general

★★★★★

Последнее исправление: i-rinat (всего исправлений: 3)

https://www.pugetsystems.com/blog/2023/02/02/update-on-samsung-ssd-reliability/

https://www.pugetsystems.com/support/guides/critical-samsung-ssd-firmware-update/

Самсунг уже не торт ):

Попробуй по гарантии поменять. Обновление прошивки не поможет.

vbr ★★★
()
Последнее исправление: vbr (всего исправлений: 2)

Посмотрел на своём Samsung SSD 980 PRO 1TB с Firmware 5B2QGXA7

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        36 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    1%
Data Units Read:                    13 144 007 [6,72 TB]
Data Units Written:                 27 507 395 [14,0 TB]
Host Read Commands:                 208 068 497
Host Write Commands:                365 895 427
Controller Busy Time:               4 366
Power Cycles:                       715
Power On Hours:                     1 597
Unsafe Shutdowns:                   119

Видимо это только с каким-то свежими прошивками. А я поскольку в венде бываю редко, то и прошивку не обновляю.

Вроде использую практически на ежедневной основе комп, а запись за два года в разы меньше, чем у вас за год.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от Loki13
Data Units Read:                    267 208 610 [136 TB]
Data Units Written:                 115 214 434 [58,9 TB]
Power On Hours:                     2 220
Data Units Read:                    13 144 007 [6,72 TB]
Data Units Written:                 27 507 395 [14,0 TB]
Power On Hours:                     1 597

Такое себе сравнение так-то.

i-rinat, у тебя там btrfs что ли?

Я к тому, что пробегала инфа, что у этой ФС коэффициент усиления записи аж 32.

Radjah ★★★★★
()

Data Units Written: 115 214 434 [58,9 TB]

Что ты с ним такое делаешь? о_О У меня за два года, из которых полтора постоянно работы со всякими докерами, сборками в нем и так далее, всего

Data Units Read:                    19 961 292 [10,2 TB]
Data Units Written:                 19 463 393 [9,96 TB]
Zhbert ★★★★★
()
Ответ на: комментарий от t184256

Есть мнение, что у ячеек, после большого числа циклов стирания-записи, сильно вырастают утечки. Мол, такой диск в выключенном состоянии долго не хранит информация.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 1)
Ответ на: комментарий от greenman

Забавно. Я не планирую его выключать и ценных данных на нем не держу, планирую ушатать до конца, заменить и продолжить.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)
Ответ на: комментарий от Loki13

Firmware 5B2QGXA7

Видимо это только с каким-то свежими прошивками. А я поскольку в венде бываю редко, то и прошивку не обновляю.

Так ведь 5B2QGXA7 и есть самая свежая прошивка. У меня была 3B2QGXA7.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от Radjah

у тебя там btrfs что ли?

У меня есть отдельные небольшие тома btrfs, но с них, в основном, чтение, и довольно нечастое. Например, разные версии boost или сборки ядра. То есть вещи, которые хорошо дедуплицируются и сжимаются.

что у этой ФС коэффициент усиления записи аж 32

Это же для очень мелких записей, где основная нагрузка — работа с метаданными. Терабайты метаданных даже с усилением быстро не набегут.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от Zhbert

Что ты с ним такое делаешь? о_О

Ну… в первые дни я на него записал около 10-12 терабайт с помощью badblocks. Отчасти это просто ритуал инициации накопителя, отчасти попытка попросить накопитель «потрогать» всё хранилище. Я сомневаюсь, что на заводе действительно все ячейки проверяют. Скорее всё даётся на откуп прошивке контроллера. Мол, заметит плохую запись, подставит резервные страницы. Читал что-то такое про microSD карты. Возможно, похожим образом работают и большие SSD.

Ещё с 5-10 терабайт накопилось, когда нужно было перебросить данные между внешними HDD, блок питания для которых я нашёл только один. Ещё вспомнил, что пару недель назад пробные запуски одного теста дали что-то около терабайта. Остальное, похоже, просто от использования.

Ну и если производитель не соврал, то ресурс у него — 1200TB. Если в таком режиме и дальше записывать, на 20 лет должно хватить. Правда, есть шанс, что он всё же посыпется раньше.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Правда, есть шанс, что он всё же посыпется раньше.

Надеюсь что нет. Я этот самсунг выбирал как раз за надежность потенциальную. Там вроде контроллер серверный стоит, который на нагрузку 24\7 рассчитан.

Так ведь 5B2QGXA7 и есть самая свежая прошивка. У меня была 3B2QGXA7.

Обновлял наверное в конце лета, когда винда для работы понадобилась, а старая 10ка уже протухла полностью.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от greenman

При помощи https://github.com/t184256/fingertip постоянно создаю и пересоздаю «слоеные» (как контейнеры) виртуалки, снапшотящиеся по мере настройки на диск, т.е. с диска я поднимаю их уже загруженными и готовыми к работе. Примерно 20 в параллель в каждый момент, чуть ли не раз в секунду старт или стоп, а примерно полтерабайтное дерево различных состояний этих виртуалок лежит, вот, этаким кешем на рейде из nvme. Ветки этого дерева периодически отсыхают и генерируются заново, но даже если его целиком разом грохну, то за сколько-то часов оно само восстановится.

А в целом это нужно, чтобы когда в RHEL случилась критическая уязвимость в нашем компоненте, не тратить время на всякий provisioning и тут же автоматически приступить к тестированию фиксов со свежих, максимально готовых к этому образов виртуалок.

На самом деле я немного удивлён read/write ratio, видимо еще дисковый кеш кучу read амортизирует.

t184256 ★★★★★
()
Ответ на: комментарий от vbcnthfkmnth123

В статье по ссылке — про 990 Pro. Там пользователи испугались, потому что у них объём резерва в SMART-параметрах быстро уменьшался. У меня была немного другая ситуация — проблема чтения данных. Они не читались вообще.

i-rinat ★★★★★
() автор топика

Кстати, забекапил данные, обновил прошивку до 5B2QGXA7, за-trim-ил весь объём, раскатал обратно из резервной копии. Пока что полёт нормальный.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

Оемные таким редко болеют - шкандаль же, когда в твоем пролайанте за 20к системный RAID1 за неделю выходит из чата. А ежели таких пролайантов несколько стоек - так и вообще большой шкандаль, гарантийные и репутационные издержки, вот это вот все.

pekmop1024 ★★★★★
()
Последнее исправление: pekmop1024 (всего исправлений: 1)
Ответ на: комментарий от i-rinat

Я, кстати, после печальных историй с 840 Evo имею привычку раз в несколько месяцев делать

dd if=/dev/nvme0n1 of=/dev/null bs=1G status=progress

во имя обновления заряда посредством чтения

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

во имя обновления заряда посредством чтения

Предыдущий накопитель научил меня тому, что «обновление заряда» может оказаться всего лишь попыткой утешить себя, и придумано пользователями на пустом месте. У меня тогда были плохо читаемые сектора. Я их за сколько-то попыток прочитал, но буквально через пару минут повторное чтение снова сбоило.

Так что как детектор проблем холостое чтение сработает, а как средство профилактики — навряд ли. И ещё read disturbance тоже никто не отменял.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от pekmop1024

Гнусмас уже не торт совсем?

У меня было всего три экземпляра. 850 EVO (sata), 970 EVO (nvme), 980 PRO (nvme). На 850 EVO проблем не было, кажется. Но он сейчас не у меня, и я его очень давно не проверял. С 970 EVO и 980 PRO, вот, были проблемы. Выборка не очень репрезентативная, но какая уж есть.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

запись во все ячейки не даст ровным счетом ничего. у проблемных ячеек заряд быстрее утекает и все. а вся магия делается через background scan (которого, к слову, на microsd нет - почему на них данные и окирпичиваются через 4-5 лет обычно) - он проверяет КС, и как только BER блока превышает пороговый, помечает блок как сбойный и перемещает содержимое в пустой.

а вот почему на самсунгах бэкграунд скан не работает - тут большой вопрос…

NiTr0 ★★★★★
()
Ответ на: комментарий от NiTr0

Каждый раз, как натыкаюсь на твои сообщения, где ты пишешь про background media scan и о том, как он якобы есть на SSD, и как его нет на microSD-картах, меня удивляет слепая уверенность. Вот и сейчас, есть довольно сильные аргументы против наличия такого сканирования на SSD, но ты всё равно абсолютно уверен.

На HDD ещё можно было спокойно проверять контрольные суммы в фоне, если хост не посылает никаких команд. Сколько там было? 6 Вт во время чтения и 5,5 Вт в покое? Разница не настолько большая, чтобы отказаться от проверки поверхности в фоне. Но вот на NVMe накопителях такие штуки уже не пройдут просто так. Большую часть времени они спят. А когда работают, жрут под десяток ватт. И у них нет особого преимущества в потреблении, если читать медленно, потому что тогда они просто сидят в состоянии повышенной готовности, а это единицы ватт, вместо единиц милливатт в состоянии сна.

Ты вообще часто замечал, чтобы накопитель в ноуте внезапно начинал разогреваться сам по себе? Лежит, значит, такой ноут, ждёт действий пользователя. И тут NVMe SSD решил проснуться и сожрать десяток процентов заряда, проверяя поверхность.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от greenman

Я не заморачивался прямо вот так измерять. Просто смотрел показатели общего потребления в powertop, в простое и при чтении данных. В простое было около 11 Вт, с копированием было около 23 Вт. Часть из этого явно процессор жрёт, но судя по нагреву ноута в той стороне, где SSD находится, он тоже немалую часть из этих 12 Вт съедает.

В отчёте smartctl написано, что максимальное заявленное потребление SSD — 8,5 Вт. Думаю, он потребляет всё же меньше заявленного максимума. Но сомневаюсь, что меньше 5 Вт.

i-rinat ★★★★★
() автор топика
Ответ на: комментарий от i-rinat

microsd карты лично у меня теряли данные в состоянии горячего простоя в смарте.

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

более того - в SSD есть фоновое упорядочивание блоков, которому ни разу не мешает энергосбережение.

ну и да, на сколько вырастет потребление ссд, если он каждые 100 секунд будет просыпаться на 1 секунду, вычитывать свои 4ГБ данных (или сколько там он максимум в секунду может читать), и засыпать снова?

NiTr0 ★★★★★
()

Обновил прошивку до актуальной версии, 5B2QGXA7

Сколько уже надо лет подтверждений, что за прошивками ssd надо пристально следить? :)

Dimez ★★★★★
()
Ответ на: комментарий от NiTr0

ссд - я такого не видел

А я видел, аж на двух.

на сколько вырастет потребление ссд, если он каждые 100 секунд будет просыпаться на 1 секунду, вычитывать свои 4ГБ данных

Если предположить, что в состоянии сна потребляет 5 мВт, то за 100 секунд сна набежит 0,5 Дж. Если в состоянии работы потребляет 5 Вт, то за одну секунду набежит 5 Дж. То есть разница будет примерно в (5+0,5)/0,5 = 11 раз. Если состояние сна менее глубокое, 40 мВт, то там уже (5 + 4)/4, то есть всего в два раза.

Вообще, да, не особо сильно. Я погорячился.

Но очевидно, в моём случае такого фонового чтения как-то не произошло.

начинал плодить реаллокейты. сам, без каких-либо операций чтения-записи.

Навскидку не нашёл в отчёте smartctl данных по числу переназначенных блоков. Возможно, нужно перелопачивать дополнительные страницы, которые по умолчанию не показываются?

i-rinat ★★★★★
() автор топика

Собирал я тут комп недавно, ну и начал читать всякие обзоры, говорят самсунг совсем плох стал.

В итоге купил под офтопик WD Black SN850 на 1тб, а на онтопик Kingston SKC3000 на 0.5 тб за копейки, разницы вообще не почувствовал, знал бы сразу бы взял два Kingson по 1тб, по деньгам вышло бы тоже самое, доволен как слон, гоняю их и в хвост и в гриву, пока все отлично.

AntonyRF ★★★★
()
Ответ на: комментарий от i-rinat

максимальное заявленное потребление SSD — 8,5 Вт. Думаю, он потребляет всё же меньше заявленного максимума. Но сомневаюсь, что меньше 5 Вт.

То ли ещё будет: готовятся к выходу M.2 SSD (PCIe 5.0) ни то что со здоровенным радиатором, а ещё и с небольшим вентилятором. Невероятные 10 GB/s. Даже самый распоследний райзен ограничен где-то 51.2 GB/s. И это с DDR5! Я как-то наивно полагал, что оперативка должна быть значительно быстрее устройств хранения. А развитие DDR и встроенных контроллеров как-то топчется сравнительно на месте. Как в середине 2000-ых AMD встроила двухканальный контроллер в проц, так он и остался двухканальным. А ядер уже не 2, а 16 (да ещё и с графикой в придачу). (Серверные платформы не рассматриваем, т.к. эти SSD потребительские.)

gag ★★★★★
()
Ответ на: комментарий от gag

Я как-то наивно полагал, что оперативка должна быть значительно быстрее устройств хранения.

Так эти SSD настолько быстры только при последовательном чтении/записи, а оперативка предоставляет рандомный доступ.

annulen ★★★★★
()
Ответ на: комментарий от greenman

Грубо потребление можно оценить, вычитая из общего потребления потребление SoC, которое репортит RAPL.

Некоторые устройства умеют репортить свое потребление по стандартному протоколу. Надо дернуть PCI_PM_CTRL_DATA_SEL_MASK, чтобы проверить, умеет ли. Но маловероятно, что ноутбучный SSD умеет.

i586 ★★★★★
()
Последнее исправление: i586 (всего исправлений: 1)