Qué pasó

Qué pasó

¿Se ha convertido mi Solid State Disken un Super Slim Doorstopper?

Sé que esta es una pregunta larga, pero traté de hacerla lo más elaborada e informativa posible. Simplemente tl;dromita la primera mitad de la pregunta, aunque creo que la información que contiene podría ser relevante para el tema.

Qué pasó

En primer lugar: vivo en una zona que actualmente está sufriendo una ola de calor masiva. La temperatura del aire interior de mi habitación nunca ha estado por debajo de 30°C en 2-3 semanas. Desde hace días nunca ha bajado de los 34°C, ni siquiera en mitad de la noche. No tengo aire acondicionado y mi ventilador no hace prácticamente nada. La temperatura de mi SSD. El sensor parece roto (siempre informa 5°C), mis discos duros estaban a 48°C, 54°C y 54°C casi siempre. GPU alrededor de 60°C y CPU alrededor de 52°C. Eso no es bueno, pero todavía me parece tolerable.

Anoche estaba usando mi PC, arch Linux en un SSD de 64 GB, cuando todo se congelaba. Ya ni siquiera podía ingresar SSH a la máquina. Entonces, después de esperar media hora con la esperanza de obtener al menos una conexión SSH, tuve que apagar la alimentación. También me gustaría mencionar que a veces mi PC se vuelve muy lenta cuando uso audacity (escribe datos temporales en SSD ya que audacity parece no admitir sistemas de archivos NTFS y mi SSD es el único sistema de archivos que no es NTFS que tengo) y que recientemente Me encontré conestePregunta que habla de que los SSD se vuelven más lentos cuando se llenan. Puedo decir que mi SSD alcanza un +95 % de espacio utilizado varias veces a la semana, si no a diario, debido a muchas grabaciones audaces.

Entonces, después de apagar la PC, intenté encenderla nuevamente, en la pantalla del BIOS revisó todos los discos y el SSD decía S.M.A.R.T. error. Después de iniciar grub (en otra unidad) e intentar iniciar en arch (arrancar la partición en otra unidad también), recibí el mensaje Device /dev/mapper/mydisk-root not foundo algo similar. mydisk-rootdebería ser la partición raíz dentro del grupo de volúmenes de mi SSD cifrado LUKS. Así que intenté reiniciar varias veces pero siempre obtuve el mismo resultado, cuando finalmente me di por vencido, apagué la PC (en la fuente de alimentación) y me fui a dormir.

Siguientes acciones que realicé

Después de despertarme, quise iniciar un USB de Linux en vivo para realizar un escaneo SMART, mirar dmesg, lo que sea que haya. De repente la BIOS S.M.A.R.T. okvolvió a decir. Sin embargo, seguí con el USB en vivo, donde pude desbloquear y montar el SSD como de costumbre. También pude realizar una copia de seguridad completa sin ningún problema.

Luego fui a hacer una prueba SMART. Una longprueba falló dos veces al 50%, detalles a continuación. Una shortprueba completa y no veo nada malo en los resultados. La última prueba SMART que hice fue hace apenas 2 semanas, fue una longprueba (ver registro de pruebas) y todo estuvo bien.

Pregunta 1: ¿Qué tan tostado está mi SSD?

Este es el resultado de la tabla de atributos SMART. beforeProbé todas las pruebas, así que creo que estos deberían ser los resultados de la longprueba que hice hace dos semanas:

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   100   050    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   100   100   001    Old_age   Always       -       23891
 12 Power_Cycle_Count       0x0032   100   100   001    Old_age   Always       -       1063
