Samsung SSD "Wear_Leveling_Count" significa

26

Tengo SSD de Samsung en mi propia computadora portátil y en algunos servidores.

Cuando lo hago:

smartctl -a /dev/sda | grep 177

Obtengo resultados que no puedo entender. Aquí hay unos ejemplos:

# 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

¿Alguna idea de cómo leer Wear_Leveling_Count?

Algunos valores están en el mínimo, algunos están en el máximo.

Si considera "laptop" Samsung SSD 850 EVO 500GB, es 0 y probablemente irá a 100, entonces fallará.

Si considera el primer "servidor" 256 GB, SAMSUNG MZ7TE256HMHP-00000, ¿ya está al máximo? ¿Se reducirá a cero?

Mella
fuente

Respuestas:

43

Kingston describe este atributo SMART de la siguiente manera:

Número de ciclos de borrado / programa por bloque en promedio. Este atributo está destinado a ser un indicador de desgaste inminente. Ecuación normalizada: 100 - (100 * Cuenta de borrado promedio / NAND número máximo de ciclos de borrado)

Ignore el Raw Dataen estos casos (pueden ser manipulados por los fabricantes para trabajar de diferentes maneras) y mire la Current Valuecolumna.

Esta fuente de Anandtech nos da una buena indicación de cómo usar esta figura:

El valor SMART Count Wear Leveling Count (WLC) nos brinda todos los datos que necesitamos. El valor actual representa la resistencia restante de la unidad en porcentaje, lo que significa que comienza desde 100 y disminuye linealmente a medida que se escribe en la unidad. El valor bruto de WLC cuenta los ciclos de P / E consumidos, por lo que si estos dos valores se controlan mientras se escribe en la unidad, más temprano que tarde encontraremos el lugar donde el valor normalizado cae en uno.

Todas las unidades están en entre 95 y 100, y eventualmente se reducirá a 0. Esta es una estimación de cuántos write, erase, rewriteetc. ciclos cada bloque puede atravesar antes de fallar, y por el momento, una de las unidades se calcula a ha utilizado el 5% de su vida útil esperada actual. Nuevamente, la palabra clave aquí se estima.

Tenga en cuenta también que sus unidades pueden usar tecnología NAND diferente, de ahí las diferencias en la vida percibida. Algunas tecnologías NAND esperan que los bloques duren alrededor de 1000 ciclos de PE cada uno, otros pueden clasificarse por hasta 30,000.

Jonno
fuente
Adjunté la tabla "encabezado". ¿Qué es el valor "actual"? ¿Es la columna "VALOR"?
Nick
@ Nick Sí, exactamente.
Jonno
Eso es exactamente lo contrario de mi experiencia. Mis nuevas unidades (Samsung 850 Pro, Samsung 840 Pro) habían comenzado con un valor bruto de 0 y subieron desde allí. De hecho, mi 840 Pro actual estaba en 97 hace aproximadamente un mes, y ahora está en 99. (Esto es por mirar datos SMART a través del software Samsung Magician.)
Granger
3
@Granger ¿Tiene una columna 'Valor' o 'Actual'? Los valores brutos generalmente dependen del OEM para decidir qué hacer con ellos, y no son necesariamente datos legibles. Observe en el ejemplo el OP proporcionado, el 'VALOR' es 100 y 'RAW_VALUE' es 0 para su 850 EVO.
Jonno
Ah Eso tiene más sentido si ignoro completamente la columna "Valor bruto".
Granger
2

SMART informa una condición PREFERIDA para mi Samsung SM951 (AHCI) 128GB, reportada en Linux como SAMSUNG MZHPV128HDGM-00000 (BXW2500Q).

Pero en mi caso, creo que es un error de firmware de la unidad,

  • ¡porque la total-bytes-writtenpropiedad se informa como 1.1TB mientras la unidad tiene un total de bytes escritos (TBW) especificados de 75TB! Lo que probablemente está en el lado (muy) seguro, porque unidades similares (MLC NAND) alcanzaron una multitud de eso (600 TB) en una prueba de resistencia real ,
  • y, aparte de la wear_level_countadvertencia, no se informan otros errores o advertencias previas al error u obsolescencia,
  • mientras reallocated-sector-countque, que según esa prueba es un buen indicador de pre-falla, sigue siendo 0.

Por lo tanto, mi consejo sería examinar esos valores para su unidad / sistema y basar sus conclusiones en eso.

Prefiero la utilidad de bajo nivel skdumpque se suministra con libatasmartla misma biblioteca que utilizan los discos de Gnome .

Use el siguiente comando, reemplazando /dev/sdccon la ruta a su dispositivo de bloqueo:

sudo skdump /dev/sdc

Ronald
fuente