Utilisation d'un slot PCIe pour installer la DRAM: nouveau module d'extension Samsung CXL.mem

Dans l'industrie informatique, nous vivons avec PCIe en tant que norme depuis longtemps. Il est utilisé pour ajouter des fonctionnalités supplémentaires à un système: graphiques, stockage, ports USB, plus de stockage, mise en réseau, cartes d'extension, stockage, cartes son, Wi-Fi, oh ai-je mentionné le stockage? Eh bien, la seule chose que nous n'avons pas pu mettre dans un slot PCIe est la DRAM - je ne parle pas de la DRAM en tant que périphérique de stockage, mais de la mémoire qui est en fait ajoutée au système en tant que DRAM utilisable. En 2019, une nouvelle norme CXL a été introduite, qui utilise un lien PCIe 5.0 comme interface physique. Une partie de cette norme est CXL.memory - la possibilité d'ajouter de la DRAM dans un système via un slot CXL / PCIe. Aujourd'hui, Samsung dévoile le premier module DRAM spécialement conçu de cette manière.

CXL: un rafraîchissement

LA norme CXL d'origine a commencé comme un projet de recherche au sein d'Intel pour créer une interface capable de prendre en charge les accélérateurs, les E / S, le cache et la mémoire. Il s'est ensuite transformé en son propre consortium, avec plus de 50 membres, et le soutien d'acteurs clés du secteur: Intel, AMD, Arm, IBM, Broadcom, Marvell, NVIDIA, Samsung, SK Hynix, WD et autres. La dernière norme est CXL 2.0, finalisée en novembre 2020.

La norme CXL 1.1 couvre trois ensembles d'intrinsèques, appelés CXL.io, CXL.memory et CXL.cache. Ceux-ci permettent un contrôle plus profond sur les appareils connectés, ainsi qu'une extension de ce qui est possible. Le consortium CXL voit trois domaines principaux pour cela:

Le premier type est un cache / accélérateur, tel qu'un moteur de déchargement ou un SmartNIC (un contrôleur de réseau intelligent). Avec les intrinsèques CXL.io et CXL.cache, cela permettrait au contrôleur réseau de trier les données entrantes, de les analyser et de filtrer ce qui est nécessaire directement dans la mémoire des processeurs principaux.

Le deuxième type est un accélérateur avec mémoire, et un accès direct au HBM sur l'accélérateur depuis le processeur (ainsi qu'un accès à la DRAM depuis l'accélérateur). L'idée est une conception de calcul pseudo-hétérogène permettant des solveurs de calcul plus simples mais denses.

Le troisième type est peut-être celui qui nous intéresse le plus aujourd'hui: les tampons mémoire. En utilisant CXL.memory, une mémoire tampon peut être installée sur un lien CXL et la mémoire attachée peut être directement mise en commun avec la mémoire système. Cela permet soit une augmentation de la bande passante de la mémoire, soit une augmentation de l'expansion de la mémoire, de l'ordre de milliers de gigaoctets.

CXL 2.0 introduit également CXL.security, la prise en charge de la mémoire persistante et des capacités de commutation.

Il est à noter que CXL utilise la même interface électrique que PCIe. Cela signifie que tout périphérique CXL aura ce qui ressemble à un connecteur physique PCIe. Au-delà de cela, CXL utilise PCIe dans son processus de démarrage, donc actuellement, tout périphérique prenant en charge CXL doit également prendre en charge une liaison PCIe-PCIe, faisant de tout contrôleur CXL également un contrôleur PCIe par défaut.

L'une des questions courantes que j'ai vues est que se passerait-il si un processeur CXL uniquement était fabriqué? Étant donné que CXL et PCIe sont étroitement liés, un processeur ne peut pas être uniquement CXL, il devrait également prendre en charge les connexions PCIe. Cela étant dit, dans l'autre sens: si nous voyons des cartes graphiques basées sur CXL par exemple, elles devraient également au moins s'initialiser sur PCIe, mais les modes de fonctionnement complets pourraient ne pas être possibles si CXL n'est pas initialisé.

