Résumé

  • NVM Express, Inc. est le consortium industriel à but non lucratif à l’origine de la famille de spécifications NVMe. Il ne fabrique ni SSD, ni contrôleurs, ni commutateurs, ni systèmes de stockage.
  • NVMe a remplacé les hypothèses en série de l’ère des disques durs par de nombreuses files de soumission et d’achèvement en mémoire, adaptées au flash parallèle et aux processeurs multicœurs.
  • Le même modèle de contrôleur, de sous-système et d’espace de noms fonctionne localement sur PCIe ou à distance via NVMe over Fabrics; TCP et RDMA présentent des profils d’exploitation différents.
  • NVMe 2.x est modulaire. L’ensemble 2.4, publié le 4 août 2026, coordonne la base, les transports PCIe/RDMA/TCP, NVMe-MI, Boot et plusieurs jeux de commandes spécialisés.
  • Le protocole rend la capacité plus composable, mais ne définit ni système de fichiers, ni durabilité, ni RAID, ni erasure coding, ni conception réseau, ni sécurité d’exploitation, ni cohérence applicative.

Une commande de stockage peut quitter le serveur sans changer de langage de base

Une application lit un espace de noms PCIe local ou un sous-système distant via un fabric. Le support, le contrôleur et le chemin changent, mais le modèle de commande reste largement le même.

Cette continuité rend la désagrégation possible. La capacité peut être mutualisée et allouée aux hôtes selon les besoins, au lieu d’intégrer chaque périphérique dans le serveur qui le consomme.

S’ajoutent la découverte, le réseau, le multipath, l’authentification, la reconnexion et de nouveaux domaines de défaillance. NVMe fait du stockage un service programmable, et non une ressource sans topologie.

Le flash avait besoin d’un protocole pour le parallélisme plutôt que pour la latence mécanique

Les anciennes interfaces reflétaient les disques durs et des files étroites. Le flash peut traiter de nombreuses opérations en parallèle, tandis que les serveurs disposent de nombreux cœurs de processeur.

NVMe utilise des paires de files de soumission et d’achèvement en mémoire. L’hôte écrit les commandes, actionne des doorbells et reçoit les achèvements par interruption ou par scrutation. Plusieurs files réduisent les verrous partagés et peuvent être associées à des cœurs.

Les performances dépendent néanmoins du firmware, de la topologie PCIe, du NUMA, de la profondeur des files, des interruptions et de la charge de travail. Le nom du protocole ne garantit pas une latence universelle.

Le consortium sépare la gouvernance du protocole de la concurrence sur les produits

Les travaux ont commencé à la fin des années 2000; NVMe 1.0 est apparu en 2011, et NVM Express, Inc. a été fondée en 2014. Les membres viennent des marchés des processeurs, des supports, des contrôleurs, des réseaux, du cloud et des systèmes.

À la date de référence, Amber Huffman de Google était présidente, Curtis Ballard d’AMD trésorier et David Allen de Microchip secrétaire. Le conseil d’administration public recensait treize représentants promoteurs.

Le consortium définit les contrats et la conformité. Les membres continuent de se concurrencer sur le silicium, le firmware, les systèmes, le support et les performances. L’adhésion ne prouve pas une implémentation complète.

NVMe 2.0 a décomposé un document en pleine croissance en une famille modulaire

Plusieurs transports et modèles de données rendaient un document unique difficile à gérer. La restructuration 2.0 de 2021 a séparé la base, les jeux de commandes et les transports.

TCP peut ainsi évoluer sans réécrire chaque commande; ZNS peut se développer sans modifier chaque contrôleur standard. En contrepartie, la matrice des versions devient plus complexe.

L’ensemble 2.4 du 4 août 2026 comprenait la base 2.4, PCIe 1.4, RDMA 1.3, TCP 1.3, NVMe-MI 2.2, Boot 1.4 ainsi que les jeux de commandes NVM, Key-Value, Zoned Namespace, Computational Programs et Simple Log Memory. « NVMe 2.4 » n’est pas un document unique.

Les files de soumission et d’achèvement rapprochent le travail des cœurs de processeur

L’hôte écrit des commandes dans des files de soumission; le contrôleur signale les résultats dans des files d’achèvement. Des processus ou des cœurs peuvent utiliser leurs propres paires et réduire la contention.

Les doorbells signalent du nouveau travail. La scrutation peut réduire la latence et mobiliser le processeur; le regroupement d’interruptions économise des cycles et peut augmenter l’attente. La profondeur de file influence l’utilisation et la latence de fin de file.

Une file plus profonde n’est pas automatiquement meilleure. Elle peut masquer la saturation et augmenter la latence. Le bon réglage dépend de la charge de travail.

Contrôleurs, sous-systèmes et espaces de noms séparent les points de terminaison logiques du support

Un contrôleur fournit des files et des commandes. Un sous-système peut contenir plusieurs contrôleurs. Les espaces de noms représentent une capacité logique et peuvent être atteints par plusieurs chemins.

