SSD M.2 : l’autoroute NVMe

par Christophe C., chef produit composants et intégration depuis 10ans pour Materiel.net et surtout grand spécialiste du PC devant l’éternel ! Passionné de domotique, de nouvelles technologies bien sûr et de Metal (la musique, pas le matériau, tout le monde n’est pas parfait !!), il vous éclairera régulièrement sur ce blog !

NVMe

La dernière fois nous avions abordé le port M.2 du côté des cartes mères, il est désormais temps de l’aborder du côté des SSD. En effet si pour les premières, le critère essentiel est le nombre de ligne PCI-Express allouées au M.2, pour les SSD, l’important est de savoir comment ce dernier exploite toute cette bande passante. C’est là qu’intervient l’interface NVMe, indispensable pour bénéficier de débits maximaux

Le NVMe (pour Non-Volatile Memory express,) est une interface qui permet à un SSD d’utiliser efficacement la bande passante du bus PCI-express pour augmenter drastiquement les débits de lecture et d’écriture des SSD, passant ainsi d’environ 550Mo/sec de plafond pour les SSD en SATA à 2500 Mo/sec pour les SSD M.2.

Un peu d’histoire

Avant que les SSD pointent le bout de leur puces, les bus de données étaient conçus puis optimisés pour une utilisation avec des périphériques mécaniques tels que les disques durs ou les disquettes (2.5”, 5.¼”, cartouches zip). Tous ces sacs à kilo-octets ont un point commun : ils doivent entrer en rotation pour que la lecture et l’écriture puissent s’opérer. Leur surface de stockage est découpé en secteurs sur lesquels sont stockées les données et la tête de lecture ne peut lire qu’un secteur à la fois et une fois par révolution.

De son côté, le SSD s’appuie sur plusieurs puces mémoires, il n’a pas de tête de lecture et aucune contrainte mécanique. Rien ne l’empêche donc physiquement de lire plusieurs secteurs en même temps.

Pour faire moins simple

Mais revenons un instant à nos disques durs, en se limitant au SATA histoire de ne pas s’éparpiller.
L’AHCI est un jeu d’instructions logicielles et de fonctions matérielles développées spécifiquement pour les disques durs SATA et SAS, afin que ces derniers fonctionnent au mieux de leurs capacités. À cette fin, la plupart des optimisations sont faites au niveau du pilotage de la tête de lecture (avec le NCQ par exemple).
Quand les premiers SSD SATA sont arrivés, le parti a été pris de rendre leur installation transparente en les faisant passer pour des disques durs classiques. Une bonne idée qui a permis de populariser le SSD et de faciliter la transition, d’autant que le SATA laissait pas mal de marge de manœuvre en termes d’augmentation du débit par rapport au disque dur.

Mais comme on a pu le voir, les capacités physiques d’un SSD sont largement supérieures à celles d’un disque dur. L’étape suivante était d’offrir au SSD un bus offrant bien plus de bande passante et c’était aussi l’occasion de laisser de côté l’AHCI et ses limitations aux périphériques de stockage mécanique. Exit donc la tête de lecture, bonjour au traitement en parallèle et au nombre d’IOPS qui s’accroît ! Là où l’AHCI n’offre qu’une seule file d’attente avec 32 commandes le NVMe propose 65535 files d’attentes avec 65536 commandes par file. On comprend ainsi que les débits soient à ce point supérieurs ! La pile de commandes étant simplifiée par un plus grand parallélisme, cela entraîne aussi une réduction de la consommation électrique du contrôleur.

Logo NVMexpress

PCI-express : 1 – SATA : 0

Finalement le NVMe n’a pas vraiment vocation à remplacer le AHCI, il va juste aider la connectique M.2 et U.2 à s’imposer face au SATA qui avec sa “rustine” SATA Express n’a pas convaincu. Seul l’avenir nous dira qui s’imposera, mais il est sûr que le PCI-Express avec interface NVMe se pose pour l’instant en leader du périphérique stockage à très haut débit.
Si vous êtes équipé d’une carte mère dotée d’un port M.2 32 Gb/s et que vous cherchez la performance avant tout, assurez-vous donc que votre prochain SSD est bien compatible NVMe.


Voir tous nos SSD NVMe