NVMe (Non-Volatile Memory express) est un standard développé spécialement pour les SSD par un consortium de fournisseurs comprenant Intel, Samsung, Sandisk, Dell et Seagate. Il fonctionne avec le bus PCIe des cartes mères (d'où le e de express dans le nom), ce qui permet aux SSD de ne plus agir comme les disques durs qu'ils imitent mais plutôt comme ce qu'ils sont vraiment : une mémoire flash très rapide. Car là est le point essentiel : le protocole NVMe va vite. Vraiment très vite.

NVMe, quatre fois plus rapide que SATA

Sans minimiser les efforts des fournisseurs de processeurs et de GPU au cours de la dernière décennie, la véritable raison pour laquelle les PC haut de gamme semblent de plus en plus rapides se cache bien dans le stockage. Celui-ci était le dernier goulot d'étranglement pour les performances réelles et perçues, mais le bond en avant des SSD, SATA et maintenant NVMe, ont changé la donne.

Avec un produit type MacBook Pro, au cours des deux dernières années, l'attente pour les opérations les plus triviales est quasi-nulle. Les programmes s'ouvrent, les fichiers se chargent et s'enregistrent en un instant, et la machine démarre et s'arrête en quelques secondes seulement. La raison est simple : le SSD NVMe à l'intérieur des modèles récents d'Apple lit et écrit les données littéralement quatre fois plus vite que les SSD SATA des générations précédentes. Il les cherche et les localise également 10 fois plus vite. En sachant que les SSD SATA proposait déjà quatre à cinq fois le débit et réduisaient de dix fois le temps de recherche des disques durs.

Les plafonds de performance approximatifs pour les trois principales technologies de stockage en l'état actuel des choses sont les suivants :

SSD

Avec jusqu'à 3 Go/s de débit supporté, l'interface NVMe travaille rapidement quelque soit la taille des fichiers transférés. (Crédit : IDG)

SSD

En terme de temps de recherche, avec moins de 0,02 milliseconde, le SSD NVMe bat tous les records. (Crédit : IDG)

Les disques durs offrent toujours un excellent rapport qualité-prix en termes de capacité et sont très intéressant pour la gestion de données peu utilisées. Mais pour un système d'exploitation, des programmes ou des données manipulées quotidiennement et, si le système le supporte, les SSD NVMe sont à privilégier. Si la carte mère ne le supporte pas, il faudra se contenter du protocole SATA.

NVMe tire ses performances du bus PCIe

Etant conscient du potentiel maximal de performance des SSD NAND Flash dès leur apparition, il était clair pour l'industrie qu'un bus et un protocole dédiés finiraient par être nécessaires. Mais, comme les premiers SSD étaient de faible capacité, ils ne venaient que compléter les disques durs traditionnels.

Bien que le bus SATA ait évolué jusqu'à 16 Go/s sur le papier depuis la version 3.3, presque toutes les implémentations commerciales restent à 6 Go/s (voire 550 Mo/s dans le pire des cas). Même la version 3.3 est beaucoup plus lente que la technologie SSD d'aujourd'hui, en particulier dans les configurations RAID.

En remplacement du bus SATA, il a été décidé de tirer parti d'une technologie de bus à bande passante beaucoup plus large qui était également déjà en place : PCI Express, ou PCIe. Il s'agit de la couche de transport de données sous-jacente pour les cartes graphiques et autres cartes d'extension. Depuis la génération 3.x, il offre plusieurs voies (jusqu'à 16 pour une utilisation avec n'importe quel périphérique dans la plupart des PC) qui traitent près de 1 Go/s chacune (985 Mo/s).

SSD

Le Sandisk Extreme Pro offre exactement les mêmes performances que le WD Black NVMe. Il utilise quatre voies PCIe pour un débit maximum théorique de plus de 3 Go/s. (Crédit : SanDisk)

PCIe est également la base de l'interface Thunderbolt, qui commence à porter ses fruits avec les cartes graphiques externes pour les jeux, ainsi que le stockage NVMe externe, qui devient presque aussi rapide que le stockage NVMe interne. Le refus d'Intel de laisser Thunderbolt mourir a été très bénéfique, comme de nombreux utilisateurs commencent à le découvrir. Bien qu'Intel ait partagé la technologie avec le forum USB pour la rendre plus facile à mettre en œuvre, elle est encore très rare et principalement utilisée par Apple sur ses Mac.

Bien sûr, le stockage PCIe précède le NVMe de quelques années. Mais les solutions précédentes étaient paralysées par des protocoles de transfert de données plus anciens tels que SATA, SCSI et AHCI, qui ont tous été développés lorsque les disques durs (15 000 t/m notamment) étaient encore le sommet de la technologie de stockage. NVMe supprime leurs contraintes en offrant des commandes à faible latence et jusqu'à 64 000 files d'attente. Ce dernier point est particulièrement important car les données sont écrites sur les SSD de manière dispersée autour des puces et des blocs, plutôt que contiguës en cercles comme sur un disque dur.

La norme NVMe a continué d'évoluer jusqu'à la version actuelle 1.31, avec l'ajout de fonctionnalités telles que la possibilité d'utiliser une partie de la mémoire système d'unordinateur comme cache.

Installer un SSD NVMe

Il est évidemment préférable que le système prenne déjà en charge NVMe et dispose d'emplacements M.2, mais il est toujours possible d'ajouter un lecteur NVMe à n'importe quel PC doté d'un emplacement PCIe via une carte d'extension compatible (25 € environ). Toutes les versions récentes des principaux systèmes d'exploitation fournissent des pilotes, quelque soit leur âge. Mais il y a un hic. Pour bénéficier pleinement d'un SSD NVMe, il faut pouvoir démarrer le système d'exploitation à partir de celui-ci. Cela nécessite donc le support du Bios. La plupart des anciens Bios ne prennent pas en charge le démarrage à partir de NVMe et ne le feront probablement jamais. Il n'y a tout simplement aucun avantage pour les constructeurs à l'ajouter.

Il est donc peu probable que vous mettiez à niveau un système dépourvu de NVMe, à moins que vous ne jouiez à des jeux PC ou que vous ne fassiez quelque chose de vraiment gourmand en CPU, comme éditer une vidéo en 2160p (4K) ou en 4320p (8K). 

SSD

Un SSD NVMe M.2 tel que le Samsung 970 EVO, relativement abordable et très rapide pour des transferts de taille normale, peut vivre dans un slot M.2/PCIe, ou dans un slot PCIe régulier (x4 ou plus) au moyen d'une carte adaptateur bon marché. (Crédit : Samsung)

Tous les SSD NVMe vendus pour le grand public utilisent le facteur de forme M.2, bien qu'il existe d'autres connecteurs (voir ci-dessous). Mais le simple fait d'avoir un emplacement M.2 ne garantit pas la compatibilité NVMe. M.2 a été conçu pour prendre en charge USB 3.0, SATA et PCIe, mais la plupart des premiers ports de ce type ne prenaient en charge que SATA. Il faut se référer au guide de l'utilisateur de sa carte mère, ou vérifier en ligne. A noter que l'emplacement MSATA, qui est le précurseur de M.2, est très similaire.

Il n'y a aucun moyen de savoir au coup d'oeil si un emplacement supporte PCIe et NVMe, mais il est possible de faire la différence entre un emplacement PCIe x2 et PCIe x4. Le premier, appelé clé B, a six contacts séparés du reste, tandis que le second, clé M, en a cinq séparés du reste du côté opposé. Il n'y a pas de règle absolue, mais les emplacements de clé B étaient souvent réservés aux SATA. Si vous avez un emplacement à clé B/M avec les deux jeux de contacts séparés, le plus courant aujourd'hui, c'est idéal. On les appelle aussi parfois prises 2 et 3.

Si la prise lâche, il est toujours possible de se tourner vers une carte adaptateur PCIe M.2 à 25 € mentionnée plus haut. Le M9Pe de Plextor et d'autres sont déjà disponibles, montés sur des cartes PCIe sous forme de produits prêts à l'emploi.

SSD

Bien que l'emplacement M.2 de notre banc d'essai supporte PCIe et NVMe, ce n'est pas le cas de tous. On voit ici le Black NVMe SSD de WD. (Crédit : Melissa Riofrio / IDG)

En tant qu'utilisateur final, il est toutefois préférable d'éviter les SSD NVMe de 2,5 pouces. Celles-ci nécessitent le connecteur U.2 SFF-8639 (SFF pour Small form factor). Une connexion U.2 dispose de quatre voies PCIe Gen 3, deux ports SATA, plus des canaux en bande latérale et une alimentation 3,3 volts et 12 volts, mais on ne la trouve que dans les adaptateurs et systèmes de stockage d'entreprise.

Si vous êtes de ceux qui utilisent l'un des rares PC Windows prenant en charge Thunderbolt (de nombreux PC équipés de cartes mères Asus le font), vous pourrez peut-être utiliser un boîtier PCIe Thunderbolt externe pour ajouter NVMe à votre système. Cela fonctionne parfaitement sur un Mac Thunderbolt assez récent pour faire fonctionner High sierra.

Tous les lecteurs NVMe ne sont pas créés égaux

Bien qu'à peu près n'importe quel NVMe augmentent les performances du système, ils ne se ressemblent pas tous, loin de là. Alors que le 970 Pro de Samsung lit à plus de 3 Go/s et écrit à plus de 2,5 Go/s, le RC100 de Toshiba tombe à 1,2 Go/s et 900 Mo/s. La différence peut être encore plus grande lorsque la quantité de données écrites dépasse la quantité de cache embarquée.

Un certain nombre de facteurs influent sur la performance, y compris le contrôleur, la quantité de NAND à bord, le nombre ou les voies PCIe (voir ci-dessus) et le type de NAND. Voici quelques règles de base :

  - Les SSD PCIe NVMe x4 sont bien sûr plus rapides que les PCIe x2.

  - Plus il y a de puces NAND, plus le contrôleur a de chemins et de destinations pour distribuer et stocker les données. Les appareils de plus petite capacité sont souvent plus lents que ceux avec une plus grande capacité, même avec le même numéro de modèle.

  - Le type de NAND utilisé est important. SLC (cellule mononiveau/1 bit) est le plus rapide, MLC (cellule multiniveau/2 bit) est le suivant, TLC (cellule triple niveau/3 bit) est plus lent, et QLC (cellule quadri-niveau/4 bit) est encore plus lent. Cependant, on peut utiliser n'importe quel type de NAND (sauf le SLC) comme son prédécesseur plus rapide en écrivant simplement moins de bits. Les vendeurs le font avec des portions du SSD à utiliser comme cache, ce qui signifie qu'un TLC ou QLC peut être aussi rapide qu'un SLC, jusqu'à ce que ce cache soit épuisé.

  - De nos jours, la plupart des contrôleurs sont très efficaces, mais certains, comme ceux utilisés par Intel et Sandisk, exploitent mieux la cache et  maintiennent les performances en écriture avec des ensembles de données plus importants.