L’identité de l’hôte ne correspond donc pas nécessairement à un SSD physique. Une baie peut regrouper de nombreux supports et présenter des espaces de noms stables.

NVMe ne détermine ni le placement des données, ni la réplication, ni la protection. RAID, erasure coding, thin provisioning et cohérence relèvent du système environnant.

Les commandes administratives définissent l’environnement des E/S

La file d’administration gère l’identification, la création de files, les fonctions, les journaux, le firmware, les espaces de noms et la sécurité. Elle crée le contexte des lectures et écritures normales.

Une commande administrative peut supprimer un espace de noms, activer un firmware erroné ou changer un état d’alimentation. Droits, audit et contrôle des changements sont essentiels.

La séparation entre administration et E/S améliore l’architecture, mais ne rend pas le plan de contrôle moins critique. Dans un fabric, les deux peuvent dépendre du même réseau.

PCIe maintient le chemin local proche de la mémoire et du matériel

NVMe sur PCIe utilise des structures mémoire partagées et des registres de contrôleur sur le bus local. C’est le chemin direct vers les SSD et les cartes du serveur.

La topologie reste importante. Un périphérique peut se trouver derrière un commutateur PCIe, sur un autre socket NUMA ou sur des voies partagées. Le processeur, la mémoire et le périphérique doivent être placés de manière cohérente.

Le nombre de disques ne suffit pas comme inventaire. La latence peut apparaître dans l’hôte avant même d’atteindre le support.

NVMe over Fabrics transforme une relation locale en service réseau

NVMe-oF 1.0 et NVMe-MI 1.0 sont parus le 9 juin 2016. NVMe-oF transporte des capsules et des données vers un sous-système distant et crée des files à travers le fabric.

La capacité peut être mutualisée et séparée du calcul. Les hôtes peuvent être remplacés sans déplacer les données.

Pour cela, la carte réseau, le commutateur, la route, la découverte, le contrôleur, l’authentification et le multipath entrent dans le chemin des données. Le réseau devient une partie du système d’intégrité des données.

Les contrôleurs de découverte simplifient le raccordement et créent une dépendance critique

Les hôtes interrogent les contrôleurs de découverte pour connaître les sous-systèmes, les adresses et les services. La configuration manuelle de chaque cible devient inutile.

Une information erronée ou une panne peut bloquer de nouvelles connexions ou conduire vers la mauvaise cible. Redondance, cache, validation et protection de l’identité sont nécessaires.

Découverte et disponibilité des données ne sont pas identiques. Des sessions existantes peuvent continuer pendant que de nouveaux hôtes ne trouvent rien.

NVMe/TCP a apporté les storage fabrics sur les réseaux IP ordinaires

Le transport TCP, normalisé en 2019, mappe les commandes et les données sur des connexions TCP. Les opérateurs peuvent utiliser l’Ethernet routé, les outils IP et les pare-feu sans construire de fabric RDMA.

Cette accessibilité a un coût en surcharge. La pile TCP, les copies, les interruptions et le processeur influencent la latence de fin de file. Le noyau, l’offload, la taille des transferts et le réglage sont importants.

Le transport ajoute une encapsulation et des digests et peut utiliser TLS. La prise en charge de TLS ne signifie pas que TLS est activé ou correctement exploité.

NVMe/RDMA vise une faible latence et exige une discipline de fabric

RDMA utilise des paires de files, de la mémoire enregistrée et l’offload de la carte réseau pour déplacer les données avec moins d’intervention du processeur. C’est attrayant pour le HPC et l’IA.

RDMA n’est pas un réseau uniforme. RoCE, iWARP et d’autres implémentations ont des exigences différentes en matière de congestion, de perte, de PFC, d’ECN et d’enregistrement mémoire.

Un benchmark rapide ne prouve pas une exploitation simple. Les problèmes de fabric apparaissent comme des timeouts de stockage et exigent des compétences réseau et système.

Le multipath fait de la redondance une décision de l’hôte

Un espace de noms peut être accessible via plusieurs contrôleurs et plusieurs chemins. L’hôte décide de la répartition de charge et du basculement. Asymmetric Namespace Access marque les chemins optimisés, non optimisés ou indisponibles.

Deux liens peuvent partager un commutateur, un contrôleur, une alimentation ou une route. L’indépendance doit être testée par de vraies pannes.

Une mauvaise politique maintient un mauvais chemin trop longtemps ou envoie les E/S par un chemin lent. La redondance est un comportement observé, pas un nombre de ports.

Les réservations coordonnent l’accès partagé mais ne remplacent pas le consensus

Les réservations NVMe permettent aux hôtes de s’enregistrer et de réserver un espace de noms afin de bloquer les écritures non autorisées. Elles aident dans les scénarios de cluster et de basculement.

Elles ne remplacent ni le consensus de cluster ni la cohérence applicative. Un hôte en panne peut laisser un état; le fencing doit empêcher les anciens nœuds d’écrire.

