Как проверить срок службы SSD или уровень износа носителя?

31

Все мы знаем, что твердотельные накопители имеют ограниченный заранее определенный срок службы. Как проверить в Linux текущее состояние SSD?

В большинстве результатов поиска Google запрашивается поиск информации SMART для процентного поля с именем Media_Wearout_Indicator или других индикаторов жаргона, таких как Longterm Data Endurance - которые не существуют - да, я проверил два твердотельных накопителя, в обоих из которых отсутствуют эти поля. Я мог бы продолжить, чтобы найти третий SSD, но я чувствую, что поля не стандартизированы.

Чтобы продемонстрировать проблему, вот два примера.


С первым SSD не ясно, какое поле указывает уровень износа. Однако есть только один Unknown_Attribute, значение RAW которого находится в диапазоне от 1 до 100, поэтому я могу только предположить, что это то, что мы ищем:

    $ sudo smartctl -A /dev/sda                                             
    smartctl 6.2 2013-04-20 r3812 [x86_64-linux-3.11.0-14-generic] (local build)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF READ SMART DATA SECTION ===                                 
    SMART Attributes Data Structure revision number: 1                       
    Vendor Specific SMART Attributes with Thresholds:                        
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      5 Reallocated_Sector_Ct   0x0002   100   100   000    Old_age   Always       -       0
      9 Power_On_Hours          0x0002   100   100   000    Old_age   Always       -       6568
     12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always       -       1555
    171 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    172 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    173 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       57
    174 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       296
    187 Reported_Uncorrect      0x0002   100   100   000    Old_age   Always       -       0
    230 Unknown_SSD_Attribute   0x0002   100   100   000    Old_age   Always       -       190
    232 Available_Reservd_Space 0x0003   100   100   005    Pre-fail  Always       -       0
    234 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       350
    241 Total_LBAs_Written      0x0002   100   100   000    Old_age   Always       -       742687258
    242 Total_LBAs_Read         0x0002   100   100   000    Old_age   Always       -       1240775277

Таким образом, этот SSD использовал 57% своей продолжительности перезаписи, это правильно?


С другим диском SSD_Life_Left ATTRIBUTE выделяется, но его значение Raw, равное 0, указывающее на оставшийся срок службы 0%, маловероятно для очевидно здорового твердотельного накопителя, если только он не окажется в опасности (мы увидим через несколько дней), и если на нем написано «0% срока службы использовалось», это также невозможно для изношенного жесткого диска (изношен = используется более года).

    > sudo /usr/sbin/smartctl -A /dev/sda
    smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.11.6-4-desktop] (SUSE RPM)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF READ SMART DATA SECTION ===
    SMART Attributes Data Structure revision number: 10
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      1 Raw_Read_Error_Rate     0x000f   104   100   050    Pre-fail  Always       -       0/8415644
      5 Retired_Block_Count     0x0033   100   100   003    Pre-fail  Always       -       0
      9 Power_On_Hours_and_Msec 0x0032   100   100   000    Old_age   Always       -       4757h+02m+17.130s
     12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1371
    171 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    172 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    174 Unexpect_Power_Loss_Ct  0x0030   000   000   000    Old_age   Offline      -       52
    177 Wear_Range_Delta        0x0000   000   000   000    Old_age   Offline      -       2
    181 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    182 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
    194 Temperature_Celsius     0x0022   030   030   000    Old_age   Always       -       30 (Min/Max 30/30)
    195 ECC_Uncorr_Error_Count  0x001c   104   100   000    Old_age   Offline      -       0/8415644
    196 Reallocated_Event_Count 0x0033   100   100   000    Pre-fail  Always       -       0
    231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0
    233 SandForce_Internal      0x0000   000   000   000    Old_age   Offline      -       3712
    234 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       1152
    241 Lifetime_Writes_GiB     0x0032   000   000   000    Old_age   Always       -       1152
    242 Lifetime_Reads_GiB      0x0032   000   000   000    Old_age   Always       -       3072
