Comment vérifier la durée de vie restante du SSD ou le niveau d'usure du support?

31

Nous savons tous que les SSD ont une durée de vie prédéterminée limitée. Comment vérifier sous Linux quel est l'état de santé actuel d'un SSD?

La plupart des résultats de recherche Google vous demanderaient de rechercher des informations SMART pour un champ de pourcentage appelé Media_Wearout_Indicator, ou d'autres indicateurs de jargons comme Longterm Data Endurance - qui n'existent pas - Oui, j'ai vérifié deux SSD, les deux n'ont pas ces champs. Je pourrais continuer à trouver un troisième SSD, mais je pense que les champs ne sont pas standardisés.

Pour illustrer le problème, voici les deux exemples.


Avec le premier SSD, il n'est pas clair quel champ indique le niveau d'usure. Cependant, il n'y a qu'un Unknown_Attribute dont la RAW VALUE est comprise entre 1 et 100, donc je ne peux que supposer que c'est ce que nous recherchons:

    $ sudo smartctl -A /dev/sda                                             
    smartctl 6.2 2013-04-20 r3812 [x86_64-linux-3.11.0-14-generic] (local build)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF READ SMART DATA SECTION ===                                 
    SMART Attributes Data Structure revision number: 1                       
    Vendor Specific SMART Attributes with Thresholds:                        
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      5 Reallocated_Sector_Ct   0x0002   100   100   000    Old_age   Always       -       0
      9 Power_On_Hours          0x0002   100   100   000    Old_age   Always       -       6568
     12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always       -       1555
    171 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    172 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    173 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       57
    174 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       296
    187 Reported_Uncorrect      0x0002   100   100   000    Old_age   Always       -       0
    230 Unknown_SSD_Attribute   0x0002   100   100   000    Old_age   Always       -       190
    232 Available_Reservd_Space 0x0003   100   100   005    Pre-fail  Always       -       0
    234 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       350
    241 Total_LBAs_Written      0x0002   100   100   000    Old_age   Always       -       742687258
    242 Total_LBAs_Read         0x0002   100   100   000    Old_age   Always       -       1240775277

Donc, ce SSD a utilisé 57% de sa durée de vie de réécriture, est-ce correct?


Avec l'autre disque, le SSD_Life_Left ATTRIBUTE se démarque, mais sa valeur brute de 0, indiquant 0% de vie restante, est peu probable pour un SSD apparemment sain à moins qu'il ne soit en péril (nous le verrons dans quelques jours), et s'il indique "0% de durée de vie a été utilisée", également impossible pour un disque dur usé (usé = utilisé pendant plus d'un an).

    > sudo /usr/sbin/smartctl -A /dev/sda
    smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.11.6-4-desktop] (SUSE RPM)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF READ SMART DATA SECTION ===
    SMART Attributes Data Structure revision number: 10
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      1 Raw_Read_Error_Rate     0x000f   104   100   050    Pre-fail  Always       -       0/8415644
      5 Retired_Block_Count     0x0033   100   100   003    Pre-fail  Always       -       0
      9 Power_On_Hours_and_Msec 0x0032   100   100   000    Old_age   Always       -       4757h+02m+17.130s
     12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1371
    171 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    172 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    174 Unexpect_Power_Loss_Ct  0x0030   000   000   000    Old_age   Offline      -       52
    177 Wear_Range_Delta        0x0000   000   000   000    Old_age   Offline      -       2
    181 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    182 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
    194 Temperature_Celsius     0x0022   030   030   000    Old_age   Always       -       30 (Min/Max 30/30)
    195 ECC_Uncorr_Error_Count  0x001c   104   100   000    Old_age   Offline      -       0/8415644
    196 Reallocated_Event_Count 0x0033   100   100   000    Pre-fail  Always       -       0
    231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0
    233 SandForce_Internal      0x0000   000   000   000    Old_age   Offline      -       3712
    234 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       1152
    241 Lifetime_Writes_GiB     0x0032   000   000   000    Old_age   Always       -       1152
    242 Lifetime_Reads_GiB      0x0032   000   000   000    Old_age   Always       -       3072
