Cette semaine dans La Question Technique, il est question de disque dur traditionnel. Vous savez, ce modèle à plateaux magnétiques qui fêtera bientôt ses 60 ans. Une pièce informatique fascinante, qui a traversé l’histoire sans finalement trop changer…
Véritable vétéran, le disque dur est le composant dont la conception de base a le moins évolué avec le temps… en apparence. Car en réalité, les disques durs d’aujourd’hui sont de véritables bijoux de technologie, avec une mécanique d’une finesse extrême, sans doute la plus précise des mécaniques produites en aussi grande quantité (700 millions d’unités par an actuellement…), fruit de plusieurs décennies d’évolution.
Un peu d’histoire…
Inventé il y a plus de cent ans, le stockage de données sur support magnétique se faisait initialement sur des bandes, qui défilaient le long d’une tête fixe. Un système qui cumulait deux défauts : des temps d’accès parfois importants (nécessité de faire défiler une grande longueur de bande pour accéder à une donnée) et les frottements de la bande sur la tête, qui peuvent provoquer une usure, voir une rupture de la bande.
Pour remédier à ces défauts, IBM a conçu le disque dur. Au lieu d’y stocker les données sur une bande souple, elles sont stockées sur un disque d’aluminium en rotation (aujourd’hui remplacé par du verre ou de la céramique), au-dessus duquel se déplace une tête mobile.
Première implémentation de cette idée, et donc premier disque dur de l’histoire, le IBM 350 a été lancé en 1957. Il était constitué de 50 plateaux double-face de 24″ tournant à 1200 RPM et d’une paire de têtes de lecture, qui passait d’un plateau à l’autre en fonction des besoins… Son boîtier occupait un volume de près de 2 m³ pour un poids de l’ordre de la tonne. Il offrait une capacité de 3.75 Mo et son débit atteignait 6.5 Ko/s, avec un temps d’accès moyen de 600ms. Oui, c’était une autre époque…
La première évolution majeure a été le IBM 1301, lancé en 1961, qui a apporté deux grosses innovations. La première est le recours à une paire de têtes par plateau, plutôt qu’une tête partagée entre tous les plateaux, évitant ainsi les latences induites par le déplacement des têtes d’un plateau à l’autre. La seconde, plus importante, provient du système permettant de faire « flotter » les têtes au-dessus de la surface. Sur les disques antérieurs, les têtes étaient maintenues au-dessus de la surface via un flux d’air comprimé, tandis que sur le 1301 la forme des têtes a été conçue de telle sorte que le flux d’air induit par la rotation du disque suffise à les maintenir au-dessus de la surface. Ce système est plus efficace en permettant à la tête de rester plus proche du disque, améliorant ainsi la précision de la lecture.
Depuis, la conception mécanique des disques durs n’a plus franchement évolué. Les mécanismes ont bien sûr été miniaturisés, tandis que la densité et les performances ont augmenté, mais on retrouve toujours aujourd’hui un ensemble de plateaux accompagné chacun de deux têtes (éventuellement une si une seule face du plateau est utilisée) montées sur un bras mobile et maintenue au-dessus du disque par un effet aérodynamique, avec une distance toujours plus faible, de l’ordre de la dizaine de nanomètres sur les disques durs d’aujourd’hui. C’est en raison de cet espace particulièrement fin que les disques sont montés dans un boîtier étanche à la poussière, la moindre poussière, même minuscule, risquant de se coincer entre le disque et la tête et d’endommager la surface.
Toujours plus de densité…
Si le concept mécanique a peu évolué, on ne peut pas en dire autant de la densité de stockage, qui elle a connu une croissance exponentielle, grâce à un accroissement de la finesse et à l’introduction de nouvelles technologies, qui permettent aujourd’hui d’atteindre jusqu’à 6 To dans un disque dur de 3.5″.
Le stockage magnétique consiste à modifier la polarisation magnétique d’un élément, en l’orientant dans un sens ou dans l’autre en fonction de la valeur à stocker, et la densité de stockage découle donc directement de la surface occupée par ces éléments.
Initialement, ils étaient positionnés à plat sur la surface et changeaient d’orientation parallèlement à la surface. La tête de lecture/écriture était pour sa part un « simple » électro-aimant : en envoyant un courant dans la tête, elle produisait un champ magnétique, permettant de modifier la polarité de la zone du disque située sous la tête, tandis qu’à l’inverse, en lecture, les variations de polarité des zones défilant sous le disque induisaient un courant électrique dans la tête, qu’il suffisait alors de mesurer pour lire les données.
Au milieu des années 90, un nouveau type de tête de lecture a été introduit : les têtes magnéto-résistives (MR). Celles-ci ne se basent plus sur l’induction d’un courant électrique pour lire les données, mais sur une variation de la résistance électrique de la tête en fonction du champ magnétique. Cette technologie permet de réduire fortement la taille des plus petits éléments lisibles, mais la tête MR ne peut être utilisée que pour la lecture, une tête classique étant conservée pour l’écriture. Ces têtes ont permis d’atteindre les limites de densité du stockage magnétique « à plat », qui se situent aux alentours de 30 Gbit/cm².
Cette limite provient de la propension des éléments à changer spontanément leur polarité en fonction de fluctuations de température. Plus un élément est petit, plus il changera facilement de polarité sous l’effet d’une faible variation de température, ce qui oblige à recourir à des matériaux plus « robustes », mais qui exigent également un champ magnétique plus important pour forcer leur changement de polarité (cette résistance au changement de polarité s’appelle la coercivité).
Pour aller encore plus loin en densité, le constructeurs de disques durs ont donc ressorti au milieu des années 2000 une vieille technologie que Toshiba avait lancé dans les années 1980, sans grand succès, pour produire des disquettes de 2.88 Mo : l’enregistrement perpendiculaire.
Comme son nom l’indique, il consiste à positionner les éléments magnétiques perpendiculairement à la surface disque, et non plus parallèlement à cette surface. Cette solution permet d’utiliser la base du plateau comme une « extension » de la tête d’écriture, qui peut alors entourer l’élément à magnétiser. Il est ainsi possible d’imposer à l’élément un champ magnétique plus intense, et donc d’utiliser un matériau de coercivité plus élevée. Il en résulte alors une réduction de la taille limite à partir de laquelle les éléments risquent de changer spontanément de polarité, et donc, une augmentation de la densité. En pratique, la limite de cette technologie est estimée à environ 160 Gbit/cm², plus de 5 fois la limite de l’enregistrement « à plat ». Les disques actuellement disponibles atteignent un peu plus de la moitié de cette densité (92 Gbit/cm² pour des plateaux 3.5″ de 1 To).
La prochaine étape devrait s’appuyer sur deux technologies : le Shingled Magnetic Recording et le Heat Assisted Magnetic Recording.
Le SMR exploite le fait que la tête de lecture est plus précise que la tête d’écriture, ce qui lui permet de lire des pistes plus étroites. Il est ainsi possible « d’empiler » les pistes lors des écritures, en ne laissant dépasser que la largeur minimale nécessaire pour permettre de lire la piste du dessous, et donc, de placer plus de pistes sur une même largeur.
Ce système peut par contre réduire fortement les performances en écriture, ce qui fait qu’il est surtout adapté à des disques utilisés principalement pour des données variant peu. En effet, lorsqu’il faut écrire des données sur une piste, il faut aussi relire et réécrire toutes les pistes qui la chevauchent, directement ou indirectement (pistes chevauchant une piste qui elle-même chevauche celle qui doit être écrite, et ainsi de suite…). Ainsi, s’il y a par exemple un empilement de 1000 pistes sur un disque dur 7200 RPM, il faudra au minimum 8.3 secondes pour écrire une donnée sur la première piste, en réécrivant aussi les 999 pistes superposées, une seule piste pouvant être écrite à chaque tour (et en supposant que la lecture et l’écriture peuvent se faire dans le même tour, sinon il faut encore doubler cette valeur…).
Il existe heureusement une astuce toute simple pour éviter de réécrire toutes les pistes à chaque fois : intercaler de temps en temps une piste sans superposition. Par exemple, si une piste sur cinq est laissée sans superposition, l’écriture d’un secteur imposera au maximum d’en réécrire quatre autres, soit une latence inférieure à 50 ms pour un disque dur 7200 RPM.
Le HAMR, développé principalement par TDK et Seagate, vise pour sa part à réduire encore plus la taille des éléments magnétiques. Pour réduire la taille des éléments au-delà des limites du PMR sans risque de changements de polarité spontané, il faut recourir à des matériaux de coercivité encore plus élevé. Mais on se heurte alors à un autre problème : la difficulté à faire des têtes produisant un champ magnétique suffisamment élevé et concentré. La solution proposée par TDK consiste à utiliser un laser pour chauffer la surface du disque avant une écriture, la hausse de température permettant de réduire la coercivité. Les derniers prototypes HAMR ont déjà permis de dépasser les 160 Gbit/cm², et TDK espère atteindre 900 Gbit/cm² en 2020.
Outre les gains en capacité de stockage, notons également que l’évolution de la densité a aussi directement influé sur les performances des disques durs : à vitesse de rotation égale, le débit d’un disque dur est proportionnel à la racine carré de sa densité surfacique. Le passage de 10 à 90 Gbit/cm², soit une multiplication par 9 de la densité surfacique, induit par exemple une multiplication par 3 des débits dont profite l’utilisateur.
Évolutions de la structure des données
La forte diminution de la taille des éléments magnétiques a été le principal facteur de l’évolution de la capacité de stockage des disques durs. Il y a toutefois aussi eu quelques évolutions plus mineures au niveau de la façon de structurer les données sur les disques, qui ont également permis des gains de capacité.
Au début des PC, les disques durs étaient divisés avec une structure logique à trois niveaux, et l’adressage se faisait en suivant ce découpage. Un secteur était identifié par un numéro de cylindre (C), un numéro de tête (H) et un numéro de secteur dans la piste (S). Le cylindre correspond à l’ensemble des pistes situées à la même distance de l’axe du disque (donc un cylindre contient deux pistes par plateau) et le numéro de la tête correspond à l’identifiant de la tête pouvant lire ce secteur, en fonction donc de la piste sur laquelle il se trouve. Les plus anciens se souviennent sans doute de ce mode de fonctionnement, qui se reflétait sur la configuration du disque dur au niveau du BIOS : il n’y avait à l’époque pas de détection automatique des caractéristiques du disque et il fallait indiquer dans le BIOS son nombre de cylindres, son nombre de têtes par cylindre et son nombre de secteurs par piste.
Très basique, ce mode d’adressage avait un défaut : il imposait d’avoir le même nombre de secteurs dans chaque piste, alors que les pistes extérieures du disque sont plus longues que les pistes intérieures. Les performances des têtes n’étaient donc pas utilisées de façon optimale, la densité de stockage en bordure du disque étant largement inférieure à ce dont la tête était capable.
Pour améliorer la capacité, les constructeurs ont alors introduit le Zone Bit Recording, ou ZBR. Avec ce système, les pistes sont regroupées en différentes zones, avec un nombre de secteurs par piste variant d’une zone à l’autre. Efficace pour augmenter la capacité, cette astuce complexifie par contre l’adressage. Cette complexité était prise en charge par le contrôleur du disque, qui effectuait la conversion entre les adresses CHS « externes » basées sur des pistes de longueur fixe et les véritables adresses physiques internes du disque. Cette « virtualisation » de l’adressage était également rendue nécessaire par la montée en capacité des disques, l’adressage CHS étant limité à 63 secteurs par piste, une valeur qui a été dépassée au début des années 90, lorsque les capacités des disques étaient de l’ordre de 500 Mo. Au milieu des années 90, l’adressage externe a finalement été totalement remplacé par un nouveau mode d’adressage sans aucun lien avec la structure physique, l’adressage LBA (Logical Block Adressing), où les secteurs sont simplement numérotés de manière séquentielle, le contrôleur du disque assurant la correspondance entre ces numéros et les secteurs physiques.
Depuis 2010, les disques durs proposent une petite évolution de la structure des données, qui a permis de gagner légèrement en capacité : l’Advanced Format. Après avoir fonctionné pendant des décennies avec des secteurs de 512 octets, les disques Advanced Format utilisent des secteurs de 4 Ko. Cette augmentation de la taille des secteurs permet de diviser par huit la taille des informations de structure stockées sur le disque (chaque secteur de 4 Ko embarque la même quantité d’informations de structure que les anciens secteurs de 512 octets) et par quatre la taille des informations de contrôle et correction d’erreur (on passe de 50 octets par secteur de 512 octets à 100 octets par secteur de 4 Ko). Pour assurer la compatibilité avec les ordinateurs et OS existants, tous les disques Advanced Format actuellement disponibles exposent en externe des secteurs de 512 octets (Advanced Format 512e), de façon totalement transparente. Comme avec les SSD, il faut alors prendre soin de bien aligner les partitions sur la taille des secteurs physiques, et non pas sur la taille des secteurs logiques, pour éviter des pertes de performances. À terme, il est prévu que les disques Advanced Format exposent directement leurs secteurs de 4 Ko (Advanced Format 4Kn), mais peu d’OS supportent actuellement ce type de disques.
Les disques durs, encore là pour longtemps ?
Bien que leur conception générale puisse paraître archaïque aujourd’hui, les disques durs ont probablement encore un avenir radieux devant eux, les successeurs ne se bousculant pas au portillon, tandis que les besoins en capacité de stockage explosent, en particulier dans les datacenter des géants du web.
Pour les petites et moyennes capacités, ils vont probablement être remplacés assez rapidement par les SSD qui disposent de sérieux atouts avec leurs performances largement supérieures, leur silence de fonctionnement et leur consommation réduite, mais pour les gros volumes, les SSD risquent de rester encore longtemps disqualifiés par leur prix. On trouve en effet aujourd’hui des disques durs à moins de 30€ le To, contre 400€ le To pour les SSD les plus abordables, et le ratio entre les prix au To des SSD et celui des disques durs ne diminue plus très rapidement.
En dehors des SSD, la seule autre alternative évoquée ces dernières années était le Hard Rectangular Drive de DataSlide. Présenté en 2009, il promettait des performances largement supérieures à celles des SSD de l’époque (160.000 IOPS et 500 Mo/s), tout en étant basé sur la même technologie de stockage que les disques durs. La différence se faisait eu niveau de la mécanique et du nombre de tête : au lieu de plateaux circulaires tournant sous une tête mobile, le HRD utilise un plateau rectangulaire placé sous une plaque constituée de milliers de têtes fixes. Pour lire les données, le plateau se déplace linéairement sous les têtes, avec une amplitude de déplacement très faible (0.25mm), d’où la forte réduction des temps d’accès, les gains en débit provenant de la possibilité de lire/écrire avec plusieurs têtes en parallèle (jusqu’à 64).
Mais depuis 2009, les performances des SSD ont fortement progressé et leur coût a diminué, ce qui a fait perdre une grande partie de l’intérêt du HRD… Après sa présentation, DataSlide n’a quasiment plus communiqué sur son projet, et le site de la société ( http://www.dataslide.com/ ) semble au point mort, ce qui laisse peu d’espoir de voir un jour arriver le HRD, surtout pas sur le marché grand public.
« À terme, il est prévu que les disques Advanced Format exposent directement leurs secteurs de 4 Ko (Advanced Format 4Kn), mais peu d’OS supportent actuellement ce type de disques. »
Avoir des secteurs de plus de 512 octets est une possibilité qui existait depuis longtemps sur les disques durs SCSI, la fonction FORMAT (4) de bas niveau proposait depuis le début de régler la taille de secteurs « exposée » (même si après on ne sait pas si ça change vraiment physiquement sur le disque…)
Tous les OS un peu sérieux auraient donc du prévoir le support d’un tel adressage depuis TRES longtemps (surtout que c’est pas si dur à faire et si on le fait correctement on ne le fait qu’une fois pour toutes les tailles…)
En fait c’est pas forcément si simple que ça… J’avais lu une fois dans la doc d’un soft que certains OS supportent les 4Kn uniquement comme disque de données, pas comme disque de boot. C’est donc vraisemblablement qu’il y a des subtilités dans les couches basses de l’OS qui rendent compliqué le passage à des disques 4Kn (bon, la « subtilité », ça peut aussi être du code crade, avec plein de 512 codés en dur ^^). Il y a aussi le fait que les BIOS ne supportent pas le 4Kn, faut obligatoirement une machine UEFI, donc même avec un OS compatible, pas moyen de booter sur un disque 4Kn avec une machine BIOS.
Mais bon, ça viendra petit à petit, les OS récents le supportent*, donc faudra juste patienter un peu, le temps que la part de marché des anciens OS diminuent, et les constructeurs généraliseront alors le 4Kn.
* Microsoft depuis Windows 8, Linux depuis un bon moment… pour OS X par contre je sais pas trop… Perso j’ai eu quelques soucis pour le booter sur un bête 512e, donc j’ai des doutes sur le fonctionnement avec un 4Kn, mais en même temps c’était sur un Hackintosh, peut-être qu’avec un vrai Mac ça serait passé…
Oui, pourtant ça fait longtemps que les BIOS supportent de booter sur CDRom ou DVDRom avec des secteurs de 2 Ko, donc c’est que le code a bien été déjà modifié dans le passé mais qu’ils n’ont sans doute pas pris la peine de faire du code propre qui gère toutes les tailles, ça a été vite fait sur le gaz quoi ^^…
Pour ma part j’ai découvert assez récemment que pour XP même la taille de secteur logique (et non physique) pose problème, impossible de booter sur une partition NTFS avec des clusters de plus de 4Ko…
C’est surtout que c’est pas le même code à priori. Les disques durs, c’est le protocole ATA, pour lequel la taille des secteurs a dû être codée en dur au début, tandis que les CD c’est le protocole ATAPI, arrivé plus tard et prévu pour des périphériques de natures diverses, donc qui a probablement immédiatement été implémenté avec une taille de secteur dynamique.
Ah ouais, quand même ^^ Ça c’est bien crade…
Pour booter XP sur une partoche avec clusters de plus de 4Ko j’avais trouvé un « workaround » qui consiste à faire une toute petite première partition avec des clusters de 4Ko, comme l’installeur n’a pas de place pour mettre XP dessus il met uniquement un genre de bootstrap dessus et l’OS proprement dit sur la seconde partition avec les gros clusters et ça marchait…
vraiment intéressant, merci.
J’aimerais bien quelques précisions, étant passé au SSD il y a quelques temps, j’ai bien peur de ne pas avoir fait ce qu’il faut sur ce point par manque d’information et donc de connaissances…
En gros j’ai fait mes partitions sur le SSD pour « coller » avec l’image de mon HDD quand j’ai transféré le bousin avec acronis.
Il faut que tu vérifies que l’offset de chacune des tes partitions est un multiple de la taille des pages de ton SSD (ou des secteurs physiques sur un HDD).
Par exemple, sous Windows Vista et supérieur, tu peux le faire avec la commande « wmic partition get Name,StartingOffset ».
Après, faut trouver la taille des pages de ton SSD, ça c’est pas forcément gagné… Mais si tu as un Windows « récent » (Vista ou plus), c’est normalement aligné sur des multiples de 1 Mo, et comme les tailles de pages sont généralement des puissances de 2, ça convient du coup pour toutes les tailles de pages inférieures à 1 Mo (en pratique, c’est généralement compris entre 1 et 8 Ko, donc y a de la marge ^^). Il me semble aussi que la plupart des outils de partitionnement tiers alignent désormais aussi sur 1 Mo.
Si tu as besoin de réaligner, tu peux le faire par exemple avec ça, sans avoir à effacer les données : http://www.partitionwizard.com/partition-wizard-bootable-cd.html (fait quand même un backup avant, on sait jamais…)
Ok merci je vais regarder ça.
@Matt> +1 la plupart des outils commencent les partitions à 1MO (ou 2048 secteurs de 4kb): ça fait un peu de perte (relatif 1Mo sur 160Go on s’en contre-f…), par contre c’est universel (1Mo étant multiple de toute taille de secteur, et 1Mo ne dépasse pas la limite bootable des vieux BIOS / OS)
Pour t’assurer que tout est OK, tu peux booter une live USB linux et taper en root « fdisk -l /dev/sda » (a priori c’est sda ça peut être différent en fonction de tes disques) :
si tu n’as pas ce warning « Partition x does not start on physical sector boundary. » tout est bon 🙂
Bon y’a quasi aucune raison que ce ne soit pas aligné, sauf si tu as forcé le start sector à une valeur plus petite que la valeur pas défaut, ou si tu t’es amusé à indiqué la taille de tes partitions en octets au lieu de Mo /Go.
Ou si sa partition date un peu… J’ai déjà vu des machines avec un SSD sous Windows 8 dont la partition système démarrait au secteur 63, tout simplement parce qu’à la base la machine avait été installée sous XP, et que son propriétaire n’avait jamais re-partitionné (un simple formattage ne déplace pas les partitions…) et était passé au SSD en faisant un clone 1:1 de son DD.
Bah j’ai fait une fresh install de 7 quand j’ai laissé XP, sur un HDD neuf il me semble à l’époque, et à chaque install de windows je passe par son système de partitionnement.
Ensuite j’ai formaté le SSD avec acronis et copié le HDD « 7 » dessus.
Du coup à priori t’as rien à craindre, tu dois bien être aligné sur 1 Mo.
Oui j’ai rentré ta première commande (pour être sûr de la syntaxe) dans Google et trouvé cette méthode qui passe par MSInfo : http://superuser.com/%5B…]ment-on-an-ssd-drive
Et j’ai bien un chiffre « rond » (offset = 1048576).
EDIT : merci pour le coup de pouce les gars ^^
Et sinon rien à voir, mais depuis que je l’ai acheté ce SSD (Sandisk Ultra Plus 256Go, payé 120€ FDPI), en début 2013 presque, je trouve que les prix sont juste envasés c’est hallucinant!
Y’a pourtant pas eu d’inondation…