6.2.1 Architecture d'un disque dur

L’architecture physique simplifiée d’un disque dur est présentée en Figure 64. Un disque contient plusieurs plateaux. Sur chaque plateau nous avons un certain nombre de pistes circulaires (tracks), et sur chaque piste un nombre de secteurs. Les pistes circulaires situées à la même distance de l'axe de rotation (une piste sur chaque plateau) forment un cylindre. Les informations sont emmagasinées dans les secteurs (par exemple 512 octets par secteur). L'accès aux secteurs se fait à l'aide d'un certain nombre de tête de lecture/écriture, situées sur un même bras.

message URL fig64.gif
Figure 64 L'architecture physique très simplifie d'un disque dur ([quantum])

Une opération de lecture consiste en le positionnement des têtes de lecture/écriture du disque sur le cylindre et les secteurs désirés par un mouvement de translation et de rotation.

Les performances d'un disque dur dépendent d'un grand nombre de paramètres ([storagereview] présente 36 paramètres influençant le débit d'un disque dur). Il existe plusieurs modèles pour les disques SCSI avec différents niveaux d'abstraction, tenant compte de plus ou moins de paramètres ([rangan92], [lee97]). Nous souhaitons modéliser d'une manière simple deux paramètres plus généraux: le débit soutenu du disque et le temps d'accès à un bloc de données.

Le débit soutenu d’un disque dur est une mesure de la quantité de données transférée depuis le disque vers l’extérieur dans des conditions particulières (lecture d’un certain nombre de blocs consécutifs, etc.). En réalité le débit dépend aussi de la position des blocs à l’intérieur du disque (sur des parties plus rapides ou plus lentes). Nous prenons en compte les blocs situés sur la partie la plus lente du disque. Les disques avec lesquels nous avons travaillé ont un taux de transfert situé entre 12 et 20 MBytes/s ([quantum]).

Le temps d'accès à un bloc (Access Time) est une mesure dépendant de plusieurs paramètres :

( 6 )

Le temps de réaction du disque (Command Overhead Time) représente le temps passé entre la réception d'une commande et le début d'une action physique. Généralement il a une valeur assez négligeable par rapport à d'autres paramètres, située autour de 0.5 ms.

Le temps d’un saut (Seek Time) mesure la durée nécessaire pour que les têtes lecture/écriture du disque changent de cylindres. Comme le temps nécessaire pour changer la position d’une tête de lecture dépend aussi de la position des cylindres, on mesure la moyenne du temps d’un saut entre des cylindres avec des positions aléatoires, qu’on appelle le temps moyen de saut. Les valeurs de ce paramètre se situent entre 6 et 12 millisecondes pour les disques durs de nos jours.

Le temps de stabilisation (Settle Time) mesure le temps nécessaire pour stabiliser la tête de lecture avant de commencer la lecture. La valeur est située autour de 0.1 ms.

La latence (Latency) mesure le temps nécessaire pour que la tête de lecture trouve le bon secteur sur un cylindre (voir la Figure 64). Si nous connaissons le nombre de rotations que le disque peut faire par minute (RPM), la latence22 est donnée par la relation :

( 7 )

Pour un disque à 7200 rotations par minute (7200 rpm), la latence est de 4.2 ms. Dans la Figure 65 nous montrons les caractéristiques d'un disque dur Quantum Atlas, à partir de ses spécifications techniques ([quantum-atlas]).

Figure 65 Les caractéristiques d’un disque dur Quantum Atlas V
Disque Quantum Atlas V
Paramètres fournis par le constructeur :
Capacité 18.2 GBytes
Débit soutenu 17 MBytes/s
Command Overhead Time 0.5 ms
Temps moyen de saut (seek time) 6.3 ms
Settle Time 0.1 ms
RPM 7200 rpm
Paramètres déduits :
Latency 4.2 ms
Temps d'accès 0.5+6.3+0.1+4.2 = 11.1 ms

Notes
22.

la latence est mesuré en milliseconds (ms)