Norme NVMe PCIe 5.0 : fonctionnalités et différences par rapport à 4.0

Norme NVMe PCIe 5.0

Les premiers contrôleurs flash pour SSD NVMe prenant en charge PCIe 5.0 sont désormais une réalité et ont pour la première fois la capacité d'atteindre des lecteurs de gigaoctets par seconde à deux chiffres. Mais quels sont les avantages d'adopter la technologie NVMe PCIe 5.0 à la maison et quels sont les défis ?

L'une des maximes de la performance est qu'un système est aussi lent que sa partie la plus lente le permet. C'est pourquoi, pour atteindre les performances, il cherche non seulement à augmenter la vitesse des composants tels que les processeurs et les RAM, mais aussi des unités de stockage. Ce qui est réalisé en adoptant les différentes normes PCIe pour les disques NVMe.

Qu'est-ce qu'un contrôleur flash ?

Contrôleur Flash NVMe PCIe

Un contrôleur flash est un élément matériel qui se situe entre la mémoire NVMe ou tout autre type de mémoire flash NAND et le Processeur or GPU qui veut y accéder. Son travail consiste à traduire les adresses virtuelles en adresses physiques qui permettent un accès direct aux blocs de mémoire NVMe qui composent le SSD unité de stockage.

Aujourd'hui, lorsqu'un CPU ou un GPU accède à n'importe quel espace mémoire, il le fait en utilisant un adressage commun dans lequel toutes les mémoires auxquelles ils ont accès au sein de la hiérarchie sont unifiées. Les différentes MMU intégrées à la fois dans le CPU et le GPU sont chargées de communiquer avec les différents types de mémoire du système, RAM, VRAM, mais aussi RAM non volatile ou NVRAM, qui est la mémoire NVMe dans les SSD.

Mais l'adressage virtuel est différent de l'adressage physique et, par conséquent, un processus de traduction est nécessaire, qui est effectué par le contrôleur flash. Il utilise pour cela une mémoire à partir de laquelle il stocke les tables de conversion d'adresses, les données sources sous forme d'adressage virtuel et les données destinataires sous forme d'adressage physique. Une telle mémoire peut être trouvée sur le SSD NVMe, il peut s'agir de la RAM système dans le cas d'une conception sans DRAM, ou elle peut être intégrée en tant que mémoire intégrée dans le contrôleur flash lui-même.

Pilotes Flash pour NVMe PCIe 5.0, un examen

Marvel Bravera SC5 NVMe PCIe 5.0

L'un des premiers contrôleurs Flash à prendre en charge PCI Express 5.0 est le Marvell Bravera SC5 . Ce qui permet de transmettre des données avec une bande passante de 14 Go/s sous un bus PCI Express 4 5.0 lignes, ce qui revient à doubler la bande passante par rapport au même nombre de lignes sous PCI Express 4.0, mais cela ne veut pas dire saturer le bus dans les deux cas, puisqu'elles peuvent atteindre respectivement 16 Go/s et 7 Go/s.

Il faut tenir compte du fait qu'un contrôleur flash fonctionne de la même manière que les interfaces qui communiquent la mémoire RAM ou VRAM avec les CPU et les GPU. Ils sont chargés de traiter les requêtes de lecture et d'écriture émises par le processeur. Et comme aujourd'hui nous avons déjà plusieurs cœurs dans le CPU, il est très important qu'il y ait un grand nombre de canaux d'accès dans un contrôleur flash. Les Marvell Bravera SC5 a 16 canaux au total, donc jusqu'à 16 puces Flash NAND à canal unique ou 8 canaux doubles peuvent y être connectées.

Les canaux sont le nombre de puces de mémoire NVMe avec lesquelles le contrôleur flash peut communiquer simultanément. Les SSD NVMe bas de gamme ont généralement 2 ou 4 canaux, les 8 canaux haut de gamme et nous avons des cas particuliers comme le PlayStation 5 SSD avec 12 canaux. Le fait que le Marvell Bravera SC5 dispose de 16 canaux lui permet non seulement d'avoir une grande capacité de stockage, mais montre qu'il s'agit d'un contrôleur conçu pour le marché des serveurs et non pour les PC domestiques.

Une bande passante élevée nécessite une capacité de calcul élevée

Puente Binario

Le déplacement de données d'une mémoire à une autre est l'un des plus grands cauchemars auxquels les architectes matériels ont été confrontés dans toute l'histoire de l'informatique. Le déplacement en masse nécessite que le CPU ou le GPU passe un bon moment à exécuter les exécutions pertinentes pour cela. C'est pourquoi, depuis la nuit des temps, des systèmes matériels ont été créés qui transfèrent des données d'une mémoire à une autre sans la participation du processeur principal et qui le font en beaucoup moins de temps.

Le fait de donner accès à la mémoire d'un SSD NVMe via le port PCI Express à un GPU par exemple, ne signifie pas que l'accès peut se faire directement sans affecter les performances. Dans les consoles de nouvelle génération telles que PlayStation 5 et les deux Xbox Série X, l'inclusion d'unités SSD NVMe a entraîné l'intégration d'unités spécialisées chargées d'effectuer le transfert, la compression et la décompression des données du SSD vers la mémoire, dont ils cherchent à soulager à la fois le CPU et le GPU de tels systèmes de telle charge.

Sur PC, en revanche, seuls NVIDIA et AMD les cartes graphiques prenant en charge DirectX 12 Ultimate ont de telles unités. Ce qui conduit à la nécessité de tirer la puissance de calcul afin de gérer le mouvement des données. Si le CPU ou le GPU ne sont pas assez rapides pour effectuer cette gestion, un effet de chaîne est généré qui provoque le retard de toutes les requêtes suivantes, provoquant le retard de la totalité des données à envoyer par fraction de temps.

Qu'apportent les SSD NVMe PCIe 5.0 à part plus de vitesse ?

CXL

Parce qu'ils sont une évolution linéaire par rapport à ceux qui utilisent l'interface PCIe 4.0, on pourrait dire cela assez peu, mais le lancement des SSD NVMe domestiques avec PCIe 5.0 coïncidera avec le déploiement de la norme NVMe 2.0, qui fournira une série d'avantages qui vont au-delà de l'augmentation de la vitesse du bus. Par conséquent, les deux facteurs seront combinés afin d'améliorer ce type de stockage dans un avenir proche.

Bien que si nous devons souligner une amélioration de PCIe 5.0 en particulier, il est le support de Compute Express Link ou CXL. Il s'agit d'une fonctionnalité. qui sera initialement uniquement sur les serveurs et simplifie l'accès au matériel. La raison? Il permet un accès direct à un SSD NVMe sans passer par l'IOMMU du Southbridge, réduisant la latence d'accès et permettant d'implémenter le contrôleur flash dans le CPU, GPU ou APU lui-même ou encore d'utiliser l'interface PCIe CXL pour l'accès direct à DIMM qui intègrent des puces NVMe et DDR5 ensemble.