Intel est sur le point d'introduire CXL 1.1 sur PCIe 5.0 avec ses processeurs Sapphire Rapids. Microchip a annoncé Retimers basés sur PCIe 5.0 et CXL pour les extensions de trace de la carte mère. Samsung est aujourd'hui la troisième annonce pour les appareils pris en charge par CXL. IBM a une technologie similaire appelée OMI (OpenCAPI Memory Interface), mais qui n'a pas été largement adoptée en dehors des propres processeurs d'IBM.

Module de mémoire CXL de Samsung

Les processeurs modernes s'appuient sur des contrôleurs de mémoire pour l'accès DRAM attaché. Les processeurs x86 haut de gamme ont huit canaux de DDR4, tandis qu'un certain nombre d'accélérateurs ont emprunté la voie HBM. L'un des facteurs limitants de l'augmentation de la bande passante de la mémoire est le nombre de contrôleurs, qui peut également limiter la capacité, et au-delà, la mémoire doit être validée et formée pour fonctionner avec un système. La plupart des systèmes ne sont pas conçus pour simplement ajouter ou supprimer de la mémoire de la même manière que vous le feriez avec un périphérique de stockage.

Entrez CXL et la possibilité d'ajouter de la mémoire comme un périphérique de stockage. Samsung dévoile aujourd'hui un module attaché CXL emballé au maximum avec DDR5. Il utilise une liaison PCIe 5.0 x16 complète, permettant un 32 GT / s bidirectionnel théorique, mais avec plusieurs To de mémoire derrière un contrôleur de tampon. À peu près de la même manière que des entreprises comme Samsung emballent NAND dans un facteur de forme de taille U.2, avec un refroidissement suffisant, Samsung fait la même chose ici, mais avec DRAM.

La DRAM est toujours une mémoire volatile et les données sont perdues en cas de coupure de courant. (Je doute qu'il soit remplaçable à chaud non plus, mais des choses plus étranges se sont produites). La mémoire persistante peut être utilisée, mais uniquement avec CXL 2.0. Samsung n'a pas indiqué si leur appareil prend en charge CXL 2.0, mais il devrait être au moins CXL 1.1 car ils déclarent qu'il est actuellement testé avec la plate-forme Sapphire Rapids d'Intel.

Il convient de noter qu'un slot DRAM moderne est généralement évalué au maximum pour ~ 18W. Les seuls modules de cette fenêtre d'alimentation sont Optane DCPMM d'Intel, mais un module DDR256 de 4 Go serait dans cette plage d'environ 10 + W. Pour un module CXL complémentaire de 2 To comme celui-ci, je suppose que nous cherchons à environ 70-80 W, et donc ajouter cette quantité de DRAM via l'interface CXL nécessiterait probablement un refroidissement actif ainsi que le gros dissipateur thermique que ceux-ci rendent suggérer.

Samsung ne donne aucun détail sur le module qu'ils dévoilent, sauf qu'il est basé sur CXL et contient de la DDR5. Non seulement cela, mais les `` photos '' fournies ressemblent beaucoup à des rendus, il est donc difficile de dire si elles ont une unité esthétique disponible pour la photographie, ou s'il y a simplement un contrôleur de travail dans un laboratoire d'évolution quelque part qui a été validé sur un système. Mise à jour: Samsung a confirmé qu'il s'agissait de prises de vue en direct et non de rendus.

Dans le cadre de l'annonce, Samsung a cité AMD et Intel, indiquant avec quels partenaires ils travaillent plus étroitement, et ce qu'ils ont aujourd'hui est en cours de validation sur les serveurs Intel de nouvelle génération. Les serveurs de nouvelle génération d'Intel, Sapphire Rapids, devraient être lancés à la fin de l'année, conformément au contrat de supercalculateur Aurora qui devrait être initialement expédié d'ici la fin de l'année.

Article original