Como verificar a vida útil restante no SSD ou o nível de desgaste da mídia?

31

Todos sabemos que os SSDs têm uma vida útil predeterminada limitada. Como verifico no Linux qual é o status de integridade atual de um SSD?

A maioria dos resultados de pesquisa do Google solicita que você pesquise informações SMART para um campo de porcentagem chamado Media_Wearout_Indicator ou outros indicadores de jargões como Longterm Data Endurance - que não existem - Sim, verifiquei dois SSDs, ambos não possuem esses campos. Eu poderia encontrar um terceiro SSD, mas acho que os campos não são padronizados.

Para demonstrar o problema, aqui estão os dois exemplos.


Com o primeiro SSD, não está claro qual campo indica o nível de desgaste. No entanto, existe apenas um Unknown_Attribute cujo RAW VALUE está entre 1 e 100, portanto, posso apenas assumir que é isso que estamos procurando:

    $ 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

Portanto, este SSD usou 57% de sua duração de reescrita, está correto?


Com o outro disco, o SSD_Life_Left ATTRIBUTE se destaca, mas seu valor bruto de 0, indicando 0% de vida útil restante, é improvável para um SSD aparentemente saudável, a menos que esteja em perigo (veremos em alguns dias) e se aparecer "0% da vida útil foi usada", também é impossível para um disco rígido gasto (gasto = usado por mais de um ano).

    > 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
Tankman 六四
fonte
Com os atributos SMART, os valores mais baixos são piores porque o inversor sempre alerta se um valor é menor que (ou igual a? Não tenho certeza) do valor limite. Dito isto, é muito bom ter um indicador de desgaste, mas espero que você não confie dados preciosos em nenhum dispositivo de armazenamento. Você deve estar executando vários dispositivos de armazenamento em um arranjo RAID.
Alexs #
Como você sabe que meus dados são 'preciosos'? É apenas uma cópia offline da base de conhecimento da empresa no meu laptop. Comento para enfatizar que as pessoas assumem com muita frequência um cenário sysop. Obrigado por seus comentários de qualquer maneira.
Tankman六四
Todos os dados são preciosos. :) Começamos com esse princípio e passamos a dados mais preciosos (fotos digitais de um fotógrafo, por exemplo) e menos preciosos (o sistema operacional - fácil de substituir, mas com tempo de inatividade e perda de tempo / receita, se necessário) substitua-o).
Alexs
Ambas as unidades estão dentro dos limites de resistência. A primeira unidade possui apenas cerca de 350 GiB, enquanto a segunda unidade possui 1,1 TiB. Eu não estou certo o que está acontecendo aqui ...
bwDraco

Respostas:

19

No seu primeiro exemplo, o que eu acho que você está se referindo é o "Indicador de desgaste de mídia" nas unidades Intel, que é o atributo 233. Sim, ele tem um intervalo de 0 a 100, sendo 100 uma unidade nova e não utilizada e 0 completamente desgastado. De acordo com sua opinião, esse campo parece não existir.

No seu segundo exemplo, leia os documentos oficiais sobre SSD_Life_Left. Por essa página:

O valor RAW deste atributo é sempre 0 e não tem significado. Verifique o VALUE normalizado. Começa em 100 e indica a porcentagem aproximada de vida útil restante do SDD. Geralmente diminui quando os blocos do Flash são marcados como incorretos; consulte o valor RAW de Retired_Block_Count

É realmente importante que você entenda completamente o que smartctl (8) está dizendo e não faça suposições. Infelizmente, as ferramentas SMART nem sempre estão atualizadas com os SSDs mais recentes e seus atributos. Como tal, nem sempre existe uma maneira clara de saber quantas vezes os chips foram gravados. O melhor que você pode fazer é examinar o "Power_On_Hours", que no seu caso é "6568", determinar a utilização média do disco e calcular a média.

