Lors de l'évaluation de disques durs, certaines spécifications fondamentales comme la capacité et la vitesse de transfert constituent généralement les points de comparaison les plus évidents. Cependant, un système NAS soumet rarement un disque à la charge de travail constante et ininterrompue que représente un débit de transfert séquentiel maximal. En pratique, le fonctionnement d'un NAS implique des tâches telles que les sauvegardes, l'accès aux fichiers, la gestion des métadonnées, l'activité RAID et d'autres requêtes concurrentes.
Par conséquent, les performances d'un NAS ne dépendent pas uniquement de son matériel ou de ses indicateurs de performance. Sa capacité à gérer efficacement les charges de travail simultanées est tout aussi importante, et c'est là que le firmware joue un rôle crucial. Pour comprendre pourquoi, il est utile d'examiner ce que représentent réellement les vitesses de transfert indiquées dans les spécifications.
Les performances maximales ne donnent qu'une vision partielle de la situation.
Le débit de transfert séquentiel (DTS) indiqué pour un disque dur décrit un mode de fonctionnement particulier : le déplacement continu de données entre secteurs adjacents. Lors d'un transfert séquentiel soutenu, les têtes de lecture/écriture passent relativement peu de temps à se déplacer entre les différentes zones du disque. Un système NAS fonctionne rarement dans ces conditions pendant de longues périodes. Lorsque plusieurs requêtes arrivent, les transferts continus sont interrompus et les têtes se déplacent entre différentes zones du disque.
Sur un système NAS à quatre baies, pendant les heures de travail, les sauvegardes nocturnes peuvent être en cours pendant que les utilisateurs accèdent aux fichiers partagés et que le système d'exploitation met à jour les métadonnées du système de fichiers. Si un disque a été récemment remplacé, le trafic généré par la reconstruction du RAID s'ajoute à la file d'attente des requêtes. Aucune de ces opérations n'est particulièrement gourmande en ressources individuellement, mais la difficulté réside dans leur gestion simultanée.
Il en résulte non seulement une baisse de performance, mais aussi une interruption du flux de données à chaque changement de direction, nécessitant un déplacement supplémentaire de la tête de lecture/écriture avant le traitement de la requête suivante. À mesure que le nombre de requêtes augmente, le transfert continu de données se fragmente progressivement en raison d'autres activités.
Toutes les requêtes ne peuvent pas attendre, même si le retard d'une fraction de seconde dans une sauvegarde séquentielle est rarement perceptible. Lorsqu'un utilisateur ouvre un document, il s'attend à une réponse immédiate, tandis que le traitement des métadonnées du système de fichiers et le trafic généré par la reconstruction RAID doivent se poursuivre en arrière-plan. Le disque doit gérer les requêtes de lecture et d'écriture qui diffèrent par leur taille, leur emplacement et leur urgence, au lieu de les traiter strictement dans l'ordre de leur arrivée.
Le micrologiciel optimise le comportement du matériel.
Les têtes d'enregistrement, le moteur de rotation et le support de stockage définissent les limites mécaniques d'un disque dur. Le micrologiciel ne peut pas accélérer le fonctionnement de ces composants, mais il peut déterminer leur efficacité en contrôlant la façon dont le disque répond aux différentes requêtes, notamment en gérant les données en cache et en organisant les commandes avant leur exécution.
Deux disques durs dotés de composants similaires peuvent donc réagir différemment à une même charge de travail sur un NAS. La différence ne réside pas dans le mécanisme d'enregistrement lui-même, mais dans le micrologiciel qui le contrôle.
La charge de travail détermine la réponse.
Sur ce même NAS à quatre baies, la sauvegarde nocturne peut se poursuivre lorsqu'un utilisateur ouvre un document stocké ailleurs sur le système de disques. Le périphérique pourrait interrompre immédiatement la sauvegarde pour traiter la requête de lecture, mais cela augmenterait les déplacements de la tête de lecture/écriture et perturberait le flux d'écriture continu. Par ailleurs, ignorer la requête de lecture n'est pas envisageable, car l'utilisateur attend une réponse immédiate. Le firmware doit donc décider comment gérer ces requêtes conflictuelles avant qu'elles n'atteignent le mécanisme d'écriture.
Cette décision dépend de bien plus que du simple ordre d'arrivée des requêtes. Une requête de lecture peut nécessiter un traitement différent d'une opération d'écriture séquentielle prolongée, tandis que les mises à jour des métadonnées et le trafic généré par les reconstructions RAID ajoutent des contraintes supplémentaires au système de stockage. À mesure que la charge de travail évolue, le firmware réévalue en permanence le traitement des requêtes entrantes avant qu'elles n'atteignent le mécanisme d'écriture, déterminant ainsi l'utilisation optimale du cache et l'organisation des commandes.
L'allocation du cache dépend de la charge de travail.
Identifier cette charge n'est que la première étape. Une fois que le micrologiciel a déterminé comment traiter une requête, il peut appliquer une stratégie de cache adaptée aux exigences de cette activité, au lieu de traiter toutes les requêtes de la même manière.
Une sauvegarde séquentielle et l'ouverture d'un document par un utilisateur peuvent toutes deux transiter par le même cache, mais ne bénéficient pas de la même stratégie d'allocation. Réserver de l'espace cache pour les écritures mises en mémoire tampon permet de maintenir la continuité d'un transfert séquentiel, tandis que disposer d'espace cache pour les requêtes de lecture réduit le temps d'attente nécessaire à la récupération des données.
L'application d'une seule politique de cache à toutes les requêtes peut entraîner une concurrence entre les écritures séquentielles mises en mémoire tampon et les requêtes de lecture plus petites pour les mêmes ressources de cache, en fonction de la variation de la charge de travail.
La planification des commandes met en œuvre des décisions.
La reconnaissance de la charge de travail et l'allocation appropriée du cache ne déterminent pas le moment où les requêtes arrivent sur le support de stockage. Le firmware doit également décider de l'ordre d'exécution des commandes en attente. Dans le cadre d'une charge de travail NAS mixte, cette décision influe sur la fréquence de déplacement des têtes de lecture/écriture entre les différents emplacements du disque et sur le temps consacré au transfert des données par rapport au repositionnement du mécanisme de lecture/écriture.
Les principes décrits jusqu'ici sont mis en œuvre de différentes manières par les divers fabricants de disques durs. L'approche de Toshiba se concrétise dans son architecture de firmware NASLink™, où la prise en compte de la charge de travail, l'allocation du cache et la planification des commandes fonctionnent comme des composantes d'un processus décisionnel unique (Figure 1).

