Samsung SSD «Wear_Leveling_Count» означает

26

У меня есть Samsung SSD на моем ноутбуке и на некоторых серверах.

Когда я делаю:

smartctl -a /dev/sda | grep 177

Я получаю результаты, которые не могу понять. Вот некоторые примеры:

# my laptop Samsung SSD 850 EVO 500GB (new)
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
177 Wear_Leveling_Count     0x0013   100   100   000    Pre-fail  Always       -       0

# server 256 GB, SAMSUNG MZ7TE256HMHP-00000
177 Wear_Leveling_Count     0x0013   095   095   000    Pre-fail  Always       -       95

# server 512 GB, SAMSUNG MZ7TE512HMHP-00000 (1 year old)
177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       99

# server 512 GB, SAMSUNG MZ7TE512HMHP-00000 (suppose to be new)
177 Wear_Leveling_Count     0x0013   099   099   000    Pre-fail  Always       -       99

# server 480 GB, SAMSUNG MZ7KM480HAHP-0E005
177 Wear_Leveling_Count     0x0013   099   099   005    Pre-fail  Always       -       3

# server 240 GB, SAMSUNG MZ7KM240HAGR-0E005
177 Wear_Leveling_Count     0x0013   099   099   005    Pre-fail  Always       -       11

Есть идеи как читать Wear_Leveling_Count?

Некоторые значения минимальны, некоторые максимальны.

Если рассмотреть «ноутбук» Samsung SSD 850 EVO 500GB, он равен 0 и, вероятно, перейдет на 100, а затем потерпит неудачу.

Если считать первый «сервер» 256 GB, SAMSUNG MZ7TE256HMHP-00000, то он уже на максимуме? Будет ли он падать до нуля?

Ник
источник

Ответы:

43

Кингстон описал этот атрибут SMART следующим образом:

Количество циклов стирания / программирования на блок в среднем. Этот атрибут предназначен для показа неизбежного износа. Нормализованное уравнение: 100 - (100 * Среднее число стираний / NAND максимальное номинальное количество циклов стирания)

Raw DataВ этих случаях не обращайте внимания (производители могут манипулировать ими для работы по-разному) и посмотрите на Current Valueстолбец.

Этот источник от Anandtech дает нам хорошее представление о том, как использовать эту цифру:

Значение SMART Wear Leveling Count (WLC) дает нам все необходимые данные. Текущее значение обозначает оставшийся срок службы привода в процентах, что означает, что оно начинается с 100 и уменьшается линейно при записи в привод. Необработанное значение WLC подсчитывает израсходованные циклы P / E, поэтому, если эти два значения отслеживаются во время записи на накопитель, рано или поздно мы найдем место, где нормализованное значение падает на единицу.

Все ваши диски находятся между 95 и 100, и в конечном итоге упадет до 0. Это оценка того , сколько write, erase, и rewriteт.д. циклы , каждый блок может пройти , прежде чем удается, и на данный момент, один из ваших приводов оценивается в использовали 5% его текущего ожидаемого срока службы. Опять же, ключевое слово здесь оценивается.

Также обратите внимание, что ваши накопители могут использовать разные технологии NAND, отсюда и различия в восприятии жизни. Некоторые технологии NAND предполагают, что блоки будут работать около 1000 циклов PE каждый, другие могут быть оценены до 30 000.

Jonno
источник
Я прикрепил таблицу "заголовок". Что такое «текущая» стоимость? это столбец "VALUE"?
Ник
@ Ник Да, именно так.
Джонно
Это полная противоположность моему опыту. Мои новые накопители (Samsung 850 Pro, Samsung 840 Pro) начали с исходного значения 0 и выросли оттуда. Фактически мой текущий 840 Pro был на 97 около месяца назад, а сейчас на 99. (Это из-за просмотра SMART-данных с помощью программного обеспечения Samsung Magician.)
Granger
3
@Granger У вас есть столбец «Значение» или «Текущий»? Необработанные значения, как правило, зависят от OEM, который решает, что они делают, и не обязательно являются разборчивыми данными. Обратите внимание, что в примере, представленном OP, «VALUE» равно 100, а «RAW_VALUE» равно 0 для их 850 EVO.
Джонно
Ах. Это имеет больше смысла, если я полностью игнорирую столбец «Raw Value».
Грейнджер
2

SMART сообщает о состоянии PREFAILED для моего Samsung SM951 (AHCI) 128 ГБ, о котором сообщается в Linux как SAMSUNG MZHPV128HDGM-00000 (BXW2500Q).

Но в моем случае я думаю, что это ошибка прошивки привода,

  • потому что это total-bytes-writtenсвойство указано как 1,1 ТБ, в то время как накопитель имеет указанное общее записанное количество байтов (TBW) 75 ТБ! Что, вероятно, на стороне сохранения (очень), потому что аналогичные (MLC NAND) накопители достигли множества из этого (600 ТБ) в реальном тесте на выносливость ,
  • и кроме wear_level_countпредупреждения не сообщается о каких-либо других ошибках или предупреждениях, связанных с префайлом или устареванием,
  • в то время как значение reallocated-sector-count, которое в соответствии с этим тестом является хорошим индикатором перед отказом, по-прежнему равно 0.

Поэтому я бы посоветовал изучить эти значения для вашего диска / системы и основывать свои выводы на этом.

Я предпочитаю утилиту низкого уровня, skdumpкоторая поставляется вместе с libatasmartтой же библиотекой, что и Gnome Disks .

Используйте следующую команду, заменив /dev/sdcпуть к вашему блочному устройству:

sudo skdump /dev/sdc

Рональд
источник