Tampon de disque

Lecture en avance / lecture en arrière

Lorsque le contrôleur d’un disque exécute une lecture physique, l’actionneur déplace la tête de lecture / écriture vers (ou à proximité) le cylindre correct, après un certain réglage et éventuellement un actionnement fin, la tête de lecture commence à capter les données de piste, et il ne reste plus qu’à attendre que la rotation du plateau apporte les données demandées.

Les données lues avant la demande pendant cette attente ne sont pas demandées mais libres, donc généralement enregistrées dans le tampon de disque au cas où elles seraient demandées ultérieurement.

De même, les données peuvent être lues gratuitement derrière celles demandées si la tête peut rester sur la bonne voie car il n’y a pas d’autre lecture à exécuter ou si le prochain actionnement peut démarrer plus tard et se terminer à temps.

Si plusieurs lectures demandées se trouvent sur la même piste (ou à proximité sur une piste en spirale), la plupart des données non demandées entre elles seront lues à la fois devant et derrière.

Correspondance de vitessedit

La vitesse de l’interface d’E/S du disque vers l’ordinateur ne correspond presque jamais à la vitesse à laquelle les bits sont transférés vers et depuis le plateau du disque dur. Le tampon de disque est utilisé pour que l’interface d’E / S et la tête de lecture / écriture du disque puissent fonctionner à pleine vitesse.

Accélération d’écriture

Le microcontrôleur intégré du disque peut signaler à l’ordinateur principal qu’une écriture sur disque est terminée immédiatement après la réception des données d’écriture, avant que les données ne soient réellement écrites sur le plateau. Ce signal précoce permet à l’ordinateur principal de continuer à fonctionner même si les données n’ont pas encore été écrites. Cela peut être quelque peu dangereux, car si l’alimentation est perdue avant que les données ne soient définitivement fixées dans le support magnétique, les données seront perdues à partir du tampon du disque et le système de fichiers sur le disque peut être laissé dans un état incohérent.

Sur certains disques, cette période vulnérable entre la signalisation de l’écriture complète et la fixation des données peut être arbitrairement longue, car l’écriture peut être différée indéfiniment par des requêtes nouvellement arrivées. Pour cette raison, l’utilisation de l’accélération d’écriture peut être controversée. La cohérence peut cependant être maintenue en utilisant un système de mémoire sur batterie pour la mise en cache des données, bien que cela ne se trouve généralement que dans les contrôleurs RAID haut de gamme.

Alternativement, la mise en cache peut simplement être désactivée lorsque l’intégrité des données est jugée plus importante que les performances d’écriture. Une autre option consiste à envoyer des données sur le disque dans un ordre soigneusement géré et à émettre des commandes de « vidage du cache » aux bons endroits, ce qui est généralement appelé la mise en œuvre de barrières d’écriture.

Command queuingEdit

Les disques SATA plus récents et la plupart des disques SCSI peuvent accepter plusieurs commandes lorsqu’une commande est en fonctionnement via « command queuing » (voir NCQ et TCQ). Ces commandes sont stockées par le contrôleur intégré du disque jusqu’à ce qu’elles soient terminées. Un avantage est que les commandes peuvent être réorganisées pour être traitées plus efficacement, de sorte que les commandes affectant la même zone d’un disque sont regroupées. Si une lecture référence les données à la destination d’une écriture en file d’attente, les données à écrire seront renvoyées.

NCQ est généralement utilisé en combinaison avec la mise en mémoire tampon d’écriture activée. Dans le cas d’une commande FPDMA en lecture/écriture avec un bit FUA (Force Unit Access) défini sur 0 et activé la mise en mémoire tampon d’écriture, un système d’exploitation peut voir l’opération d’écriture terminée avant que les données ne soient physiquement écrites sur le support. Si le bit FUA est défini sur 1 et que la mise en mémoire tampon d’écriture est activée, l’opération d’écriture ne revient qu’après l’écriture physique des données sur le support.



+