Une mauvaise récupération peut transformer la protection en panne ou en corruption.

L’authentification et TLS deviennent importantes lorsque le stockage quitte PCIe

Un périphérique local bénéficiait d’une frontière physique implicite. Sur le réseau, l’initiateur et la cible doivent prouver leurs identités et protéger les canaux.

NVMe définit l’authentification; TCP peut utiliser TLS. Le résultat dépend des clés, des certificats, de la rotation, des algorithmes et de la politique. La prise en charge n’équivaut pas à une utilisation sécurisée.

Le plan de découverte, le plan d’administration et le plan de données doivent être considérés ensemble. Une identité réelle peut encore disposer de trop de droits.

NVMe-MI crée un plan de gestion séparé des E/S applicatives

NVMe Management Interface permet l’inventaire, l’interrogation de l’état de santé et certaines actions en dehors du chemin d’E/S principal.

Cela facilite la maintenance et la récupération, mais ajoute une interface privilégiée. Les outils de gestion peuvent lire des informations sensibles ou modifier massivement les périphériques.

NVMe-MI peut s’intégrer à Redfish. L’intégration ne supprime pas les frontières de responsabilité entre les normes et les fabricants.

Zoned Namespaces rend les limites du support visibles pour le logiciel

ZNS divise la capacité en zones à écriture séquentielle. La visibilité pour l’hôte peut réduire le garbage collection interne et améliorer l’endurance ou la prévisibilité.

L’avantage exige des systèmes de fichiers, des bases de données ou des couches de stockage conscients des zones. Une application de blocs normale n’en profite pas automatiquement.

ZNS illustre l’échange: plus de visibilité sur le support améliore l’efficacité et accroît l’exigence de portabilité des logiciels.

Key Value, Simple Log Memory et Computational Programs étendent l’espace de noms

Des jeux de commandes spécialisés permettent l’accès clé/valeur, des structures de journal simples ou des programmes proches du stockage. Ils visent à réduire les traductions et les déplacements de données.

Leur utilisation dépend des contrôleurs, des pilotes, des bibliothèques et des applications. Une spécification ne rend pas la fonction universelle.

Plus il y a d’options, plus la découverte des capacités et le repli sont importants. La modularité crée de la flexibilité et une nouvelle matrice de marché.

La conformité apporte des preuves mais ne certifie pas les performances de bout en bout

Les programmes et ateliers testent des interactions concrètes entre hôte et contrôleur et détectent des écarts que le texte seul ne montre pas.

Une inscription ne mesure ni la latence, ni l’endurance, ni la récupération, ni la sécurité dans chaque topologie. Les fonctions optionnelles et les matrices pilotes-firmware évoluent.

Les acheteurs devraient utiliser la conformité comme un plancher minimal et tester leurs propres charges de travail, pannes et mises à niveau.

La désagrégation sépare la capacité de l’hôte et redistribue les responsabilités

Le stockage local reliait le périphérique, le serveur et l’équipe système. Un pool distant dessert de nombreux consommateurs et est alloué par logiciel.

Les équipes réseau, stockage, plateforme, sécurité et application partagent désormais les incidents. Une dégradation du fabric peut ressembler à une erreur de base de données; un problème de firmware à une perte réseau.

L’économie dépend de l’utilisation et de la capacité opérationnelle, pas seulement du prix par téraoctet.

L’IA transforme la latence du stockage en coût de calcul

L’entraînement charge des jeux de données, écrit des points de contrôle et déplace l’état à grande échelle. Quand des milliers d’accélérateurs attendent, l’attente du stockage devient coûteuse.

TCP, RDMA, multipath et espaces de noms partagés offrent différentes architectures. Congestion, récupération, métadonnées et comportement des files doivent entrer dans le choix.

L’objectif n’est pas seulement le débit maximal, mais une latence prévisible des files et de la récupération pendant une charge synchronisée.

NVMe 2.4 montre l’ampleur et la pression des versions

L’ensemble coordonne la base, les transports, le démarrage, l’interface de gestion et les jeux de commandes. NVMe est une pile, pas une simple connexion de SSD.

Un hôte peut prendre en charge la base 2.4 sans aucun jeu de commandes; un contrôleur TCP peut avoir d’autres fonctions qu’un produit RDMA. Les déclarations de prise en charge doivent être précises.

Pilotes, OS, firmware, transport et outils de gestion forment une matrice qui fait pratiquement partie du protocole.

NVMe a rendu le stockage composable, pas simple

Le contrat commun abaisse un point du coût de changement: les commandes et les espaces de noms peuvent survivre à un passage de PCIe à un fabric ou d’un fournisseur à un autre. La migration des données, la sécurité, l’observabilité, le réseau et le support restent.

L’avantage est la séparation entre protocole et produit. Le risque est de cacher des architectures très différentes sous le même nom.

Le stockage devient programmable et distribué, mais reste un système d’intégrité qui doit être compris en situation de panne.