170 Grown_Failing_Block_Ct  0x0033   100   100   010    Pre-fail  Always       -       0
171 Program_Fail_Count      0x0032   100   100   001    Old_age   Always       -       10
172 Erase_Fail_Count        0x0032   100   100   001    Old_age   Always       -       0
173 Wear_Leveling_Count     0x0033   080   080   010    Pre-fail  Always       -       611
174 Unexpect_Power_Loss_Ct  0x0032   100   100   001    Old_age   Always       -       244
181 Non4k_Aligned_Access    0x0022   100   100   001    Old_age   Always       -       302 89 212
183 SATA_Iface_Downshift    0x0032   100   100   001    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   050    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   100   001    Old_age   Always       -       2
188 Command_Timeout         0x0032   100   100   001    Old_age   Always       -       0
189 Factory_Bad_Block_Ct    0x000e   100   100   001    Old_age   Always       -       58
194 Temperature_Celsius     0x0022   100   100   000    Old_age   Always       -       0
195 Hardware_ECC_Recovered  0x003a   100   100   001    Old_age   Always       -       0
196 Reallocated_Event_Count 0x0032   100   100   001    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   001    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   001    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   001    Old_age   Always       -       1
202 Perc_Rated_Life_Used    0x0018   080   080   001    Old_age   Offline      -       20
206 Write_Error_Rate        0x000e   100   100   001    Old_age   Always       -       10

-aEste es el resultado completo después del intento longde prueba de hoy, que falló (consulte el registro de pruebas):

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x80) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Enabled.
Self-test execution status:      ( 117) The previous self-test completed having
                    the read element of the test failed.
Total time to complete Offline 
data collection:        (  295) seconds.
Offline data collection
capabilities:            (0x7b) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    Offline surface scan supported.
                    Self-test supported.
                    Conveyance Self-test supported.
                    Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                    General Purpose Logging supported.
Short self-test routine 
recommended polling time:    (   2) minutes.
Extended self-test routine
recommended polling time:    (   4) minutes.
Conveyance self-test routine
recommended polling time:    (   3) minutes.
SCT capabilities:          (0x003d) SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   100   050    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   100   100   001    Old_age   Always       -       23891
 12 Power_Cycle_Count       0x0032   100   100   001    Old_age   Always       -       1063
170 Grown_Failing_Block_Ct  0x0033   100   100   010    Pre-fail  Always       -       0
171 Program_Fail_Count      0x0032   100   100   001    Old_age   Always       -       10
172 Erase_Fail_Count        0x0032   100   100   001    Old_age   Always       -       0
173 Wear_Leveling_Count     0x0033   080   080   010    Pre-fail  Always       -       611
174 Unexpect_Power_Loss_Ct  0x0032   100   100   001    Old_age   Always       -       244
181 Non4k_Aligned_Access    0x0022   100   100   001    Old_age   Always       -       302 89 212
183 SATA_Iface_Downshift    0x0032   100   100   001    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   050    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   100   001    Old_age   Always       -       2
188 Command_Timeout         0x0032   100   100   001    Old_age   Always       -       0
189 Factory_Bad_Block_Ct    0x000e   100   100   001    Old_age   Always       -       58
194 Temperature_Celsius     0x0022   100   100   000    Old_age   Always       -       0
195 Hardware_ECC_Recovered  0x003a   100   100   001    Old_age   Always       -       0
196 Reallocated_Event_Count 0x0032   100   100   001    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   001    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   001    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   001    Old_age   Always       -       1
202 Perc_Rated_Life_Used    0x0018   080   080   001    Old_age   Offline      -       20
206 Write_Error_Rate        0x000e   100   100   001    Old_age   Always       -       10

SMART Error Log Version: 1
Warning: ATA error count 0 inconsistent with error log pointer 2

