Quantos dados foram gravados no meu SSD durante sua vida útil?

15

Existe um comando Terminal que me mostrará quantos GB foram gravados no meu SSD durante toda a vida útil do disco? Estou perguntando, porque quero descobrir quantos ciclos foram realizados. O SSD pode executar entre 1000 e 2000 ciclos, dependendo do tipo.

Lachtan
fonte
Qual SSD está no seu Mac?
bmike
Se você escreve 1000 ciclos em uma unidade de 250 GB, significa que você escreveu 250 TB de dados. Mesmo se você escrever 50 GB por dia , levaria 13 anos para matá-lo.
Thomas Ayoub
2
Na verdade, tenho uma média de 32 GB por dia no meu SSD. Eu tenho 42 TB de gravações já registradas e o "nível de desgaste" é de apenas 88% e o total de gravações "99%" (o que isso significa), de acordo com o DriveDx. Meu disco foi ligado por um total de 20 meses. Não tenho absolutamente nenhum erro ou setores defeituosos.
Zagadka314
11
@ThomasAyoub 50 GB / dia é um inferno de subestimar graças à troca! O Host_Writes_MiB do meu SSD 120GiB é 317296939 (são 2421 ciclos ) e o Wear_Leveling_Count é FAILING_NOW. Meu macbook não tem nem 13 anos, mais 4 anos.
Navin
2
@ Navin bem, então, concordo que estava totalmente errado.
Thomas Ayoub

Respostas:

7

Leia os seguintes atributos SMART do seu SSD com uma ferramenta apropriada *:

241 - Total de LBAs gravados: o número total de setores de 512 bytes gravados durante toda a vida útil do dispositivo.

242 - LBAs totais lidos: o número total de setores de 512 bytes lidos durante toda a vida útil do dispositivo.

Um segundo conjunto de atributos é:

174 - Host_Reads_MiB
175 - Host_Writes_MiB

Mas não sei se os valores encontrados no segundo conjunto realmente fazem sentido (pelo menos para mim com um SSD de 120 GB como parte de uma unidade Fusion) porque consideravelmente mais dados são gravados no SSD do que no HDD do SSD. tem apenas 1/25 do tamanho:

0xae Host_Reads_MiB          ----CK   100   100   000    -    12268569 (~12 TiB)  
0xaf Host_Writes_MiB         ----CK   100   100   000    -    16481745 (~16 TiB) 

em comparação com o disco rígido de 3 TB (a segunda parte da unidade Fusion):

0xf1 Total_LBAs_Written      ------   100   253   000    -    21361815408 (~10 TiB)  
0xf2 Total_LBAs_Read         ------   100   253   000    -    23925221693 (~11 TiB)

Após a instalação do smartmontools, os seguintes comandos fornecem os dados gravados em GB se o atributo "242 Total_LBAs_Written" existir:

smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/DiskIdentifier | grep 0xf1 | awk '{ print $8/1953125 }'

ou em TB:

smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/DiskIdentifier | grep 0xf1 | awk '{ print $8/1953125000 }'

Substitua "DiskIdentifier" pelo identificador do seu SSD interno encontrado diskutil list. Provavelmente é disk0.

O comando a seguir fornece os dados gravados em GB se o atributo "175 - Host_Writes_MiB" existir (trate o resultado com cautela):

smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/DiskIdentifier | grep 0xaf | awk '{ print $8/953.67 }'

Como já mencionado anteriormente, substitua "DiskIdentifier" pelo identificador do seu SSD interno encontrado diskutil list. Provavelmente é disk0.

Os comandos smartctl acima não funcionam muito confiáveis ​​(pelo menos para mim).
Se você receber um erro como "Falha na leitura dos dados SMART: erro indefinido: 0", tente smartctl -A /dev/disk0primeiro.
Se você receber um erro como "SMART Disabled. Use a opção -s com o argumento 'on' para ativá-lo.", Tente smartctl -s on -A /dev/disk0
Em seguida , tente novamente os comandos acima para ler e calcular os dados gravados no disco.

* smartmontools