Танкист 六四
источник
С атрибутами SMART более низкие значения хуже, потому что привод всегда предупреждает, если значение ниже (или равно? Не уверен) порогового значения. Тем не менее, очень хорошо иметь индикатор износа, но я надеюсь, что вы не доверяете ценные данные ни одному устройству хранения. Вы должны использовать несколько устройств хранения данных в RAID-массиве.
Алексиос
Откуда ты знаешь, что мои данные «драгоценны»? Это просто автономная копия базы знаний компании на моем ноутбуке. Я комментирую, чтобы подчеркнуть, что люди слишком часто принимают сценарий сисопа. Спасибо за ваши комментарии в любом случае.
Танкист 六四
Все данные драгоценны. :) Мы начинаем по этому принципу, а затем переходим к более ценным данным (например, цифровым фотографиям фотографа) и менее ценным (ОС - легко заменяется, но при этом приходится терять время и тратить время / доходы, если вам необходимо). замени это).
Алексиос
Оба привода находятся в пределах выносливости. На первом диске всего около 350 ГиБ, а на втором - 1,1 ТиБ. Я не уверен, что здесь происходит ...
bwDraco

Ответы:

19

В первом примере я думаю, что вы имеете в виду «Индикатор износа носителя» на дисках Intel, который является атрибутом 233. Да, он имеет диапазон от 0 до 100, где 100 - это совершенно новый, неиспользуемый диск, и 0 полностью изношен. По вашему мнению, это поле, кажется, не существует.

Во втором примере, пожалуйста, прочитайте официальные документы о SSD_Life_Left. На этой странице:

Значение RAW этого атрибута всегда равно 0 и не имеет значения. Вместо этого проверьте нормализованное ЗНАЧЕНИЕ. Он начинается с 100 и указывает приблизительный процент оставшегося срока службы SDD. Обычно это уменьшается, когда блоки Flash помечены как плохие, см. Значение RAW в Retired_Block_Count

Очень важно, чтобы вы полностью понимали, что говорит smartctl (8), а не делали предположений. К сожалению, инструменты SMART не всегда в курсе последних SSD и их атрибутов. Таким образом, не всегда можно точно определить, сколько раз чипы были записаны. Лучшее, что вы можете сделать, это посмотреть на «Power_On_Hours», который в вашем случае равен «6568», определить среднюю загрузку диска и усреднить ее.

Вы должны быть в состоянии найти спецификации вашего накопителя и определить процесс изготовления чипов. Процессорные микросхемы 32 нм будут иметь более длительную стойкость при записи, чем технологические микросхемы 24 нм. Тем не менее, кажется, что «в среднем» можно ожидать от 3000 до 4000 записей, при этом как минимум 1000 и максимум 6000. Таким образом, если у вас SSD на 64 ГБ, то вы должны ожидать, что где-то около 192 ТБ до 256 ТБ будет записано на SSD, при условии выравнивания износа.

Например, если вы используете, скажем, 11 Кбит / с на вашем диске, вы можете ожидать около 40 МБ в час. При 6568 включенных часах вы записали примерно 260 ГБ на диск. Зная, что вы можете выдержать около 200 ТБ от общего количества операций записи, до сбоя у вас будет около 600 лет до сбоя из-за износа чипов. Ваш диск может выйти из строя из-за изношенных конденсаторов или регулирования напряжения.

Аарон Топонсе
источник
9
Так ясно, спасибо. Эти знания лучше всего превратить в инструмент с графическим интерфейсом, использующий Smartctl или его API. В конце концов, вычисление с помощью калькулятора с использованием компьютера в качестве устройства ввода и человека, сидящего перед ним в качестве процессора, противоречит духу, с которым были изобретены компьютеры!
Танкист 六四
Ваша ссылка, кажется, мертва
Skeleton Bow
15

