Bidouiller un boîtier USB4 pour installer une carte PCI-Express

J’en ai déjà parlé sur MacG (abonnez-vous !), mais en jouant avec un boîtier externe USB4 (le ZikeDrive), je me suis rendu compte d’une chose : l’USB4 est plus rapide que le Thunderbolt 3 avec les cartes d’extension PCI-Express. Mais ça demande un peu de bricolage.

Petit résumé : l’USB4 (sans l’espace) dérive du Thunderbolt, et permet la connexion de périphériques PCI-Express. Les Mac modernes (ceux en puces ARM) sont compatibles Thunderbolt mais aussi USB4 et dans ce mode, les performances sont plus élevées. Une des raisons, c’est qu’en Thunderbolt, on a bien 40 Gb/s, mais seulement 32 Gb/s pour les données (quatre lignes PCI-Express 3.0) avec un débit pratique de l’ordre de 25 Gb/s environ (ça dépend un peu du contrôleur). En USB4, on a techniquement 40 Gb/s pour les données, avec quatre lignes PCI-Express 4.0 du coté du boîtier, ce qui permet des débits (un peu) plus élevés. Ce n’est pas le jour et la nuit, mais sur un Mac mini M1, on peut gagner environ 20 %.

Pas le setup le plus propre du monde

Pour le moment, il y a tout de même un problème : les boîtiers réellement USB4 sont rares. Satechi en a un et il y a le ZikeDrive, issu d’un financement participatif. Les autres, qui annoncent une compatibilité « USB 4.0 » et autres, ce sont généralement des boîtiers Thunderbolt 3 avec une puce qui permet le fonctionnement en USB classique en parallèle (ce qui est moins rapide). C’est le cas de ce modèle Acasis, par exemple.

Un honteux bricolage

Si ce sont uniquement des boîtiers pour les SSD externes, vous vous demandez peut-être comment on peut brancher une carte PCI-Express. Et il y a une solution, qui ressemble à du bricolage (et qui en est) : un adaptateur M.2 vers PCI-Express x4. C’est un peu cheap mais pas très cher (une dizaine d’euros). La bonne nouvelle, c’est que le connecteur est ouvert : on peut insérer une carte x8 ou x16 (une carte graphique) dedans. La mauvaise, c’est que l’alimentation est externe (on va y revenir) et que ce n’est pas très pratique.

L’adaptateur, basique

Sur le côté pratique, on va avoir un adaptateur inséré dans un boîtier pour SSD, avec la carte qui sera donc retenue uniquement par le connecteur. Dans mon cas, j’ai aussi dû enlever l’équerre des cartes, parce que sinon ça tombe devant la prise USB-C du boîtier.

L’équerre bloquerait le connecteur (en bas)

Pour l’alimentation, c’est compliqué. Le boîtier lui-même ne fournit que 15 W au mieux (la norme en Thunderbolt) et un emplacement PCI-Express doit fournir 25 W ou 75 W. Le fabricant a prévu le coup : il y a un petit connecteur qui récupère l’énergie depuis une prise SATA. Pour mes tests, j’ai pris un boîtier externe pour disque dur qui a une alimentation de 12 V assez puissante (4 ampères, soit 48 W) et ça suffit pour une carte réseau. Si vous voulez mettre une carte graphique, je vous conseille vraiment une alimentation ATX.

Dernier point, important, le câble. Pour passer en mode USB4 sous macOS, il faut brancher en direct (donc pas derrière des périphériques Thunderbolt) mais aussi avec le bon câble. Le cas typique, c’est si vous avez (comme moi) un câble Thunderbolt 3 actif : il ne fonctionne qu’en mode Thunderbolt 3. Pour passer en USB4, il faut soit un câble USB4 (logique) soit un câble Thunderbolt 3 passif (ceux de moins d’un mètre).

macOS indique le mode (ici USB4)

C’est vraiment plus rapide

Je n’ai pas testé avec un GPU, pour une bonne raison : les Mac ARM ne gèrent pas ça. Techniquement, le boîtier est (un peu) plus rapide en mode Thunderbolt 3 que ceux avec une puce Intel, mais la bande passante n’est habituellement pas le souci principal avec les GPU externes et le bricolage est nettement plus compliqué avec un GPU pour l’alimentation.

Pour les essais, j’ai donc pris une carte Ethernet à 25 Gb/s avec en face un NAS avec la même carte et deux SSD en RAID 0. C’est un cas intéressant parce que la bande passante du bus est un facteur limitant au départ : selon les contrôleurs, on a parfois moins de 25 Gb/s en réel. Sur le Mac mini M1, donc, j’ai 19,1 Gb/s avec un boîtier Thunderbolt 3 et 20 Gb/s avec le boîtier USB4, une différence finalement assez faible sur les tests bruts.

Le Mac mini M1 avec du Thunderbolt 3


Le Mac mini M1 avec de l’USB4

Mais sur les tests pratique, la différence est plus élevée : j’atteins 2 411 Mo/s en lecture en Thunderbolt et 2 608 Mo/s en USB4 (un bon gain) et surtout je passe de 412 à 600 Mo/s en écriture. C’est le point faible des puces M1 au départ, et un gain de 50 % est plutôt intéressant.

Le Mac mini M1 avec du Thunderbolt 3


Le Mac mini M1 avec de l’USB4

Dans l’absolu, la différence peut sembler faible, mais les gains restent mesurables et on part de valeurs déjà élevées. Et surtout, c’est juste en changeant la puce dans le boitier, dans les faits. Bien évidemment, ce n’est pas systématique : si vous avez une carte d’extension qui ne sature pas le bus (de l’Ethernet à 10 Gb/s, une carte SAS, etc.), le passage en USB4 ne va rien changer. Mais pour les SSD ou les cartes Ethernet rapides comme dans mon essai, c’est convaincant.

On peut le faire aussi en Thunderbolt 3

Dernier point, on peut aussi faire le montage avec du Thunderbolt. Comme on trouve des boîtiers externes vers 100 €, c’est un moyen basique d’avoir un boîtier pour cartes PCI-Express pas trop cher, même si c’est du bricolage. Il faut juste se méfier d’un truc : certains boîtiers ne câblent que deux lignes, donc sont plus lents. C’est le cas du modèle d’OWC, vendu une centaine d’euros.

Enfin, pour conclure, il reste à attendre l’arrivée en masse de l’USB4. Asmedia (qui a conçu la puce) tend à vendre ses composants moins cher qu’Intel, et on devrait donc avoir des boîtiers pour SSD (et peut-être pour cartes d’extension) moins onéreux qu’actuellement.