Klanomath
fonte
O OS X não habilita o SMART nos SSDs por padrão? Permitir que ele forneça informações do histórico passado?
grg
@grgarside Antes de postar, verifiquei meu Fusion-SSD e o SMART estava ativado. Não foi possível encontrar esses atributos.
klanomath
Meu "APPLE SSD SM256E" (rMBP) mostra "Disponível" mas "Desativado" com smartctl.
grg
@grgarside Ative-o com smartctl -s on /dev/DiskIdentifier. Então você poderá obter os dados. Para desativá-lo novamente:smartctl -s off /dev/DiskIdentifier
klanomath
11
Você pode adicionar que smartctl pode ser facilmente instalado usando homebrew ou port e que existe até uma GUI para ele.
N1000
5

A publicação original menciona que os SSDs têm um limite de 1000-2000 ciclos, o que simplifica demais o problema. Células individuais em um SSD podem ter esse limite, mas o SSD implementa muitas soluções diferentes: do excesso de provisionamento e nivelamento de gravação à coleção proprietária do Sandforce de técnicas de desduplicação, compactação e diferenciação de dados, que ele chama de "DuraWrite".

De volta à postagem original: técnicas como iostat, embora relevantes, mostram atividades agregadas, mas é muito difícil retroceder para saber quantos ciclos de programa / apagamento foram executados para cada célula e, a partir daí, quanta vida resta no SSD.

Uma recomendação útil pode ser evitar o preenchimento de SSDs até 20% da capacidade declarada e evitar a implantação de SSDs usados ​​sem backup adequado.

O Ars Technica tem alguns artigos realmente úteis sobre como os SSDs funcionam. O mais útil é o seguinte: " Os SSDs de nível consumidor realmente duram muito tempo ". Para mais detalhes, consulte aqui , particularmente a página 5.

Charles Lindsay
fonte
4

Instalei o GSmartControl com o Homebrew ( brew install gsmartcontrol) e obtive o seguinte:

Captura de tela do GSmartControl OSX

O atributo SMART no. 173 (contagem de apagamento ou nivelamento de desgaste) deve significar as gravações usadas no setor em geral.

Meu MacBook 2015 respondeu a esta (sem ID 0xf1):

smartctl -s on -i -A -f brief -f hex,id -l devstat /dev/disk0 
smartctl 6.4 2015-06-04 r4109 [x86_64-apple-darwin15.0.0] (local build)
Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     APPLE SSD SM0256G
...
LU WWN Device Id: 5 002538 900000000
Firmware Version: BXW1SA0Q
User Capacity:    251 000 193 024 bytes [251 GB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    Solid State Device
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ATA8-ACS T13/1699-D revision 4c
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
...
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID#  ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
0x01 Raw_Read_Error_Rate     -O-RC-   200   200   000    -    0
0x05 Reallocated_Sector_Ct   PO--CK   100   100   000    -    0
0x09 Power_On_Hours          -O--CK   099   099   000    -    180
0x0c Power_Cycle_Count       -O--CK   099   099   000    -    650
0xa9 Unknown_Attribute       PO--C-   229   229   010    -    1975773037504
0xad Unknown_Attribute       -O--CK   200   200   100    -    4296081414
0xae Unknown_Attribute       -O---K   099   099   000    -    2547718
0xaf Program_Fail_Count_Chip -O---K   099   099   000    -    1304888
0xc0 Power-Off_Retract_Count -O--C-   099   099   000    -    1
0xc2 Temperature_Celsius     -O---K   059   022   000    -    41 (Min/Max 19/78)
0xc5 Current_Pending_Sector  -O---K   100   100   000    -    0
0xc7 UDMA_CRC_Error_Count    -O-RC-   200   199   000    -    0
                             ||||||_ K auto-keep
                             |||||__ C event count
                             ||||___ R error rate
                             |||____ S speed/performance
                             ||_____ O updated online
                             |______ P prefailure warning

ATA_READ_LOG_EXT (addr=0x00:0x00, page=0, n=1) failed: 48-bit ATA commands not implemented
Read GP Log Directory failed

Device Statistics (GP/SMART Log 0x04) not supported
eSzeL
fonte
-2

Uma resposta muito detalhada foi dada nesta pergunta aqui

O seguinte comando

iostat -Id disk0

reflete as estatísticas de transferência de dados desde o momento em que o dispositivo foi montado até o momento em que o comando iostat foi executado.

Chrisii
fonte
6
Embora isso forneça informações úteis, como isso se aplica a 'durante toda a vida útil do disco'?
grg
2
Isso apenas grava a soma dos MB de leitura e gravação desde a inicialização ou algo assim. Geralmente as mesmas estatísticas que no Monitor de atividades, guia Disco.
Adam Hošek