Visualizando Metadados do SSD - Seu SSD Pode Conter Erros, Confira

Ao longo da nossa vida como desenvolvedor, as vezes precisamos saber o estado do nosso SSD de forma mais "low code" onde podemos consultar metadados e se previnir de possíveis problemas futuros.

Com isso em mente, alguns SSD possui, em seu Firmware, uma funcionalidade chamada S.M.A.R.T, que fornece informações precisas de uso, erros, warnings e até horas ligada.

No Linux, usaremos uma ferramenta dedicada chamada smartctl que é possível usar apenas em modo root

Instalação Usando

  • apt: ~ $ sudo apt-get update && sudo apt-get install smartmontools
  • pacman: ~ $ sudo pacman -S smartmontools
  • dnf: ~ $ sudo dnf install smartmontools

Obtendo Metadados

Para obter todos os metadados, utilize a seguinte flag do comando smartctl. Lembrando que deve trocar o /dev/sdX para um caminho válido:

~ $ sudo smartctl -a /dev/sdX

Usando esse comando, vai retornar (possívelmente) um output nessa estrutura:

Model Number:                       KINGSTON ***
Serial Number:                      ***
Firmware Version:                   ***
PCI Vendor/Subsystem ID:            0x2646
IEEE OUI Identifier:                0x0026b7
Controller ID:                      1
NVMe Version:                       1.4
Number of Namespaces:               1
Namespace 1 Size/Capacity:          1,000,204,886,016 [1.00 TB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            0026b7 686529f365
Local Time is:                      Wed Aug  7 10:00:12 2024 -03
Firmware Updates (0x12):            1 Slot, no Reset required
Optional Admin Commands (0x0016):   Format Frmw_DL Self_Test
Optional NVM Commands (0x009f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Verify
Log Page Attributes (0x12):         Cmd_Eff_Lg Pers_Ev_Lg
Maximum Data Transfer Size:         64 Pages
Warning  Comp. Temp. Threshold:     83 Celsius
Critical Comp. Temp. Threshold:     90 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     5.00W       -        -    0  0  0  0        0       0
 1 +     3.50W       -        -    1  1  1  1        0     200
 2 +     2.50W       -        -    2  2  2  2        0    1000
 3 -     1.50W       -        -    3  3  3  3     5000    5000
 4 -     1.50W       -        -    4  4  4  4    20000   70000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         0

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

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        34 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    1%
Data Units Read:                    18,755,607 [9.60 TB]
Data Units Written:                 9,576,763 [4.90 TB]
Host Read Commands:                 90,964,067
Host Write Commands:                189,200,013
Controller Busy Time:               9,645
Power Cycles:                       907
Power On Hours:                     3,291
Unsafe Shutdowns:                   158
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0

Error Information (NVMe Log 0x01, 16 of 64 entries)
No Errors Logged

Algumas informações foram censurada com ***.

Analisando

Em algumas linhas podemos ver informações relevantes como:

  • Unsafe Shutdowns: 158 Quantas vezes o PC desligou de forma insegura sem usar comandos como shutdown, poweroff ou pelo botão mesmo ou UI do sistema. (incrementeado por desligar puxando a tomada ou falta de energia)

  • Power Cycles: 907 Quantos ciclos de ativação do SSD. Toda vez que desliga e liga o PC e o SSD está conectado e depois montado esse numero vai incrementar.

  • Error Information Log Entries: 0 Aqui é quantidade de logs de erro.

  • Error Information (NVMe Log 0x01, 16 of 64 entries) No Errors Logged Onde mostra os logs de erros em detalhe.

Finalização e Recomendações

Caso seu SSD tenha apresentado muitos erros é recomendado que você começe a ter o hábito de fazer backups diariamente de coisas importantes para já ir evitando futuros problemas com corrupção e talvez até morte do SSD.

Lembrando que estou usando Linux com NVME Kingston M2 de 1TB pois já fiz testes em outros SSD e a estrutura das informações mudam um pouco. Até agora apenas a Kingston que usei forneceu uma quantidade de metadados detalhado.

Para Windows tem a ferramenta Crystal Disk Info que trás algumas informações parecidas do disco.

SSD Novo

3rBvcV.png

SSD Antigo

3rBMPJ.png

Cara, muito boa esta ferramenta.

Tenho uma "pilha" de HD e estava precisando deste tipo de ferramente para saber a vida util.

Muito obrigado pela a indicação.