Você deve poder consultar as especificações de sua unidade e determinar o processo usado para fabricar os chips. Os chips de processo de 32 nm terão uma resistência de gravação mais longa do que os chips de processo de 24 nm. No entanto, parece que "em média", você provavelmente poderia esperar de 3.000 a 4.000 gravações, com um mínimo de 1.000 e um máximo de 6.000. Portanto, se você tiver um SSD de 64 GB, espere em algum lugar próximo de 192 a 256 TB gravados no SSD, assumindo o nível de desgaste.

Por exemplo, se você estiver utilizando uma utilização de, digamos, 11 KBps em sua unidade, poderá esperar cerca de 40 MB gravados por hora. Com 6568 horas de funcionamento, você gravou aproximadamente 260 GB em disco. Sabendo que você provavelmente poderia sustentar cerca de 200 TB do total de gravações, antes da falha, você tem cerca de 600 anos antes da falha devido ao desgaste dos chips. Seu disco provavelmente falhará devido a capacitores desgastados ou regulação de tensão.

Aaron Toponce
fonte
9
Tão claro, obrigado. Esse conhecimento é melhor transformado em uma ferramenta GUI utilizando smartctl ou sua API. Afinal, calcular com uma calculadora usando o computador como dispositivo de entrada e o humano sentado à sua frente como processador é contra o espírito com o qual os computadores foram inventados!
Tankman六四
Seu link parece estar morto #
Skeleton Bow
15

Para SSDs da Samsung, verifique o atributo SMART 177 (Contagem de nivelamento de desgaste).

ID # 177 Contagem de nivelamento de desgaste

Este atributo representa o número de operações de programa e exclusão de mídia (o número de vezes que um bloco foi apagado). Este valor está diretamente relacionado ao tempo de vida do SSD. O valor bruto desse atributo mostra a contagem total de ciclos P / E.

Fonte: http://www.samsung.com/global/business/semiconductor/minisite/SSD/M2M/download/07_Communicating_With_Your_SSD.pdf

O indicador do nível de desgaste começa em 100 e diminui linearmente até 1 do que eu sei. Em 1, o inversor excedeu todos os seus ciclos nominais de p / e, mas, na realidade, a resistência total do inversor pode exceder significativamente esse valor.

Fonte: http://www.anandtech.com/show/7173/samsung-ssd-840-evo-review-120gb-250gb-500gb-750gb-1tb-models-tested/3

Eu sugiro que você faça a última afirmação sobre exceder esse valor com um grão de sal.

Diaa Sami
fonte
O link já está morto.
Calculus Knight,
Acho que eles têm o pedido de Wear_Leveling_Count ao contrário. Eu tenho 2 SSDs Samsung e o que tem ~ 4 anos tem um RAW_VALUE de 42 e outro que tem ~ 1 mês tem um RAW_VALUE de 0. Parece ser que ele começa em 0 e aumenta para cima.
John Eikenberry 15/10
4

Se você não possui um SSD da marca Intel: Cuidado! Eu tenho um SSD da Samsung e fui totalmente enganado pela identificação incorreta de atributos pelo smartmontools / smartctl. Se você tiver alguma coisa, exceto a Intel - poderá encontrar minha história de dor (insana) em https://askubuntu.com/a/460463/65722 útil.

Que sua proporção entre qualidade da informação e tempo gasto na escavação seja melhor que a minha!

Matt S.
fonte
0

tendo um servidor com uma placa de ataque LSI , tenho 7 SSDs da Samsung instalados.

É tal que

  • / dev / sda é o SSD do meu sistema operacional, marcado como JBOD pelo Raid Controller.
  • Os outros 7 SSDs aparecem apenas como / dev / sdb porque são RAID 0 (ou RAID-?).

Para obter informações de discos atrás de um controlador RAID, o truque é

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

para obter as informações do smartctl, como

  • WEAR_LEVELING_COUNT
  • POWER_ON_HOURS
  • TEMPERATURE_CELCIUS e todas essas outras coisas boas

para cada disco faça

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

a sintaxe do smartctl ésmartctl [options] <device>

é assim que você entra e passa por uma placa RAID quando vários discos não aparecem como vários dispositivos, como / dev / sdb, / dev / sdc, / dev / sdd e assim por diante.

Ron
fonte