Usando um Slot PCIe para Instalar DRAM: Novo Módulo de Expansão Samsung CXL.mem

Na indústria de computação, vivemos com o PCIe como padrão há muito tempo. Ele é usado para adicionar quaisquer recursos adicionais a um sistema: gráficos, armazenamento, portas USB, mais armazenamento, rede, placas de expansão, armazenamento, placas de som, Wi-Fi, ah, eu mencionei armazenamento? Bem, a única coisa que não conseguimos colocar em um slot PCIe é DRAM - não me refiro a DRAM como um dispositivo de armazenamento, mas a memória que na verdade é adicionada ao sistema como DRAM utilizável. Em 2019, um novo padrão CXL foi introduzido, que usa um link PCIe 5.0 como interface física. Parte desse padrão é CXL.memory - a capacidade de adicionar DRAM a um sistema por meio de um slot CXL / PCIe. Hoje a Samsung está revelando o primeiro módulo DRAM projetado especificamente para isso.

CXL: uma atualização

A padrão CXL original começou como um projeto de pesquisa dentro da Intel para criar uma interface que pudesse suportar aceleradores, IO, cache e memória. Posteriormente, ela se transformou em seu próprio consórcio, com mais de 50 membros e suporte dos principais participantes da indústria: Intel, AMD, Arm, IBM, Broadcom, Marvell, NVIDIA, Samsung, SK Hynix, WD e outros. O padrão mais recente é o CXL 2.0, finalizado em novembro de 2020.

O padrão CXL 1.1 cobre três conjuntos de intrínsecos, conhecidos como CXL.io, CXL.memory e CXL.cache. Isso permite um controle mais profundo sobre os dispositivos conectados, bem como uma expansão do que é possível. O consórcio CXL vê três áreas principais para isso:

O primeiro tipo é um cache / acelerador, como um mecanismo de descarregamento ou SmartNIC (um controlador de rede inteligente). Com os intrínsecos CXL.io e CXL.cache, isso permitiria ao controlador de rede classificar os dados de entrada, analisá-los e filtrar o que é necessário diretamente na memória dos processadores principais.

O segundo tipo é um acelerador com memória e acesso direto ao HBM no acelerador do processador (bem como acesso ao DRAM do acelerador). A ideia é um projeto de computação pseudo-heterogêneo que permite solucionadores computacionais mais simples, mas densos.

O terceiro tipo é talvez aquele em que estamos mais interessados ​​hoje: buffers de memória. Usando CXL.memory, um buffer de memória pode ser instalado em um link CXL e a memória anexada pode ser diretamente agrupada com a memória do sistema. Isso permite o aumento da largura de banda da memória ou a expansão da memória, da ordem de milhares de gigabytes.

O CXL 2.0 também apresenta CXL.security, suporte para memória persistente e recursos de comutação.

Deve-se observar que o CXL está usando a mesma interface elétrica que o PCIe. Isso significa que qualquer dispositivo CXL terá o que parece ser um conector físico PCIe. Além disso, o CXL usa PCIe em seu processo de inicialização, portanto, atualmente, qualquer dispositivo de suporte CXL também deve oferecer suporte a um link PCIe-para-PCIe, tornando qualquer controlador CXL também um controlador PCIe por padrão.

Uma das perguntas mais comuns que tenho visto é o que aconteceria se uma CPU somente CXL fosse feita. Como CXL e PCIe estão interligados, uma CPU não pode ser apenas CXL, ela também deve oferecer suporte a conexões PCIe. Dito isto, por outro lado: se virmos placas de vídeo baseadas em CXL, por exemplo, elas também teriam que inicializar pelo menos sobre PCIe, no entanto modos de funcionamento completo podem não ser possíveis se CXL não for inicializado.

A Intel está pronta para lançar o CXL 1.1 sobre PCIe 5.0 com seus processadores Sapphire Rapids. Microchip anunciou Retímeros baseados em PCIe 5.0 e CXL para extensões de rastreamento da placa-mãe. A Samsung hoje é o terceiro anúncio de dispositivos com suporte CXL. A IBM tem uma tecnologia semelhante chamada OMI (OpenCAPI Memory Interface), no entanto, não foi amplamente adotada fora dos próprios processadores da IBM.

Módulo de memória CXL da Samsung

Os processadores modernos contam com controladores de memória para acesso DRAM conectado. Os processadores x86 de primeira linha têm oito canais de DDR4, enquanto vários aceleradores seguiram a rota da HBM. Um dos fatores limitantes na ampliação da largura de banda da memória é o número de controladores, que também pode limitar a capacidade e, além disso, a memória precisa ser validada e treinada para funcionar com um sistema. A maioria dos sistemas não é construída para simplesmente adicionar ou remover memória da mesma forma que você faria com um dispositivo de armazenamento.

Digite CXL e a capacidade de adicionar memória como um dispositivo de armazenamento. O lançamento da Samsung hoje é de um módulo conectado ao CXL embalado ao máximo com DDR5. Ele usa um link PCIe 5.0 x16 completo, permitindo teóricos 32 GT / s bidirecionais, mas com vários TB de memória atrás de um controlador de buffer. Da mesma forma que empresas como a Samsung embalam o NAND em um formato U.2, com resfriamento suficiente, a Samsung faz o mesmo aqui, mas com DRAM.

A DRAM ainda é uma memória volátil e os dados são perdidos se houver perda de energia. (Duvido que seja hot swap também, mas coisas mais estranhas aconteceram). A memória persistente pode ser usada, mas apenas com CXL 2.0. A Samsung não declarou se seu dispositivo suporta CXL 2.0, mas deve ser pelo menos CXL 1.1, pois eles afirmam que está sendo testado com a plataforma Sapphire Rapids da Intel.

Deve-se notar que um slot DRAM moderno é normalmente classificado como máximo para ~ 18W. Os únicos módulos nessa janela de alimentação são o Optane DCPMM da Intel, mas um módulo DDR256 de 4 GB estaria na faixa de ~ 10 + W. Para um módulo CXL adicional de 2 TB como este, suspeito que estamos olhando em torno de 70-80 W e, portanto, adicionar essa quantidade de DRAM por meio da interface CXL provavelmente exigiria resfriamento ativo, bem como o grande dissipador de calor que estes renderizam sugerir.

A Samsung não dá detalhes sobre o módulo que está revelando, exceto que é baseado em CXL e tem DDR5 nele. Não apenas isso, mas as 'fotos' fornecidas se parecem muito com renderizações, então é difícil afirmar se eles têm uma unidade estética disponível para fotografia, ou se há simplesmente um controlador funcionando em um laboratório de preparação em algum lugar que foi validado em um sistema. Atualização: a Samsung confirmou que são fotos ao vivo, não renderizações.

Como parte do anúncio, a Samsung citou a AMD e a Intel, indicando com quais parceiros eles estão trabalhando mais de perto, e o que eles têm hoje está sendo validado em servidores Intel de última geração. Os servidores de próxima geração da Intel, Sapphire Rapids, devem ser lançados no final do ano, em linha com o contrato de supercomputação Aurora, que deve ser lançado inicialmente no final do ano.

Artigo Original