La problématique du Load Cycle Count
Le load cycle count du disque dur est un sujet qui fait couler beaucoup d'encre dans le monde de Linux et des ordinateurs portables. Je me suis penché sur le cas du disque dur Samsung livré avec le Giada N10.
Le load cycle count (LCC), c'est quoi au juste ?
Un disque dur est composé d'un ou plusieurs plateaux magnétiques en rotation qui contiennent les données stockées. Ces données sont lues par l'intermédiaire d'une tête de lecture -sorte de petite antenne- qui va capter les modifications de champ magnétique sur les plateaux. Dans le sens contraire, le flux électrique qui traverse la tête de lecture va permettre d'écrire des données binaires sur le disque.
Sur les ordinateurs portables, dans un souci d'économie d'énergie et de protection contre les chocs, la tête de lecture va se parquer au dessus de la "zone atterrissage" lorsque le disque ne sera pas sollicité. C'est ce que l'on appelle le "
Load Cycle Count" ou le "
parcage de la tête de lecture". Ce va et vient, qui est mécanique, va engendrer une usure du disque dur. Les constructeurs de disques durs donnent des durées de vie qui oscillent entre 300000 et 600000 cycles.
Comment mesurer le Load Cycle Count ?
Le LCC peut être mesuré à l'aide de
smartmontools, un programme permettant de lire les données stockées dans la puce du disque dur.
Sous Linux, une commande permet d'afficher ces informations :
Il est peut-être nécessaire d'installer préalablement smartmontools sur Ubuntu :
gb@gbx:~$ sudo apt-get install smartmontools
gb@gbx:~$ sudo smartctl -A /dev/sda
smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
3 Spin_Up_Time 0x0020 100 100 000 Old_age Offline - 0
4 Start_Stop_Count 0x0030 100 100 000 Old_age Offline - 0
5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 1506
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 35
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 12
225 Load_Cycle_Count 0x0030 200 200 000 Old_age Offline - 2242
...
La valeur est ici de 2242 pour 1506 heures de fonctionnement ce qui est assez standard. Sur certains systèmes, dont le Giada N10 et son disque dur embarqué (SAMSUNG HM250HI), la valeur du LCC s'incrémente beaucoup trop vite (de l'ordre de 300 ou 400 parcages par heure, voir plus) ce qui théoriquement abaisserait la durée de vie du disque aux alentours de 1500 heures. 2 mois de durée de vie, c'est moins de 10% de la durée de vie attendue ! Nous avons là un problème.
Corriger le problème du LCC
Le logiciel système hdparm permet de modifier la configuration de l'APM (Advanced Power Management) du disque dur et réduire drastiquement le parcage des têtes de lecture en contrepartie d'une élévation de la température du disque et d'une consommation légèrement plus élevée.
gb@gbx:~$ sudo hdparm -B /dev/sda
/dev/sda:
APM_level = 254
Les valeurs s'échelonnent de 0 à 255. 254 ou 255 étant les valeurs théoriques pour arrêter l'économie d'énergie et donc le parcage des têtes.
Pour fixer cette valeur, taper la commande suivante :
gb@gbx:~$ sudo hdparm -B 255 /dev/sda
Problème avec le disque dur Samsung du Giada N10
Le hic, c'est que cette commande ne semble pas influencer le parcage des têtes sur le Giada N10. J'ai parcouru tous les articles et forums à ce sujet pour me rendre à l'évidence : le disque ne semble pas prendre en compte le changement de configuration, que ce soit sous Ubuntu, Debian ou Gentoo... J'ai donc contacté Samsung qui me confirme que ce fonctionnement est parfaitement normal. Ce serait le hardware "Green" qui prendrait le devant face aux injonctions de hdparm...
C'est bien beau mais du coup, je fais quoi ?
Il restent deux solutions...
- Je ferme les yeux sur ce problème qui n'en est finalement peut-être pas un... Les avis sont très partagés sur ce sujet et il est difficile de faire la part des choses. Certains pensent que la mort prématurée du disque est liée à un LCC trop élevé, d'autres réfutent cette idée et avancent que cela n'a rien à voir. Qui vivra verra n'est-ce pas ?
- Mais en tant que Geek confirmé, j'ai décidé de devancer le problème et de remplacer le disque par un disque SDD bourré de puces mais sans aucune action mécanique. Le remplacement du disque fera l'objet d'un prochain billet.
La petite anecdote qui tue
Les valeurs de smartmontools qui sont affichées sur ce billet, sont celles de mon Giada N10 muni... d'un disque dur SSD ! Comment est-ce possible ? La valeur du LCC s'incrémente alors qu'il n'y a pas de tête de lecture sur mon disque ?! Il y a de quoi devenir fou ! Le mystère reste tout entier.
Aucun commentaire