Stockage : Fadu, ce Coréen inconnu qui pourrait devenir no 1 des SSD
Fadu fabrique le contrôleur que SK Hynix et Western Digital embarquent sur les SSD qu'ils vendent aux hyperscalers. Cette puce n’a rien à voir avec les modèles courants, mais l’économie d’énergie et les performances qu’elle autorise pourraient la rendre très populaire.
C’est un nom qui pourrait bien finir par devenir une référence. Fadu est l’entreprise coréenne qui produit depuis 2017 la puce contrôleur des SSD que SK Hynix et Western Digital vendent aux fabricants de serveurs et aux hyperscalers. La particularité de cette puce est qu’elle repose sur une architecture avec quatre cœurs Risc-V 64 bits. Depuis les SSD de génération PCIe 5.0, cette architecture serait bien plus efficace, en matière de performances et de consommation d’énergie, que les cœurs ARM 32 bits utilisés chez la concurrence. Et Fadu promet que son avantage va s’amplifier avec le temps.
« Aujourd’hui, nous parvenons à baisser la consommation d’un SSD de 25 watts à 16 watts sans perte significative des performances. Sur un serveur qui embarque généralement 24 SSD, cela représente une économie d’énergie de 216 watts, soit potentiellement plus de 10 % de sa consommation d’énergie. C’est déterminant dans des datacenters où l’arrivée de l’IA impose de chercher partout des moyens de réduire la facture électrique », explique Jonmichael Hands, le directeur de la planification des produits chez Fadu (en photo en haut de cet article).
C’est aussi ce même contrôleur qui a permis à Western Digital d’être le premier à qualifier un SSD, le SD861 (15,36 To de NAND TLC, connectique PCIe 5.0), pour incarner l’unité de stockage des futurs clusters de calcul à base de GPU Nvidia Blackwell.
« Dans ces clusters-là, les données sont directement transférées entre le stockage et la mémoire embarquée sur les cartes GPU, sans passer par la carte mère du serveur de calcul. Nvidia avait donc besoin de SSD qui affichent une latence non seulement minimale, mais aussi très stable. Notre contrôleur est en mesure de garantir que la latence ne dépassera jamais 0,7 milliseconde. Le SSD PM1743, que Samsung propose pour concurrencer le SD861 de Western Digital, atteint 3 millisecondes, rien que pour des accès aussi simples que des lectures aléatoires » compare Jonmichael Hands.
Le contrôleur au sein d’un SSD NVMe a pour fonction de faire la jonction entre les données stockées sur les cellules de mémoire NAND dans le SSD et le bus PCIe sur lequel est branché ce SSD. Il ne faut pas confondre ce contrôleur avec celui embarqué sur la machine hôte (serveur, baie de stockage) et dont la fonction est de répartir les données entre plusieurs SSD.
Des contrôleurs pour SSD d’entreprise qui n’ont rien à voir avec les SSD courants
Parmi les SSD pour serveurs avec connectique PCIe 5.0 (la nouvelle génération NVMe 2.0), ceux équipés du contrôleur de Fadu atteindraient 3,1 millions d’IOPS en lecture, contre 2,8, 2,62 et 2,58 millions d’IOPS pour les SSD Memblaze P7940, Samsung PM1743 et Kioxia CM7-R, respectivement. Ces modèles concurrents utilisent des contrôleurs Marvell, Microchip, ou ScaleFlux à base de cœurs ARM.
Les IOPS mesurent le nombre d’accès par seconde. Plus le chiffre est élevé, plus cela signifie que la latence entre deux accès est faible. Les débits, en revanche, sont similaires sur tous ces modèles dernier cri : environ 13,5 Go/s d’une traite en lecture et 8,8 Go/s en écriture.
Il existe deux autres fabricants de contrôleurs de SSD : Phison et SMI, mais Jonmichael Hands ne veut même pas se comparer à eux.
« Leur spécialité est de fabriquer des contrôleurs pour SSD grand public, ce que nous ne faisons pas. Ce sont des produits qui n’ont rien à voir. Les contrôleurs pour SSD grand public servent à baisser au minimum la consommation du SSD quand il n’est pas utilisé par un PC, c’est-à-dire à 5 milliwatts 99 % du temps. Leur mérite récent est de parvenir à faire sortir le SSD de veille en 10 millisecondes, contre 100 millisecondes précédemment. Sur des serveurs, le SSD est utilisé quasiment à 100 % du temps et une latence de 10 millisecondes est une valeur tout simplement inutilisable dans un data center », argumente-t-il.
Jonmichael HandsDirecteur de la planification des produits, Fadu
Il ajoute que les contrôleurs pour SSD grand public sont des puces qui coûtent entre 3 et 4 dollars. Alors que les contrôleurs des SSD pour serveurs coûtent entre 40 et 70 dollars.
« Phison et SMI construisent aussi des SSD complets en marque blanche – ce que nous faisons également –, qu’ils vendent à certains fabricants de baies de stockage destinées aux marchés professionnels. Pour autant, aucun de leurs SSD n’a réussi à se qualifier afin d’entrer chez un hyperscaler. Or, à mon sens, un SSD qui n’est pas jugé digne d’être utilisé par un hyperscaler ne devrait pas non plus être qualifié de SSD d’entreprise », ajoute Jonmichael Hands.
Une architecture en pipeline qui fait toute la différence
Le responsable de Fadu n’est pas beaucoup plus tendre avec ses concurrents qui fabriquent des contrôleurs pour SSD d’entreprise. « Le problème de leur architecture ARM – des cœurs Cortex-M7 et Cortex-R8 – est que pour passer de PCIe 4.0 à PCIe 5.0, ils se contentent de doubler le nombre de cœurs ou de doubler leur fréquence. Cela permet effectivement de traiter deux fois plus d’accès, mais au prix d’une augmentation de la consommation d’énergie. L’architecture de notre contrôleur fonctionne de manière très différente. »
En l’occurrence, les quatre cœurs RISC-V n’exécutent pas les commandes NVMe, contrairement aux cœurs ARM. Ils découpent plutôt ces commandes en fragments dont l’exécution est plus rapide, car elle est prise en charge par des circuits que Fadu a spécialement mis au point (des PPU, ou unités de traitement des paquets) pour calculer, là, la parité, là, la compression, là, le placement, etc.
L’intérêt de cette architecture est que les fragments sont plus facilement traitables à la queue leu leu sur des pipelines dédiés. Cela réduit le nombre de cycles de calculs, avec le double effet d’augmenter le débit, tout en réduisant l’énergie consommée.
« Nous produirons dès la fin de l’année 2025 des contrôleurs pour SSD sur bus PCIe 6.0. Grâce à notre architecture, ce sera très facile à faire, sans consommer plus d’énergie. Je vois mal en revanche comment nos concurrents vont parvenir à notre niveau avec leurs architectures ARM. Je prédis qu’ils vont consommer trop d’énergie ou, s’ils la régulent, que leurs performances ne seront plus à la hauteur », lance le responsable de Fadu.
À l’heure actuelle, le contrôleur de Fadu consomme 5,7 watts dans un SSD, contre une dizaine de watts pour ses concurrents. Cette différence pourrait être bien plus significative en PCIe 6.0.
Devenir le no 1 sur son marché
L’enjeu de Fadu est de s’imposer comme le fournisseur no 1 de contrôleurs de SSD chez les hyperscalers et les fabricants de serveurs. Une première étape a été franchie grâce à un partenariat avec Meta qui a poussé pour que son contrôleur fasse office de standard parmi les technologies OCP (Open Compute Platform). L’OCP édicte les règles à suivre pour construire des équipements de datacenters de la manière la plus efficace possible. Ces règles sont celles dont se servent les hyperscalers pour commander leurs serveurs, leurs baies de stockage ou leurs SSD en marque blanche.
Un point qui intéresse particulièrement les hyperscalers est le fait que les contrôleurs de Fadu embarquent une mémoire SRAM. Celle-ci pourrait permettre aux fabricants de SSD – ce n’est pas encore le cas – de limiter les composants de DRAM sur la carte électronique de leurs SSD. Les composants de DRAM posent de multiples problèmes : ils consomment beaucoup d’énergie, occupent beaucoup de place et vieillissent plus vite que les mémoires NAND qu’ils épaulent.
Dans ce domaine, le fabricant de baies de stockage Pure Storage parvient déjà à se passer de DRAM sur les SSD qu’il fabrique lui-même (et qu’il appelle d’ailleurs DFM, pour marquer la différence). Cela lui permet de présenter des unités de stockage 2,5 fois plus capacitives que les SSD courants : 75 To au lieu de 30 To sur la génération actuelle, 150 To au lieu de 60 To l’année prochaine.
Jonmichael HandsDirecteur de la planification des produits, Fadu
« Il y a en fait une toute nouvelle discipline, qui s’appelle le Flexible Data Placement (FDP), encouragée par Meta, Google et d’autres hyperscalers et qui consiste à réduire l’indice WAF (Write Amplification Factor) des SSD, à savoir le rapport entre le nombre d’octets réellement écrits sur le SSD et le nombre d’octets écrits du point de vue de la machine hôte. Cela a un rapport avec la durée de vie des SSD », explique Jonmichael Hands.
« L’approche de Pure Storage, qui est celle que veut suivre Google, est d’exécuter l’algorithme FDP, non pas au niveau du contrôleur du SSD, mais au niveau de la machine hôte. Cela leur permet de ne plus avoir besoin de DRAM dans les SSD pour héberger ces calculs. Mais, selon Meta et nous, cela pose le problème de déplacer des watts de calcul que nous maîtrisons au niveau du SSD, vers des watts dans le serveur », ajoute-t-il.
Une des clés de l’économie d’énergie que Fadu rend possible est externe au contrôleur. Le fabricant coréen fournit sa puce avec un composant Power Management IC (PMIC) qui régule la tension dans le SSD et qui a été pensé ici spécialement pour les traitements en pipeline. « C’est ce composant qui nous permet par exemple de réduire de 5 watts la consommation du SSD sans perdre en performances », précise le responsable de Fadu, qui milite pour que l’algorithme FDP demeure au niveau du SSD.
Pas de SSD QLC pour l’instant
Un autre point que Fadu va devoir résoudre est la prise en charge par son contrôleur des mémoires NAND QLC, les plus capacitives. Il est en effet le seul parmi les fournisseurs de contrôleurs à ne prendre en charge que les mémoires MLC et TLC, les plus rapides. Cela explique pourquoi les SSD qu’il gère n’affichent au mieux que 15,36 To, alors que des modèles à 30,72 et 61,44 To sont proposés sur le marché.
Et encore. Les 15,36 To viennent juste d’arriver. L’essentiel des SSD vendus cette année avec un contrôleur Fadu proposait plutôt 1,92, 3,84 ou 7,68 To.
« Nous travaillons avec les fournisseurs de NAND pour voir comment adapter notre contrôleur à leurs circuits QLC. Dans nos cartons, il y a notamment le projet de pouvoir gérer jusqu’à 256 To de capacité par SSD. Mais déjà, l’année prochaine, nous parviendrons à proposer des SSD plus capacitifs grâce à l’arrivée des circuits 3D-NAND TLC disposant de 1 To par couche », se défend le responsable de Fadu.