SSD PCIe et bifurcation x4/x4/x4/x4 : quelle plateforme pour y passer sans se ruiner ?

Quid d'Alder Lake ?
SSD PCIe et bifurcation x4/x4/x4/x4 : quelle plateforme pour y passer sans se ruiner ?

Pour utiliser de nombreux SSD PCIe au sein d'une même machine, on se confronte souvent au même problème : l'espace et le nombre de ports x4 disponibles. Il existe néanmoins une solution avec la bifurcation, permettant de découper un port x16 en quatre blocs x4. Mais toutes les plateformes ne permettent pas d'en profiter...

Ces dernières années, les périphériques PCIe se sont multipliés et montent en débit. Outre les habituelles cartes graphiques occupant 16 lignes (x16) on a des cartes réseau à 10 ou 25 Gb/s (x4 ou x8), mais aussi les connecteurs pour SSD PCIe x4. Il en existe de différents types : carte fille, M.2 ou encore U.2 par exemple.

On aurait pu penser qu'avec la montée en débit du PCI Express 4.0, on assisterait à une meilleure répartition selon le besoin réel de bande passante. Une carte graphique grand public a-t-elle réellement besoin de 16 lignes PCIe 4.0 et donc d'un débit de 32 Go/s ? Pas vraiment. Mais si un constructeur proposait demain un modèle x4 ou x8, on imagine que certains joueurs, adeptes des gros chiffres, ne sauraient pas entendre la pertinence d'un tel choix. 

On peut néanmoins faire le choix de placer une telle carte dans un port x8 et de réserver le x16 à d'autres usages, comme connecter quatre SSD PCIe dans un espace réduit. Certaines cartes filles le permettent, mais elles ne peuvent pas être utilisées sur n'importe quelle carte mère. Là aussi, il faut savoir faire les bons choix. 

Et si ce « découpage » est monnaie courante dans le monde des serveurs ou des stations de travail, ce n'est pas toujours systématique. Mais on peut tout de même trouver quelques astuces, même dans l'offre grand public.

Bifurcation PCIe x4/x4/x4/x4 : comment ça marche ?

Commençons tout d'abord par un rappel. La norme PCIe organise ses flux de données en « lignes ». Sur une carte mère, un processeur ou son chipset en fournissent un certain nombre. Elles peuvent également être démultipliées par des composants spécifiques. Ce nombre de lignes et la version de la norme définissent le débit supporté :

  • PCIe 3.0 : 1 Go/s par ligne
  • PCIe 4.0 : 2 Go/s par ligne
  • PCIe 5.0 : 4 Go/s par ligne
  • PCIe 6.0 : 8 Go/s par ligne

Ainsi, une carte réseau PCIe 3.0 2x 25 Gb/s nécessite au moins 50 Gb/s de débit, soit 6,25 Go/s. On lui attribuera donc 8 lignes. On dit qu'il s'agit d'une carte PCIe 3.0 x8. On pourrait aussi se limiter à du PCIe 4.0 x4 ou du PCIe 5.0 x2 lorsque cette norme sera disponible. Alder Lake sera la première architecture à le supporter chez Intel. Zen 4 chez AMD.

Selon les produits, ces lignes peuvent être gérées différemment. Ainsi, une carte graphique démarrera même sur un port x1, mais ses performances seront limitées. Pour rappel, le PCIe est ce qui lui permet d'échanger des données avec le CPU et la mémoire du système. Selon les cas, du x4/x8 peuvent suffire à un bon fonctionnement.

ASUS Hyper M.2 X16ASUS Hyper M.2 X16
La carte Hyper M.2 d'ASUS pour quatre SSD PCIe 3.0 (NVMe)

Dans d'autres cas, un produit utilisé avec un nombre insuffisant de lignes PCIe ne fonctionnera pas ou ne donnera accès qu'à une portion de ses ports. Cela peut aussi dépendre de l'organisation des lignes qui peuvent être regroupées par bloc au sein d'un même port. C'est là que la bifurcation entre en jeu.

Ainsi, un port PCIe x16, câblé électriquement comme tel, peut être présenté au système comme un ou deux ports x8, d'un à quatre ports x4. Dans ce dernier cas, cela est régulièrement utilisé pour un cas précis : la connexion de quatre SSD PCIe x4 via une seule et même carte. Une solution qui a différents avantages.

Tout d'abord, le port PCIe x16 destiné à la carte graphique est en général géré par le processeur, et donc directement rattaché à lui, ce qui est un avantage en termes de performances. Ensuite, cela permet de ne pas dépendre de la composition de la carte mère, qui n'a pas toujours quatre emplacements M.2 sur son PCB. Enfin, cela permet d'avoir une solution compacte : un emplacement PCIe pour quatre SSD.

