<Le Disque Dur>

Le Disque Dur



Lorsque l'ordinateur n'est plus sous tension, la mémoire vive perd toutes les données qu'elle contenait l'instant précédent. Il est indispensable de conserver ces informations. Le disque dur présente certainement la meilleure forme de stockage. En effet, ses qualités sont nombreuses : vitesse d'accès aux données (environ 10ms), sa capacité (de l'ordre du Go), son faible coût (moins de 10 centimes le Mo) et sa fiabilité.
Le disque dur est un des rares composants de l'ordinateur où l'électronique doit cohabiter avec la mécanique. De façon schématique, la mécanique du disque dur peut être comparée à celle d'un tourne-disque allié à une précision d'horloger. La partie électronique du disque dur, quant à elle, assure la communication entre ce bijou mécanique et le système (c'est l'interface).


  1. Technologie du disque dur
    1. Un peu d'histoire
    2. Le premier disque dur a vu le jour en 1956 dans les laboratoires d'IBM. Il est le fruit de recherches pour pallier l'inconvénient majeur des bandes magnétiques à savoir l'accès séquentiel. Cet ancêtre du disque dur s'appelait le 305 Ramac, occupait le volume d'une grosse armoire pour une capacité de 5 Mo et un prix de 250 000F. Cependant, il révolutionna l'industrie informatique.
      Un peu plus de vingt ans après, en 1979, la société Seagate (fondé par Alan Shugart, un des concepteurs du Ramac) proposait un disque dur d'également 5 Mo mais au prix de 20000F. Aujourd'hui, un disque dur de 20 Go s'achète moins de 1500F.


    3. Mécanique
    4. Dans la mécanique du disque dur, on peut distinguer deux grands sous-ensembles : les plateaux et le bloc bras/têtes.
      L'élément essentiel du disque dur est bien évidemment celui où est stocké l'information. Il s'agit d'un plateau circulaire généralement en aluminium (à la fois léger et amagnétique) ou bien en verre pour les technologies plus récentes.

      La majorité des disques durs actuels ont un facteur de forme (diamètre du plateau) de 3,5 pouces (8,89 cm) ou 2,5 pouces. Cependant, il en existe de 5,25 et 1,8 pouces.
      Généralement, pour augmenter sa capacité, un disque dur comporte plusieurs plateaux fixés sur un même axe. Chaque plateau est recouvert sur les deux faces d'une fine couche (0,5 à 0,75 microns) d'oxyde de fer magnétisable pour les technologies classiques et d'un film mince (Thin Film, 0,05 à 1 micron) de phosphore/nickel ou phosphore/cobalt pour les technologies actuelles.

      Chaque face du disque est composée de pistes concentriques sur lesquelles sont stockées les données. Le nombre de pistes par plateau varie selon les modèles : d'une dizaine à plus de mille. Les pistes sont numérotées, en partant de zéro, de l'extérieur vers l'intérieur du disque.
      De plus, chaque piste est divisée en secteurs (de 8 à 34) qui sont en fait des portions de pistes limitées par deux rayons. Chaque secteur contient un nombre fixe d'octets. Ceci implique une densité d'enregistrement accrue au fur et à mesure que l'on se rapproche du centre.




      Le second élément physique de base d'un disque dur est constitué du bloc bras/tête(s) de lecture-écriture. Le procédé d'accès aux données est similaire à celui d'un tourne-disque : un moteur fait tourner les plateaux à une vitesse constante et les têtes (au nombre de deux par plateaux) viennent se positionner au dessus de la piste à lire ou à écrire. Les plateaux n'étant pas constitués d'un microsillon comme sur les disques vinyl, un second moteur est nécéssaire pour déplacer les bras. Ces derniers sont solidaires d'un même axe ce qui implique le déplacement de toutes les têtes simultanèment. Ainsi, à un instant donné, toutes les pistes situées sous les têtes portent le même numéro. C'est ce que l'on appelle un cylindre : il s'agit en fait du cylindre virtuel passant par toutes les pistes de même numéro. Cette notion de cylindre a un effet non négligeable : si un fichier ne peut être écrit sur une même piste, il sera intéressant qu'il se trouve sur un même cylindre. En effet, l'accès aux données de ce fichier sera plus rapide puisqu'il n'y aura pas de mouvement des bras.

      Une autre différence importante avec le tourne-disque est dû à la vitesse de rotation des plateaux. Celle-ci étant de l'ordre de plusieurs milliers de tours par minute (3600 à 7200 tpm), la tête ne doit en aucun cas être en contact avec le plateau sous peine d'échauffement et de destruction du revêtement magnétique (crash). Par conséquent, les têtes flottent sur un coussin d'air provoqué par la rotation des disques (le vent créé est de l'ordre de 250km/h). La hauteur de vol est d'environ 0,2 microns alors qu'une simple empreinte digitale mesure plus de 0,5 microns.



      Le disque dur doit donc être à l'abris du monde extérieur sous peine de crash. Le disque dur est en effet fabriqué en salle blanche et il est protégé dans un boitier étanche. Seul un petit évent permet d'échanger un air soigneusement filtré avec l'extérieur afin d'équilibrer les pressions.



      Lors de l'arrêt de la rotation du disque dur, le coussin d'air diminue progressivement et les têtes se posent en douceur sur une piste qui leur est réservée : c'est la zone d'atterrissage (landing track).


    5. Principe de lecture/écriture
    6. La lecture et l'écriture des données est bien évidemment du ressort des têtes. Il existe deux types de têtes :


      Avant de pouvoir recevoir des informations, le disque dur doit subir un double formatage : Le formatage physique consiste à préparer la surface des plateaux en y définissant les pistes et en inscrivant les octets de contrôle. Ce formatage de bas niveau est réalisé par le constructeur.
      Le formatage de haut niveau dépend quant à lui du système utilisé. En effet, selon les systèmes, la manière de gérer les secteurs et les cylindres diffère. Par conséquent, c'est à l'utilisateur de réaliser cette opération.

      Il existe trois principes d'enregistrement des données sur la couche magnétique recouvrant les plateaux :

      Maintenant que nous avons vu l´aspect mécanique du disque dur nous allons nous intéresser à la manière dont le système gère les accès au disque.





  2. Stockage de l´information
    1. Modes de codage




    2. Algorithmes d'ordonnancement
      1. Ordonnancement dans l'ordre d'arrivée
      2. Comme pour la file d'attente de l'unité centrale ou d'une ressource quelconque, la stratégie la plus simple pour gérer la file d'attente d'une unité de disque consiste à traiter les demandes dans l'ordre d'arrivée (FIFO). Bien qu'il s'agisse d'une statégie équitable, les performances sont parfois très médiocres.

        Exemple

        Supposons qu'un disque contienne 20 pistes, numérotées de 0 à 19, et que la tête de lecture/écriture soit positionnée à la piste numéro 14. Une requête étant représentée par son numéro de piste, la file d'attente contient les requêtes suivantes, dans l'ordre d'arrivée :

        17, 18, 4, 11, 2, 12

        La tête se déplace d'abord de la piste 14 à la piste 17, parcourant 3 pistes. Elle passe ensuite de 17 à 18, puis de 18 à 4, et ainsi de suite (fig. 1). Si nous calculons le déplacement total de la tête, en nombre de pistes parcourues, nous obtenons :
        d = (17-14) + (18-17) + (18-4) + (11-4) + (11-2) + (2-12) = 44 pistes. Manifestement, cet algorithme ne minimise pas le déplacement puisque le simple fait de regrouper le traitement de requêtes concernant des pistes proches permettrait de le réduire. Par exemple, traiter 4 et 2 ensemble avant 11 et 12 conduirait à un déplacement total de 30 pistes.





      3. Ordonnancement suivant le plus court temps de recherche (PCTR)
      4. L'idée de regrouper les requêtes concernant des pistes proches conduit naturellement à l'algorithme d'ordonnancement suivant le plus court temps de recherche : la prochaine requête traitée est celle pour laquelle le déplacement de la tête est minimal, à partir de la position courante.

        Exemple

        Reprenons la liste de requêtes précédente pour les pistes 17, 18, 4, 11, 2, 12, en supposant toujours que la tête est placée initialement sur la piste 14. La requête la plus proche de 14 est 12. Une fois que la tête est sur la piste 12, la prochaine requête la plus proche concerne la piste 11. Ensuite, la distance à la piste 4 est de 7, tandis que la distance à la piste 17 est de 6. L'algorithme choisit donc de traiter la requête pour la piste 17. Finalement, les requêtes sont traitées dans l'ordre : 12, 11, 17, 18, 4, 2 et le déplacement total est de 26 pistes, ce qui représente une amélioration notable par rapport au traitement FIFO.



        Remarquons cependant que cet algorithme n'est pas optimal. En effet, si la tête se déplace d'abord vers la piste 17, pour laquelle la distance n'est pas minimale, et traite ensuite la requête pour la piste 18 avant de se déplacer vers les pistes 12, 11, 4 et 2, le déplacement total est réduit à 20 pistes.
        D'autre part, si de nouvelles requêtes arrivent en cours de traitement, un phénomène de famine peut se produire. Supposons par exemple qu'il arrive un flot continu de requêtes pour des pistes proches de 14. Ces requêtes sont traitées par PCTR avant celles qui concernent les pistes 2 et 4, obligeant ces dernières à attendre indéfiniment. En particulier, les requêtes pour des pistes situées aux extrémités sont défavorisées.

      5. Ordonnancement par balayage
      6. L'algorithme d'ordonnancement par balayage a été introduit pour éviter ce dernier inconvénient. Il est particulièrement adapté aux systèmes dans lesquels les accès au disque sont très fréquents. Comme son nom l'indique, il parcourt toutes les pistes dans une direction donnée, par exemple vers l'intérieur, et traite au fur et à mesure les requêtes qu'il rencontre. Ensuite, la tête change de direction et balaie toutes les pistes vers l'extérieur. Bien entendu, les nouvelles requêtes qui sont arrivées après le passage de la tête de lecture-écriture doivent attendre le trajet retour pour être traitées. Cette version de base de l'algorithme, appelée SCAN, est implémentée de plusieurs façons.
        Par exemple, dans la version connue sous le nom de LOOK, la tête ne va pas jusqu'au bout des pistes mais repart dans l'autre sens dès qu'il n'y a plus de requêtes en attente.

        Exemple

        Dans la liste de requêtes précédente, avec la tête initialement sur la piste 14, supposons que le mouvement courant de la tête soit vers la piste 19. L´algorithme LOOK traite les requêtes dans l´ordre : 17, 18, 12, 11, 4, 2 et conduit à un déplacement total de 20 pistes.



        Une autre implantation gère les pistes suivant une liste circulaire. La dernière piste est considérée comme adjacente à la première et la tête, lorsqu´elle est arrivée à une extrémité, retourne immédiatement à l´autre sans traiter de requête. Ces algorithmes sont appelés C-SCAN ou C-LOOK (C pour circulaire) suivant que la version initiale est SCAN ou LOOK.
        Enfin, une dernière modification de la stratégie SCAN consiste à ne pas traiter les requêtes qui arrivent alors qu´un parcours est déjà commencé. En effet, si des requêtes s´accumulent pour des pistes situées en avant de la tête, le trajet retour est fortement retardé. Ces nouvelles requêtes sont traitées pendant le balayage retour.



      7. Ordonnancement réduisant le temps de latence
      8. Lorsque les demandes sont très nombreuses, on trouve fréquemment plusieurs références à une même piste ou à un même cylindre. Les requêtes doivent alors être ordonnées suivant les secteurs qu´elles recherchent, de façon à réduire le temps de latence.
        L´algorithme PCTL (Plus Court Temps de Latence) sélectionne les requêtes concernant le secteur le plus proche de la position courante de la tête, en tenant compte du sens de rotation. Le fonctionnement est donc le suivant : à chaque secteur d´un même cylindre est associée une file d´attente des requêtes pour ce secteur. Lorsque la tête est positionnée sur une piste donnée, les requêtes sont traitées dans le même ordre que celui du défilement des secteurs concernés sous la tête, indépendament de leur ordre d´arrivée. Cette stratégie est relativement facile à implanter et on peut prouver que les performances sont assez proches de la valeur théorique optimale.

        Exemple

        Supposons que chaque piste soit divisée en 12 secteurs et que la tête soit placée au dessus du secteur 12, avec un sens de rotation correspondant au défilement de secteurs par numéros croissants. Si les requêtes pour les secteurs 11, 5, 8, 7 sont en attente, l´ordre de traitement est : 5, 7, 8, 11. Ceci évite d´atendre plus d´un tour pour traiter les requêtes des secteurs 5, 8, 7.



    3. Les différentes interfaces
    4. Le rôle de l´interface disque - contrôleur disque ou BUS est de gérer les échanges de données et leur encodage entre le disque et le système. Les interfaces les plus utilisées actuellement sont les EIDE et SCSI.

      Le contrôleur IDE (Integrated Drive Electronic) ou BUS-AT est apparu en 1988. Le contrôleur peut être intégré sur le disque et permet de gérer des disques de 20 à 200 Mo. C´est un contrôleur relativement répandu assurant des taux de transfert de l´ordre de 32 Mbps.
      Le mode IDE est désormais délaissé au profit du EIDE (Enhanced IDE), plus performant et permettant de gérer des disques de grande capacité (500 Mo et plus). Les contrôleurs EIDE utilisent actuellement deux protocoles de transmission - soit PIO (Programmed Input Output), soit Multiword DMA (Direct Memory Access). En mode PIO le taux de transfert varie de 3.33 Mo/s - pour le PIO Mode 0 à 16.67 Mo/s pour le PIO Mode 4. Le mode Multiword DMA offre quant à lui des taux de transfert allant de 4.17 Mo/s à 16.67 Mo/s. Le mode PIO 4, actuellement très répandu a par contre tendance à monopoliser le processeur ce qui n´est pas le cas du Multiword DMA. Une technologie Fast-ATA-2 est équivalente à l´EIDE et utilise des principes de fonctionnement similaires.

      L'interface SCSI (Small Computer System Interface) est de plus en plus adopté par les constructeurs. Sa vitesse de transfert est de l'ordre de 4 Mo/s à 40 Mo/s selon la largeur du bus et le standard SCSI employé (SCSI-1, SCSI-2, SCSI-3, Fast Wide SCSI, Ultra SCSI...).
      L'interface SCSI peut gérer jusqu'à 31 unités physiques différentes qui ne sont pas forcèment des disques durs (imprimantes, streamers, ...). Couplée à une interface série SSA (Serial Storage Architecture) elle permet d'atteindre un taux de transfert de 80 Mo/s et elle peut moner à 200 Mo/s avec une interface FC-AL (Fiber Channel Arbitrated Loop).
      C'est un contrôleur intelligent pouvant fonctionner en autonome (transfert entre deux unités SCSI sans faire intervenir la mémoire centrale, gestion optimisée des transferts entre le périphérique et l'unité centrale limitant les états d'attente du microprocesseur...). SCSI utilise trois principes :

      Il existe une autre interface actuellement : l'interface PCMCIA qui correspond aux disques de facteur de forme 1,8 pouces et qui sápplique donc avant tout aux portables.




    Le disque dur est encore loin d'avoir atteind ses limites. En effet, la limite théorique du stockage est de 100 000 Go par pouce carré alors qu'IBM compte arriver au Go par pouce carré en l'an 2000. Avant la fin du siècle, la vitesse de rotation devrait atteindre 14 000 tpm (ce qui implique une vitesse de transfert accrue), un disque moyen aura une capacité de 10 Go et le prix devrait être divisé par dix : 100F/Go.
    Pour ceux qui ne seraient pas encore convaincu, on peut rajouter que la fiabilité des disques durs est en forte hausse : sur certains modèles, le temps moyen avant une panne est d'un million d'heures, soit un siècle...




http://jpeducasse.free.fr/disquedur/expose.html -
dernière mise à jour : 12/05/2000 -
Jérôme PÉDUCASSE - jerome.peducasse@gmail.com -