Figure 1 : Le firmware identifie d'abord la charge de travail avant d'appliquer l'allocation de cache et la planification des commandes afin d'obtenir des performances « prévisibles »
Dans NASLink™, le type de traitement reconnu détermine l'organisation des commandes en attente. Les petites requêtes d'écriture sont regroupées en séquences d'écriture continues plus longues afin de réduire les déplacements inutiles de la tête de lecture/écriture. Dans la mesure du possible, les petites requêtes de lecture sont intercalées pendant les périodes d'inactivité des opérations d'écriture, tandis que les tâches en arrière-plan, telles que la reconstruction RAID ou la vérification des disques, sont optimisées pour minimiser leur impact sur l'accès utilisateur.

Figure 2 : NASLink™ réorganise les requêtes en attente en regroupant les opérations d'écriture en transferts séquentiels plus longs, en traitant les opérations de lecture plus petites à intervalles appropriés et en gérant séparément l'activité RAID en arrière-plan.
Les décisions d'ordonnancement tiennent également compte de facteurs autres que la commande elle-même. Par exemple, la longueur de la file d'attente, la continuité des données, les vibrations et la température influencent l'ordre d'exécution des requêtes.
Le micrologiciel reste dépendant du matériel.
Il peut identifier les charges de travail, allouer du cache et organiser la file d'attente des commandes, mais ces décisions dépendent toujours des caractéristiques physiques du disque. La technologie d'enregistrement détermine la manière dont les données sont écrites sur le support, le cache disponible limite l'espace de travail du micrologiciel et un positionnement précis de la tête de lecture/écriture demeure essentiel lors de l'exécution des commandes.
C’est pourquoi le firmware NAS est développé conjointement avec le matériel conçu pour un fonctionnement continu dans des environnements multi-disques, et non de manière isolée. Sur les disques Toshiba N300, la technologie d’enregistrement magnétique conventionnel (CMR) assure les caractéristiques d’enregistrement séquentiel prévisibles sur lesquelles repose la stratégie du firmware ; jusqu’à 1 Go de cache fournit la mémoire de travail que NASLink™ alloue dynamiquement ; et des capteurs de vibrations rotationnelles contribuent à maintenir un positionnement précis des têtes de lecture/écriture lorsque des disques adjacents génèrent des vibrations à l’intérieur du boîtier.
Ingénierie pour charges de travail mixtes :
le débit séquentiel maximal demeure une spécification importante, mais il ne décrit qu’une seule condition de fonctionnement. Un NAS passe une grande partie de son temps à répondre à des requêtes simultanées qui interrompent le transfert continu de données et obligent le micrologiciel à prendre des décisions quant à l’organisation de l’activité de stockage.
Les systèmes NAS combinent transferts séquentiels, lectures aléatoires et tâches de maintenance en arrière-plan, laissant une grande partie du comportement du disque sous le contrôle du firmware. La prise en compte de la charge de travail, l'allocation du cache et la planification des commandes influencent la manière dont le mécanisme d'enregistrement réagit à ces demandes simultanées, tandis que le matériel fournit la plateforme stable sur laquelle reposent ces décisions. NASLink™ illustre l'application de ces principes d'ingénierie à un disque conçu spécifiquement pour les environnements NAS.
Auteure : Eun-Kyung Hong, chef de produit disques durs chez Toshiba Electronics Europe GmbH