Для твердотельных накопителей Samsung проверьте атрибут SMART 177 (Счетчик уровня износа).

ID # 177 Счетчик износа

Этот атрибут представляет количество мультимедийных программ и операций удаления (количество удалений блока). Это значение напрямую связано с временем жизни SSD. Необработанное значение этого атрибута показывает общее количество циклов P / E.

Источник: http://www.samsung.com/global/business/semiconductor/minisite/SSD/M2M/download/07_Communicating_With_Your_SSD.pdf

Индикатор уровня износа начинается с 100 и уменьшается линейно до 1, что я могу сказать. При значении 1 привод превысит все свои номинальные циклы p / e, но в действительности общая выносливость привода может значительно превысить это значение.

Источник: http://www.anandtech.com/show/7173/samsung-ssd-840-evo-review-120gb-250gb-500gb-750gb-1tb-models-tested/3

Я бы посоветовал вам принять это последнее утверждение о превышении этого значения с недоверием.

Диаа саами
источник
Ссылка сейчас мертва.
Исчисление Рыцарь
Я думаю, что у них есть заказ на Wear_Leveling_Count в обратном направлении. У меня есть 2 твердотельных накопителя Samsung, один из которых ~ 4 года имеет RAW_VALUE 42, а другой, возраст которого ~ 1 месяц, имеет RAW_VALUE 0. Кажется, что он начинается с 0 и увеличивается вверх.
Джон Эйкенберри
4

Если у вас нет SSD от Intel: будьте осторожны! У меня есть Samsung SSD, и я был полностью введен в заблуждение ошибочной маркировкой атрибутов в smartmontools / smartctl. Если у вас есть что-то кроме Intel - моя история о (бессмысленной) боли может оказаться полезной на /ubuntu//a/460463/65722 .

Пусть ваше соотношение качества информации и затраченного времени будет лучше моего!

Мэтт С.
источник
0

у меня есть сервер с рейд-картой LSI , у меня установлено 7 твердотельных накопителей Samsung.

Это так, что

  • / dev / sda - это SSD моей операционной системы, помеченный как Raid Controller как JBOD.
  • Другие 7 SSD отображаются только как / dev / sdb, потому что они RAID 0 (или RAID-?).

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

smartctl --scan

{output is}
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/bus/0 -d megaraid,8 # /dev/bus/0 [megaraid_disk_08], SCSI device
/dev/bus/0 -d megaraid,9 # /dev/bus/0 [megaraid_disk_09], SCSI device
/dev/bus/0 -d megaraid,10 # /dev/bus/0 [megaraid_disk_10], SCSI device
/dev/bus/0 -d megaraid,11 # /dev/bus/0 [megaraid_disk_11], SCSI device
/dev/bus/0 -d megaraid,12 # /dev/bus/0 [megaraid_disk_12], SCSI device
/dev/bus/0 -d megaraid,13 # /dev/bus/0 [megaraid_disk_13], SCSI device
/dev/bus/0 -d megaraid,14 # /dev/bus/0 [megaraid_disk_14], SCSI device
/dev/bus/0 -d megaraid,15 # /dev/bus/0 [megaraid_disk_15], SCSI device

затем получить информацию о Smartctl, такую ​​как

  • WEAR_LEVELING_COUNT
  • POWER_ON_HOURS
  • TEMPERATURE_CELCIUS и все другие хорошие вещи

для каждого диска сделать

smartctl -d megaraid,8 -all /dev/bus/0
smartctl -d megaraid,9 -all /dev/bus/0
smartctl -d megaraid,10 -all /dev/bus/0
{down to}
smartctl -d megaraid,15 -all /dev/bus/0

Синтаксис Smartctl являетсяsmartctl [options] <device>

это то, как вы подключаетесь к карте raid, когда несколько дисков не отображаются в виде нескольких устройств, таких как / dev / sdb, / dev / sdc, / dev / sdd и т. д.

рон
источник