Eu tenho um SSD Samsung 970 EVO que tem sido usado 24 horas por dia, 7 dias por semana, nos últimos 4,5 anos, executando o openSUSE. É meu primeiro SSD e não tenho certeza de quão bem minha experiência com HDDs se traduz em SSDs. Eu substituo os HDDs no primeiro erro, mas me pergunto se o mesmo deveria se aplicar aos SSDs.
Nunca tive nenhum problema com minha unidade e esperava que a SMART me avisasse se ela estivesse prestes a falhar. De qualquer forma, decidi fazer um teste smartctl e, para minha surpresa, encontrei um endereço que não podia ser lido:
smartctl -t long /dev/nvme0n1
smartctl -a /dev/nvme0n1
[...]
Num Test_Description Status Power_on_Hours Failing_LBA NSID Seg SCT Code
0 Extended Completed: failed segments 11636 742642300 1 7 - -
[...]
Após mapear o LBA para o arquivo correspondente, a tentativa de copiar o arquivo falhou, conforme esperado.
Então li todo o SSD para ter uma ideia melhor da gravidade do problema, via
dd bs=4k conv=noerror if=/dev/nvme0n1 of=/dev/null status=progress
Isto encontrou seus próprios problemas (3 ou 4 deles), que não incluíam o LBA original. Então tentei novamente copiar o primeiro arquivo impactado e agora funcionou. Aí fiz outro teste, li o SSD novamente, fiz outro teste.
Agora as coisas parecem bem, exceto que há um monte de Unrecovered Read Error
s, e não tenho certeza se algo deve ser feito a respeito.
Houve 4 arquivos afetados, nenhum dos quais é realmente importante. Para 2 deles eu tinha backups. Depois que os arquivos foram disponibilizados, fiz uma comparação e eles eram idênticos aos seus backups.
Último status:
# smartctl -a /dev/nvme0n1
smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.6.6-1-default] (SUSE RPM)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Number: Samsung SSD 970 EVO 1TB
Serial Number: S467NX0KC42742T
Firmware Version: 2B2QEXE7
PCI Vendor/Subsystem ID: 0x144d
IEEE OUI Identifier: 0x002538
Total NVM Capacity: 1,000,204,886,016 [1.00 TB]
Unallocated NVM Capacity: 0
Controller ID: 4
NVMe Version: 1.3
Number of Namespaces: 1
Namespace 1 Size/Capacity: 1,000,204,886,016 [1.00 TB]
Namespace 1 Utilization: 718,928,310,272 [718 GB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: 002538 5c81b21b20
Local Time is: Wed Dec 27 08:39:23 2023 EET
Firmware Updates (0x16): 3 Slots, no Reset required
Optional Admin Commands (0x0017): Security Format Frmw_DL Self_Test
Optional NVM Commands (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Log Page Attributes (0x03): S/H_per_NS Cmd_Eff_Lg
Maximum Data Transfer Size: 512 Pages
Warning Comp. Temp. Threshold: 85 Celsius
Critical Comp. Temp. Threshold: 85 Celsius
Supported Power States
St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat
0 + 6.20W - - 0 0 0 0 0 0
1 + 4.30W - - 1 1 1 1 0 0
2 + 2.10W - - 2 2 2 2 0 0
3 - 0.0400W - - 3 3 3 3 210 1200
4 - 0.0050W - - 4 4 4 4 2000 8000
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: 33 Celsius
Available Spare: 96%
Available Spare Threshold: 10%
Percentage Used: 1%
Data Units Read: 67,636,923 [34.6 TB]
Data Units Written: 112,642,849 [57.6 TB]
Host Read Commands: 987,052,850
Host Write Commands: 1,832,390,531
Controller Busy Time: 5,409
Power Cycles: 141
Power On Hours: 11,648
Unsafe Shutdowns: 90
Media and Data Integrity Errors: 53
Error Information Log Entries: 1,180
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
Temperature Sensor 1: 33 Celsius
Temperature Sensor 2: 43 Celsius
Error Information (NVMe Log 0x01, 16 of 64 entries)
Num ErrCount SQId CmdId Status PELoc LBA NSID VS Message
0 1180 1 0x33e1 0x4502 0x000 826830178 1 - Unrecovered Read Error
1 1179 12 0x924d 0xc502 0x000 1536005282 1 - Unrecovered Read Error
2 1178 12 0x024c 0xc502 0x000 1536005282 1 - Unrecovered Read Error
3 1177 7 0x2187 0x4502 0x000 1536005282 1 - Unrecovered Read Error
4 1176 12 0x724b 0x4502 0x000 1417094690 1 - Unrecovered Read Error
5 1175 1 0x3167 0x4502 0x000 1099791128 1 - Unrecovered Read Error
6 1174 4 0xe343 0xc502 0x000 888097434 1 - Unrecovered Read Error
7 1173 4 0x3342 0xc502 0x000 888097436 1 - Unrecovered Read Error
8 1172 4 0x5341 0x4502 0x000 888097434 1 - Unrecovered Read Error
9 1171 12 0x91ca 0xc502 0x000 888097436 1 - Unrecovered Read Error
10 1170 12 0xb1c9 0xc502 0x000 888097436 1 - Unrecovered Read Error
11 1169 11 0x81a9 0x4502 0x000 888097436 1 - Unrecovered Read Error
12 1168 10 0x1251 0xc502 0x000 888091288 1 - Unrecovered Read Error
13 1167 10 0x924f 0xc502 0x000 888091290 1 - Unrecovered Read Error
14 1166 10 0xb24e 0x4502 0x000 888092344 1 - Unrecovered Read Error
15 1165 10 0x224d 0x4502 0x000 888091320 1 - Unrecovered Read Error
... (48 entries not read)
Self-test Log (NVMe Log 0x06)
Self-test status: No self-test in progress
Num Test_Description Status Power_on_Hours Failing_LBA NSID Seg SCT Code
0 Extended Completed without error 11644 - - - - -
1 Extended Completed without error 11640 - - - - -
2 Extended Completed: failed segments 11637 832111576 1 7 - -
3 Extended Completed: failed segments 11636 742642300 1 7 - -
4 Short Completed without error 11636 - - - - -
Não consegui encontrar uma página abrangente sobre como usar SSDs, especialmente como evitar erros ou lidar com eles, então aqui estão minhas perguntas:
- Devo substituir meu SSD imediatamente?
- Faz diferença que eu obtenha um sobressalente disponível de 96%?
- Dado que os erros de teste desapareceram, importava que eu tivesse lido todo o SSD? Em geral, adianta ler todo o SSD de vez em quando?
- Quão ruins são os erros de leitura não recuperados nas informações de erro (Log NVMe 0x01 Log NVMe) ? (Os arquivos correspondentes que testei parecem OK.)