Mais il faut que ce découpage soit possible. Il s'agit le plus souvent d'une option à activer dans le BIOS/UEFI, mais la plateforme doit le permettre. Selon les constructeurs, ce n'est pas toujours possible. Quand ce n'est pas le cas, la carte PCIe fonctionne, mais seuls certains SSD sont visibles. Par exemple, si le port est configuré en x8+x8 seuls deux pourront être utilisés par le système.

Gigabyte X570 Aorus Master
La bifurcation proposée dans la X570 AORUS Master de Gigabyte

Chipsets pour socket AM4 : un support présent, mais pas assumé

AMD et Intel proposent bien entendu de telles options sur leurs plateformes pour serveurs, où il est désormais courant de connecter 12 ou 24 SSD PCIe (NVMe) en façade, ce qui nécessite 48 à 96 lignes PCIe organisées en blocs de 4. Mais dans l'offre grand public ou même celle destinée aux petites stations de travail, c'est différent.

Ce sont les Ryzen sur socket AM4 qui se destinent à ces marchés chez AMD, avec 2 à 16 cœurs selon les cas. Un modèle haut de gamme basé sur l'architecture Zen 3 comme le 5950X intègre 24 lignes PCIe 4.0. 4 sont réservées à la communication avec le chipset, 4 peuvent être utilisées pour un SSD PCIe, 16 sont attribuées à la carte graphique.

Dans sa documentation officielle, AMD se contente d'indiquer qu'une bifurcation x8+x8 est possible, permettant par exemple d'utiliser deux cartes graphiques à un débit réduit sans passer par le chipset. Mais il n'est jamais fait mention de x4/x4/x4/x4. Cette fonctionnalité n'est mise en avant que sur les gammes Threadripper et EPYC.

AMD Chipsets AM4 Comparatif
Les chipsets AM4 et leurs possibilités, selon AMD : la bifurcation x8 évoquée, pas la x4

Pourtant, elle est bien accessible via l'offre grand public. On en trouve la trace dans la page de support de la carte Hyper M.2 x16 (Gen 4) d'ASUS ou son équivalent Gigabyte. Bien que parfois cette fonctionnalité ne soit mentionnée que pour les chipsets X570, elle est exploitable aussi sur les X470, B550 et B450. 

En réalité, dès que le x8+x8 est géré, le constructeur de la carte mère a pu implémenter le x4/x4/x4/x4. Il faut par contre se référer au manuel pour s'en assurer, puisque cela n'est pas toujours très bien documenté. 

Quels résultats en pratique ?

Pour vérifier que cela fonctionne et les débits que cela nous permet d'atteindre, nous avons utilisé notre carte ASUS Hyper.M2 (PCIe 3.0 x16) où nous avons placé quatre SSD Samsung 970 EVO de 250 Go. Le BIOS de la carte mère X570 AORUS Master de Gigabyte permet de choisir entre une organisation par 16, 8 ou 4 lignes pour le port PCIe principal. Nous avons opté pour ce dernier choix sans autre modification, les quatre SSD étaient alors utilisables.

Notre processeur étant un Ryzen 5 5600X, il n'avait pas de partie graphique intégrée. Nous avons donc connecté une GeForce GTX 1030 sur un autre port PCIe de la carte mère. Notez que sur un modèle destiné aux serveurs avec un contrôle distant (IPMI/BMC), comme celles proposées par ASRock Rack cela n'est pas nécessaire puisqu'une puce graphique est en général intégrée pour assurer cette fonctionnalité (via la série ASPeed 2x00 en général).

Autre point sur lequel vous devez être vigilant : tous les processeurs AM4 ne se valent pas. Ainsi, les APU à partie graphique intégrée jusqu'à Zen 2 n'ont que 8 lignes PCIe utilisables pour le port principal. Ils ne peuvent donc pas être utilisés avec une telle carte et quatre SSD, mais deux seulement au maximum :

Gigabyte Alerte PCIe Ryzen

Une fois sous Windows 11, l'outil de gestion de disque voit les quatre SSD et nous proposer de les initialiser. On peut ensuite les configurer pour une agrégation par bandes (RAID 0) pour les performances, miroir (RAID 1) pour préserver des défaillances ou RAID 5 pour un mix des deux via des bits de parité. 

Nous avons opté pour ce premier choix afin de relever les performances maximales pouvant être atteintes. Nous avons pour cela utilisé CrystalDiskMark 8.0.4 avec son profil NVMe SSD, par défaut puis « performances réelles » :