ATA Error Count: 0
    CR = Command Register [HEX]
    FR = Features Register [HEX]
    SC = Sector Count Register [HEX]
    SN = Sector Number Register [HEX]
    CL = Cylinder Low Register [HEX]
    CH = Cylinder High Register [HEX]
    DH = Device/Head Register [HEX]
    DC = Device Command Register [HEX]
    ER = Error register [HEX]
    ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 0 occurred at disk power-on lifetime: 23890 hours (995 days + 10 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  00 50 00 d0 14 d1 40   at LBA = 0x00d114d0 = 13702352

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 08 d0 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 00 08 c8 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 03 08 c0 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 10 08 b8 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 00 08 b0 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED

Error -1 occurred at disk power-on lifetime: 23890 hours (995 days + 10 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  00 50 00 d0 14 d1 40   at LBA = 0x00d114d0 = 13702352

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 d5 00 d8 13 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 00 00 d8 12 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 da 00 d8 11 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 d0 00 d8 10 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 d1 80 58 10 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed: read failure       50%     23891         66387896
# 2  Extended offline    Completed: read failure       50%     23889         66387896
# 3  Extended offline    Completed without error       00%     23437         -
# 4  Short offline       Completed without error       00%       564         -
# 5  Vendor (0xff)       Completed without error       00%       558         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Este es el resultado completo -atras el intento shortde prueba de hoy, que tuvo éxito:

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x80) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
                    without error or no self-test has ever 
                    been run.
Total time to complete Offline 
data collection:        (  295) seconds.
Offline data collection
capabilities:            (0x7b) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    Offline surface scan supported.
                    Self-test supported.
                    Conveyance Self-test supported.
                    Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                    General Purpose Logging supported.
Short self-test routine 
recommended polling time:    (   2) minutes.
Extended self-test routine
recommended polling time:    (   4) minutes.
Conveyance self-test routine
recommended polling time:    (   3) minutes.
SCT capabilities:          (0x003d) SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   100   050    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   100   100   001    Old_age   Always       -       23891
 12 Power_Cycle_Count       0x0032   100   100   001    Old_age   Always       -       1063
170 Grown_Failing_Block_Ct  0x0033   100   100   010    Pre-fail  Always       -       0
171 Program_Fail_Count      0x0032   100   100   001    Old_age   Always       -       10
172 Erase_Fail_Count        0x0032   100   100   001    Old_age   Always       -       0
173 Wear_Leveling_Count     0x0033   080   080   010    Pre-fail  Always       -       611
174 Unexpect_Power_Loss_Ct  0x0032   100   100   001    Old_age   Always       -       244
181 Non4k_Aligned_Access    0x0022   100   100   001    Old_age   Always       -       302 89 212
183 SATA_Iface_Downshift    0x0032   100   100   001    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   050    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   100   001    Old_age   Always       -       2
188 Command_Timeout         0x0032   100   100   001    Old_age   Always       -       0
189 Factory_Bad_Block_Ct    0x000e   100   100   001    Old_age   Always       -       58
194 Temperature_Celsius     0x0022   100   100   000    Old_age   Always       -       0
195 Hardware_ECC_Recovered  0x003a   100   100   001    Old_age   Always       -       0
196 Reallocated_Event_Count 0x0032   100   100   001    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   001    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   001    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   001    Old_age   Always       -       1
202 Perc_Rated_Life_Used    0x0018   080   080   001    Old_age   Offline      -       20
206 Write_Error_Rate        0x000e   100   100   001    Old_age   Always       -       10

SMART Error Log Version: 1
Warning: ATA error count 0 inconsistent with error log pointer 2

ATA Error Count: 0
    CR = Command Register [HEX]
    FR = Features Register [HEX]
    SC = Sector Count Register [HEX]
    SN = Sector Number Register [HEX]
    CL = Cylinder Low Register [HEX]
    CH = Cylinder High Register [HEX]
    DH = Device/Head Register [HEX]
    DC = Device Command Register [HEX]
    ER = Error register [HEX]
    ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 0 occurred at disk power-on lifetime: 23890 hours (995 days + 10 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  00 50 00 d0 14 d1 40   at LBA = 0x00d114d0 = 13702352

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 08 d0 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 00 08 c8 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 03 08 c0 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 10 08 b8 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 00 08 b0 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED

Error -1 occurred at disk power-on lifetime: 23890 hours (995 days + 10 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  00 50 00 d0 14 d1 40   at LBA = 0x00d114d0 = 13702352

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 d5 00 d8 13 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 00 00 d8 12 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 da 00 d8 11 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 d0 00 d8 10 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 d1 80 58 10 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     23891         -
# 2  Extended offline    Completed: read failure       50%     23891         66387896
# 3  Extended offline    Completed: read failure       50%     23889         66387896
# 4  Extended offline    Completed without error       00%     23437         -
# 5  Short offline       Completed without error       00%       564         -
# 6  Vendor (0xff)       Completed without error       00%       558         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Me parece muy gracioso cómo las tres tablas de atributos son iguales. ¿O me estoy perdiendo algo aquí? No soy un experto en SMART pero, según mi conocimiento, estos tres resultados son perfectos. (?) No lo intenté todavía, pero desde que monté y obtuve los archivos funcionó y el BIOS lo informa nuevamente, oksupongo que también podría iniciarlo nuevamente. ¿Debería hacerlo?

Pregunta 2: ¿Por qué sucedió esto?

¿Es esto simplemente algo antiguo o mi uso constante de audacity en el SSD fue la causa de esto?

¿Tiene algo que ver con que el SSD alcance constantemente el 90-100% del espacio utilizado?

¿Cómo puede pasar detodo esta bienaYa ni siquiera puedo realizar una prueba SMART¿En sólo dos semanas?

¿Qué dicen estos resultados de pruebas inteligentes? La tabla de atributos después de la prueba de hoy todavía me parece excelente, ¿o me equivoco?

Pregunta 3: ¿Es esto contagioso?

Si este SSD se rompiera y tuviera que comprar uno nuevo, ¿podría simplemente dd if=/old/ssd of=/new/ssdestar bien o eso causaría problemas? ¿Cuál sería el mejor enfoque para pasar a un nuevo disco? Tenga en cuenta que estoy usando LUKS en todo el dispositivo en modo RAW con un encabezado independiente y me gustaría simplemente "clonar" todo eso en el nuevo disco.


Editar:Acabo de iniciar nuevamente ese SSD y parece funcionar. Sin embargo, conseguiré un nuevo SSD lo antes posible, ya que supongo que usar este es una mala idea. Las siguientes son las últimas entradas en syslos antes del accidente:

syslos

Respuesta1

El estado SMART muestra muchos indicadores viejos o moribundos, pero nada en particular grita "¡esto lo mató!".

Su registro muestra una vida útil de 995 días y 10 horas, lo que sugiere que deje su máquina encendida permanentemente, lo cual no es malo en sí mismo, solo significa que la unidad ha experimentado muchas horas de pequeñas escrituras mientras estaba en funcionamiento. El sistema realiza contabilidad y uso general.

A mí me parece que el SSD está viejo y desgastado. El Perc_Rated_Life_Usedes sorprendentemente bajo, al igual queErase_Fail_Count

Lo que me preocupa es que su nivel "regular" de 95% o más de su capacidad total, reducirá el conjunto de bloques vacíos disponibles para que el algoritmo de nivelación de desgaste haga su trabajo. Efectivamente, terminarás estresando más una pequeña cantidad de bloques durante los momentos en los que te falta espacio, lo que dará como resultado un pequeño grupo de bloques con un nivel masivo de escrituras, mientras que el promedio en todo el disco es bastante bajo. Al hacerlo repetidamente, el nivelador de desgaste probablemente elegirá los bloques "mejores" (menos escritos) para escribir primero, pero cuando llegue al 100% de su capacidad, se quedará con los bloques "peores". Combinar eso con los programas generales y el sistema operativo ejecutando sus tareas significa que desgastarás los peores bloques mucho más rápido. Es una manera perfecta de enfatizar las peores partes del viaje y enviarlo a la tumba prematuramente.

De hecho, fuerza el sistema de archivos clave y las funciones de contabilidad del SSD a las peores celdas, ya que es probable que se escriban regularmente en la unidad, especialmente cuando el SSD está casi lleno, y tarde o temprano sucederá algo malo. Si se ha quedado sin bloques reasignables y no se puede mover una estructura clave, entonces la unidad podría bloquearse.

Esta es la razón por la que la gente dice que siempre debes tratar de mantener una cantidad anecdótica de espacio libre en tu disco, porque cuanto menos espacio libre tengas, más duro estarás trabajando en el área queesgratis.

Es posible que la vejez y las escrituras intensas en pequeños grupos de bloques hayan desgastado partes del disco.

Lo más probable es que copiar lo que necesita en una nueva unidad esté bien; las fallas de hardware como esta no tienden a ser contagiosas.

información relacionada