Tankman 六四
la source
Avec les attributs SMART, les valeurs inférieures sont pires car le lecteur alerte toujours si une valeur est inférieure (ou égale à? Pas sûr) la valeur de seuil. Cela étant dit, il est très agréable d'avoir un indicateur d'usure, mais j'espère que vous ne faites confiance à aucun périphérique de stockage pour des données précieuses. Vous devez exécuter plusieurs périphériques de stockage dans un arrangement RAID.
Alexios
Comment savez-vous que mes données sont «précieuses»? Ce n'est qu'une copie hors ligne de la base de connaissances de l'entreprise sur mon ordinateur portable. Je commente pour souligner que les gens supposent trop souvent un scénario sysop. Merci pour vos commentaires quand même.
Tankman
Toutes les données sont précieuses. :) Nous partons de ce principe, puis passons à des données plus précieuses (les photos numériques d'un photographe, par exemple) et moins précieuses (le système d'exploitation - facile à remplacer, mais les temps d'arrêt et une perte de temps / de revenus si vous devez remplacer).
Alexios
Les deux disques sont bien dans les limites d'endurance. Le premier lecteur n'a que 350 Gio environ, tandis que le deuxième lecteur a 1,1 TiB. Je ne sais pas ce qui se passe ici ...
bwDraco

Réponses:

19

Dans votre premier exemple, je pense que vous faites référence au "Media Wearout Indicator" sur les disques Intel, qui est l'attribut 233. Oui, il a une plage de 0 à 100, 100 étant un tout nouveau disque inutilisé, et 0 étant complètement usé. Selon votre ouptut, ce champ ne semble pas exister.

Dans votre deuxième exemple, veuillez lire les documents officiels sur SSD_Life_Left. Par cette page:

La valeur RAW de cet attribut est toujours 0 et n'a aucune signification. Vérifiez plutôt la VALEUR normalisée. Il commence à 100 et indique le pourcentage approximatif de vie du SDD restant. Il diminue généralement lorsque les blocs Flash sont marqués comme mauvais, voir la valeur RAW de Retired_Block_Count

Il est vraiment important que vous compreniez parfaitement ce que dit smartctl (8) et que vous ne fassiez pas d'hypothèses. Malheureusement, les outils SMART ne sont pas toujours à jour avec les derniers SSD et leurs attributs. En tant que tel, il n'y a pas toujours de façon claire de savoir combien de fois les puces ont été écrites. Le mieux que vous puissiez faire est de regarder le "Power_On_Hours", qui dans votre cas est "6568", de déterminer votre utilisation moyenne du disque et de la faire la moyenne.

Vous devriez être en mesure de rechercher les spécifications de votre lecteur et de déterminer le processus utilisé pour fabriquer les puces. Les puces de processus de 32 nm auront une endurance en écriture plus longue que les puces de processus de 24 nm. Cependant, il semble que "en moyenne", on puisse s'attendre à environ 3 000 à 4 000 écritures, avec un minimum de 1 000 et un maximum de 6 000. Donc, si vous avez un SSD de 64 Go, vous devez vous attendre quelque part dans le voisinage d'un total de 192 To à 256 To écrit sur le SSD, en supposant un niveau d'usure.

Par exemple, si vous maintenez une utilisation de disons 11 Ko / s sur votre disque, vous pouvez vous attendre à voir environ 40 Mo écrits par heure. À 6568 heures de fonctionnement, vous avez écrit environ 260 Go sur le disque. Sachant que vous pourriez probablement conserver environ 200 To d'écritures totales, avant l'échec, vous avez environ 600 ans avant l'échec en raison de l'usure des puces. Votre disque tombera probablement en panne en raison de condensateurs usés ou d'une régulation de tension.

Aaron Toponce
la source
9
Si clair, merci. Cette connaissance est mieux transformée en un outil GUI utilisant smartctl ou son API. Après tout, calculer avec une calculatrice en utilisant un ordinateur comme périphérique d'entrée et un humain assis devant lui comme processeur est contraire à l'esprit avec lequel les ordinateurs ont été inventés!
Tankman
Votre lien semble mort
Skeleton Bow
15

Pour les SSD Samsung, vérifiez l'attribut SMART 177 (Wear Leveling Count).

ID # 177 Nombre de niveaux d'usure

Cet attribut représente le nombre d'opérations de programme média et d'effacement (le nombre de fois qu'un bloc a été effacé). Cette valeur est directement liée à la durée de vie du SSD. La valeur brute de cet attribut indique le nombre total de cycles P / E.

Source: http://www.samsung.com/global/business/semiconductor/minisite/SSD/M2M/download/07_Communicating_With_Your_SSD.pdf

L'indicateur de niveau d'usure commence à 100 et diminue linéairement jusqu'à 1 par rapport à ce que je peux dire. À 1, le variateur aura dépassé tous ses cycles nominaux, mais en réalité, l'endurance totale du variateur peut dépasser considérablement cette valeur.

Source: http://www.anandtech.com/show/7173/samsung-ssd-840-evo-review-120gb-250gb-500gb-750gb-1tb-models-tested/3

Je vous suggère de prendre cette dernière déclaration sur le dépassement de cette valeur avec un grain de sel.

Diaa Sami
la source
Le lien est mort maintenant.
Calculus Knight
Je pense qu'ils ont la commande de Wear_Leveling_Count à l'envers. J'ai 2 SSD Samsung et celui qui a ~ 4 ans a un RAW_VALUE de 42 et un autre qui a ~ 1 mois a un RAW_VALUE de 0. Il semble que cela commence à 0 et augmente progressivement.
John Eikenberry
4

Si vous n'avez pas de SSD de marque Intel: soyez prudent !! J'ai un SSD Samsung et j'ai été totalement induit en erreur par un étiquetage d'attributs erroné par smartmontools / smartctl. Si vous avez autre chose qu'Intel - vous pouvez trouver mon histoire de douleur (inane) sur https://askubuntu.com/a/460463/65722 utile.

Que votre rapport qualité-information / temps passé à creuser soit meilleur que le mien!

Matt S.
la source
0

ayant un serveur avec une carte RAID LSI , j'ai 7 SSD Samsung installés.

Il est tel que

  • / dev / sda est mon SSD de système d'exploitation, marqué comme JBOD par Raid Controller.
  • Les 7 autres SSD s'affichent uniquement en tant que / dev / sdb car ils sont RAID 0 (ou RAID-?).

pour obtenir des informations sur les disques derrière un contrôleur de raid, l'astuce consiste à

smartctl --scan

{output is}
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/bus/0 -d megaraid,8 # /dev/bus/0 [megaraid_disk_08], SCSI device
/dev/bus/0 -d megaraid,9 # /dev/bus/0 [megaraid_disk_09], SCSI device
/dev/bus/0 -d megaraid,10 # /dev/bus/0 [megaraid_disk_10], SCSI device
/dev/bus/0 -d megaraid,11 # /dev/bus/0 [megaraid_disk_11], SCSI device
/dev/bus/0 -d megaraid,12 # /dev/bus/0 [megaraid_disk_12], SCSI device
/dev/bus/0 -d megaraid,13 # /dev/bus/0 [megaraid_disk_13], SCSI device
/dev/bus/0 -d megaraid,14 # /dev/bus/0 [megaraid_disk_14], SCSI device
/dev/bus/0 -d megaraid,15 # /dev/bus/0 [megaraid_disk_15], SCSI device

puis pour obtenir les informations smartctl telles que

  • WEAR_LEVELING_COUNT
  • POWER_ON_HOURS
  • TEMPERATURE_CELCIUS et toutes ces autres bonnes choses

pour chaque disque faire

smartctl -d megaraid,8 -all /dev/bus/0
smartctl -d megaraid,9 -all /dev/bus/0
smartctl -d megaraid,10 -all /dev/bus/0
{down to}
smartctl -d megaraid,15 -all /dev/bus/0

la syntaxe de smartctl estsmartctl [options] <device>

c'est ainsi que vous entrez et utilisez une carte de raid lorsque plusieurs disques ne s'affichent pas comme plusieurs périphériques tels que / dev / sdb, / dev / sdc, / dev / sdd, etc.

Ron
la source