RAID NVMe CrystalDiskMarkRAID NVMe CrystalDiskMark

Nous sommes ici limités par le PCIe 3.0 et nos SSD qui ne sont pas de dernière génération, mais on s'approche tout de même des 14 Go/s en lecture séquentielle et jusqu'à 6 Go/s en écriture. Même sur des accès aléatoires 4k, on grimpe à 1,2 et 3,5 Go/s environ (QD32T16). Bien entendu, c'est moins rose lorsque les commandes ne sont pas parallélisées (Q1T1) puisque l'on ne dépasse alors plus les 50/200 Mo/s, comme un SSD seul de 1 To.

En « performances réelles », on revient aux alentours de 9 Go/s en lecture et toujours dans les 6 Go/s en écriture. La latence est par contre un peu plus élevée qu'un SSD classique de 1 To 80/20 µs environ. Suffisant en tous cas pour nous servir de base de test pour des SSD PCIe 4.0 (NVMe très rapides). Par exemple un Crucial P5+ de 2 To :

Crucial P5+ 2 To RAID NVMe

Et chez Intel ?

Avec son VROC, destiné d'abord aux stations de travail, Intel a été un précurseur en la matière. C'est ensuite que cette fonctionnalité s'est démocratisée, AMD introduisant le RAID NVMe « sans surcoût » à ses plateformes X399 pour disposer d'un avantage concurrentiel, ce qui a également profité à son offre grand public.

Pour autant et comme à son habitude, le géant de Santa Clara a une attitude assez restrictive de ce qu'il est possible de faire avec sa gamme Core et même les Xeon qui en sont dérivés. Ainsi, bien que le nombre de lignes PCIe intégrées au chipset soit croissant, il n'a pas gagné en flexibilité pour autant :

  • Core 10e génération (Comet Lake-S) : 16 lignes PCIe 3.0 CPU, jusqu'à 24 lignes PCIe 3.0 chipset
  • Core 11e génération (Rocket Lake-S) : 16+4 lignes PCIe 4.0 CPU, jusqu'à 24 lignes PCIe 3.0 chipset

Comme chez AMD, le support ou non de la bifurcation sur le port PCIe x16 principal dépend du chipset, mais se limite à trois modèles : Q570 (Pro), W580 (Station de travail) et Z590 (grand public). Et même lorsqu'il est présent, il ne peut être au maximum que découpé en trois : x8+x4+x4. Ainsi, impossible d'y utiliser quatre SSD via une carte.

Une manière sans doute de renvoyer les clients en besoin de stockage PCIe « dense » vers ses autres plateformes.

Intel Z590 Bifurcation
Même l'Intel Z590 ne propose pas le x4/x4/x4/x4

Alder Lake-S va-t-il changer les choses ?

Avec l'arrivée du socket LGA 1700, des chipsets de série 600 et des Core de 12e génération (Alder Lake-S), le PCIe va changer, passant en partie à la révision 5.0 de la norme. Le nombre global de lignes PCIe va d'ailleurs évoluer, passant de 50 à 58, dont 48 directement exploitables comme telles :

  • Core 12e génération (Alder Lake-S) :
    • CPU : 20 lignes PCIe 5.0 et 4 lignes PCIe 4.0
    • Chipset : jusqu'à 12 lignes PCIe 4.0 et jusqu'à 16 lignes PCIe 3.0

Notez que, comme chez AMD lors de son passage au PCIe 4.0, le lien DMI x8 entre le processeur et le chipset double de débit par rapport à la génération précédente avec l'arrivée de la Gen 4 côté chipset. Mais pour la bifurcation rien ne change, ou presque. Le H670 pourra désormais en profiter, ce n'était pas le cas du H570.

Des documents préliminaires auxquels nous avons eu accès évoquent par contre une plus grande rigidité : x16 ou x8+x8 uniquement, et non plus de x8+x4+x4. Est-ce que cela sera modifié d'ici au lancement ? Nous le saurons bientôt puisqu'Intel devrait officialiser Alder Lake-S à l'occasion de sa conférence « on » la semaine prochaine.

  • Introduction
  • Bifurcation PCIe x4/x4/x4/x4 : comment ça marche ?
  • Chipsets pour socket AM4 : un support présent, mais pas assumé
  • Quels résultats en pratique ?
  • Et chez Intel ?
  • Alder Lake-S va-t-il changer les choses ?
S'abonner à partir de 3,75 €

2000 - 2021 INpact MediaGroup - SARL de presse, membre du SPIIL. N° de CPPAP 0326 Z 92244.

Marque déposée. Tous droits réservés. Mentions légales et contact