Significado de SSD Samsung "Wear_Leveling_Count"

26

Eu tenho SSDs da Samsung no meu próprio laptop e em alguns servidores.

Quando eu faço:

smartctl -a /dev/sda | grep 177

Eu obtenho resultados que não consigo entender. aqui estão alguns exemplos:

# 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

Alguma idéia de como ler Wear_Leveling_Count?

Alguns valores estão no mínimo, outros estão no máximo.

Se considerar "laptop" Samsung SSD 850 EVO 500GB, é 0 e provavelmente irá para 100, e falhará.

Se considerar o primeiro "servidor" 256 GB, SAMSUNG MZ7TE256HMHP-00000, ele já está no máximo? Será que vai diminuir para zero?

usuario
fonte

Respostas:

43

A Kingston descreve esse atributo SMART da seguinte maneira:

Número de ciclos de apagamento / programa por bloco, em média. Este atributo pretende ser um indicador de desgaste iminente. Equação normalizada: 100 - (100 * número médio de apagamentos / NAND número máximo de ciclos de apagamento)

Ignore Raw Dataesses casos (eles podem ser manipulados pelos fabricantes para funcionar de maneiras diferentes) e observe a Current Valuecoluna.

Esta fonte da Anandtech nos dá uma boa indicação de como usar esta figura:

O valor SMART da contagem de nivelamento de desgaste (WLC) fornece todos os dados de que precisamos. O valor atual representa a resistência restante do inversor em porcentagem, o que significa que ele começa de 100 e diminui linearmente conforme o inversor é gravado. O valor bruto da WLC conta os ciclos P / E consumidos; portanto, se esses dois valores forem monitorados durante a gravação no inversor, mais cedo ou mais tarde, encontraremos o local em que o valor normalizado cai um.

Todas as unidades estão em entre 95 e 100, e acabará por cair para 0. Esta é uma estimativa de quantos write, erase, rewriteetc. ciclos cada bloco pode atravessar antes de falhar, e, no momento, uma de suas unidades é estimado para usaram 5% de sua expectativa de vida atual. Novamente, a palavra-chave aqui é estimada.

Observe também que suas unidades podem usar tecnologia NAND diferente, daí as diferenças na vida útil. Algumas tecnologias da NAND esperam que os blocos durem cerca de 1000 ciclos PE cada, enquanto outras podem ser classificadas para até 30.000.

Jonno
fonte
Anexei a tabela "cabeçalho". Qual é o valor "atual"? é a coluna "VALUE"?
Nick
@ Nick Sim, exatamente.
Jonno
Esse é exatamente o oposto da minha experiência. Minhas novas unidades (Samsung 850 Pro, Samsung 840 Pro) começaram com um valor bruto de 0 e subiram a partir daí. Na verdade, o meu 840 Pro atual tinha 97 anos, cerca de um mês atrás, e agora é 99. (Isso é da análise de dados SMART por meio do software Samsung Magician.)
Granger
3
@ Granger Você tem uma coluna 'Valor' ou 'Atual'? Os valores brutos geralmente dependem do OEM para decidir com o que fazem e não são necessariamente dados legíveis. Observe no exemplo que o OP forneceu, o 'VALUE' é 100 e 'RAW_VALUE' é 0 para seu 850 EVO.
217 Jonno
Ah Isso faz mais sentido se eu ignorar completamente a coluna "Valor bruto".
Granger
2

O SMART relata uma condição PREFERIDA para o meu Samsung SM951 (AHCI) de 128 GB, relatado no Linux como SAMSUNG MZHPV128HDGM-00000 (BXW2500Q).

Mas no meu caso, acho que é um bug de firmware da unidade,

  • porque a total-bytes-writtenpropriedade é relatada como 1,1 TB, enquanto a unidade possui um total de bytes gravados (TBW) especificado de 75 TB! O que provavelmente está do lado (muito) de economia, porque unidades semelhantes (MLC NAND) atingiram uma infinidade disso (600 TB) em um teste de resistência real ,
  • e, além do wear_level_countaviso, nenhum outro erro ou aviso prévio ou de antiguidade é relatado,
  • enquanto o reallocated-sector-count, que de acordo com esse teste é um bom indicador de pré-falha, ainda é 0.

Portanto, meu conselho seria examinar esses valores para sua unidade / sistema e basear suas conclusões nisso.

Prefiro o utilitário de baixo nível skdumpfornecido libatasmart, a mesma biblioteca usada pelos discos do Gnome .

Use o seguinte comando, substituindo /dev/sdcpelo caminho para o seu dispositivo de bloco:

sudo skdump /dev/sdc

Ronald
fonte