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

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

Quid d'Alder Lake ?

Avatar de l'auteur
David Legrand

Publié dans

Hardware

19/10/2021 11 minutes
21

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.

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

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 ?

Fermer

Commentaires (21)


Merci pour cet article !



J’ai du mal à comprendre le design de la carte Hyper M.2 d’ASUS, le boîtier en métal a-t-il un intérêt ? Sans boîtier et sans ventilation ça chaufferait peut-être moins ?


Ce qui fait chauffer c’est l’activité du SSD ;) Le boîtier fait office de dissipateur, le ventilateur ventile. Pourquoi ça chaufferait moins sans eux ?


Bon article, et c’est pas mal comme système, et j’ai vu qu’une carte hyper M.2 valait en gros 70€.
(au passage le sous titre c’est “quelle plateforme pour y passer sans se ruiner ?”, ça aurait été sympa de préciser le prix de la carte dans l’article)



Sachant que les SSD de génération n-1 sont souvent pas trop chers mais de petite capacité, mettre 4 SSD en raid sur ce genre de carte ça prend du sens, même pour un particulier qui veut que ça envoie du lourd


Je sais pas je demande … :)



Il dissipe avec ou sans contact avec les SSD ?


Le souci de ces cartes c’est que tu en trouves dans tous les types et à tous les prix (et la hyper.M.2 n’est pas toujours très disponible maintenant, ça reste un ancien produit, je l’ai payé une 50ne d’euros à l’époque par exemple).



Avec


Bonjour, avez-vous testé des produits comme ce que fait icydock https://icydock.fr/goods.php?id=385 (pour mettre beaucoup de SSD dans un ordinateur fixe ça me paraît intéressant comme solution) ? (en cherchant rapidement je vois que vous avez relayé les news produits, mais avez-vous pu les tester ?)



C’est connecté en OCuLink et je dois dire que ça m’est complètement inconnu et il ne me semble pas avoir vu beaucoup de cartes mères grand publique avec ces connecteurs. Est-ce que c’est destiné à rester côté serveur ou bien se généraliser ? (et remplacer les connecteurs SATA ? (ou bien je suis à côté de la plaque ?))


Tu me trouves la carte mère avec tous les Oculink et je teste ça :D (c’est un connecteur PCIe compact, qu’on trouve surtout dans les cartes mère serveur, mais j’en ai rarement vu x8 sans adaptateurs).



C’est ce que dit l’article : si on veut plein de SSD PCIe le plus simple ça reste le port PCIe x16 en complément des M2 natifs et autres PCIe (pour des SSD dans ce format ou U.2 par exemple)


Challenge accepté 😉 : https://www.tyan.com/Motherboards_S8026_S8026GM2NRE (bon, c’est pas de la carte mère grand publique forcément)



Mais du coup ça m’a fait chercher un peu, et oui je vois que pour le moment pour du grand publique utiliser de l’oculink ça revient à mettre des cartes pcie avec au mieux 4 ports… donc aucun intérêt comparé à la solution de l’article.


Disons que pour 8 SSD PCIe l’idéal c’est deux cartes x16 avec bifurcation :D


Moi je me demande si on conserve le DirectStorage si on met le GPU sur un PCIe secondaire (no relié au CPU donc). Car ce genre de carte multi SSD (avec bifurcation) l’impose (le changement de port)


DirectStorage = une API pour un échange direct entre le GPU et le SSD. Quel rapport du coup ? Puis bon, on va déjà attendre que l’API soit là avant de se poser ce genre de questions :D (même si je pense que ceux qui auront un tel besoin de bifurcation ne seront pas le gamer moyen).



Pour le reste, l’utilisation d’un telle carte ne change rien par rapport à un SSD connecté directement au CPU puisqu’en général outre les 16 lignes CPU ici utilisées tu en as au moins 4 pour un SSD via M.2.


Du coup avec cette solution on perd le privilège de l’association CPU/GPU.



Quid des perf graphique ?



ici vous avez mis une GTX 1030, donc pas de test gpu.



Mais entre un montage ssd “classique” avec une cg haut de gamme type RX6900XT sur le port 16x et un montage avec la carte hyper M2 en 16x et la cg en 8x, ca donne quoi ?



Shadowman_2k3 a dit:


Du coup avec cette solution on perd le privilège de l’association CPU/GPU.




Oui, et ?




Quid des perf graphique ?




C’est évoqué dans l’article, mais ce n’est de toutes façons pas forcément des besoins qui sont ceux du gamer et on vit bien avec du x8 (mais si on veut plein de PCIe et du gros GPU tout à fond, il y a les plateformes pour station de travail).




ici vous avez mis une GTX 1030, donc pas de test gpu.




Oui parce que ce n’est pas le sujet


En espérant que le nombre de lignes augmentent un petit peu sur les produits grand publique ou que le pci 5 règle le problème, déjà que le 4 permet à coup sur de ce passer du 16x pour la carte graphique ça vas déjà mieux sur les stations de travail avec processeur grand publique.


De toutes façons on va aussi de plus en plus monter en nombre de lignes et en possibilités/flexibilité. Le PCIe/NVMe est arrivé vite, sur le grand public ça demande pas mal d’adaptations, ça vient petit à petit. C’est juste dommage qu’Intel bride en empêchant le x4/x4/x4/x4 sur l’ensemble de sa gamme, même ADL.



David_L a dit:


C’est juste dommage qu’Intel bride en empêchant le x4/x4/x4/x4 sur l’ensemble de sa gamme, même ADL.




Même si Intel fait du x8+x8 ? J’ai cru comprendre d’après l’article que passer du x8+x8 au x4/x4/x4/x4 est à la discrétion de la carte-mère.


La bifurcation semble vraiment reservé à des cadres précis.



Dommage. Je vais rester sur mes adaptateurs M.2 vers SATA pour rajouter des disques.


Intel propose du x8+x4/x4 uniquement au maximum comme expliqué dans l’article


Merci. Désolé, ma question n’était pas claire, je parlais pour Alder Lake-S. Vous avez écrit “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”. Par conséquent, je suis curieuse de savoir si Intel venait à faire x8+x8 pour Alder Lake-S, la possibilité de faire du 4*(x4) serait simplement laissée à la discrétion des fabricants des cartes-mères ?


Non chez Intel en général ce n’est pas le cas. On verra si ça change et ce qui sera annoncé sur les documents finaux, rendez-vous le 4 novembre :D


Ok. Merci