Nel settore informatico, abbiamo convissuto con PCIe come standard per molto tempo. Viene utilizzato per aggiungere funzionalità aggiuntive a un sistema: grafica, archiviazione, porte USB, più spazio di archiviazione, rete, schede aggiuntive, memoria, schede audio, Wi-Fi, oh ho menzionato lo spazio di archiviazione? L'unica cosa che non siamo stati in grado di inserire in uno slot PCIe è la DRAM: non intendo la DRAM come dispositivo di archiviazione, ma la memoria che in realtà viene aggiunta al sistema come DRAM utilizzabile. Nel 2019 è stato introdotto un nuovo standard CXL, che utilizza un collegamento PCIe 5.0 come interfaccia fisica. Parte di questo standard è CXL.memory, la capacità di aggiungere DRAM a un sistema tramite uno slot CXL / PCIe. Oggi Samsung presenta il primo modulo DRAM appositamente progettato in questo modo.
CXL: un aggiornamento
La rotta standard CXL originale è iniziato come un progetto di ricerca all'interno di Intel per creare un'interfaccia in grado di supportare acceleratori, IO, cache e memoria. Successivamente si è trasformato in un proprio consorzio, con oltre 50 membri e il supporto di attori chiave del settore: Intel, AMD, Arm, IBM, Broadcom, Marvell, NVIDIA, Samsung, SK Hynix, WD e altri. Lo standard più recente è CXL 2.0, finalizzato a novembre 2020.
Lo standard CXL 1.1 copre tre set di elementi intrinseci, noti come CXL.io, CXL.memory e CXL.cache. Questi consentono un controllo più approfondito sui dispositivi collegati, nonché un'espansione di ciò che è possibile. Il consorzio CXL vede tre aree principali per questo:
Il primo tipo è una cache / acceleratore, come un motore di offload o SmartNIC (un controller di rete intelligente). Con gli intrinseci CXL.io e CXL.cache, ciò consentirebbe al controller di rete di ordinare i dati in ingresso, analizzarli e filtrare ciò che è necessario direttamente nella memoria dei processori principali.
Il secondo tipo è un acceleratore con memoria e accesso diretto all'HBM sull'acceleratore dal processore (così come accesso alla DRAM dall'acceleratore). L'idea è un progetto di calcolo pseudo-eterogeneo che consente solutori computazionali più semplici ma densi.
Il terzo tipo è forse quello che ci interessa di più oggi: i buffer di memoria. Utilizzando CXL.memory, è possibile installare un buffer di memoria su un collegamento CXL e la memoria collegata può essere direttamente unita alla memoria di sistema. Ciò consente una maggiore larghezza di banda della memoria o una maggiore espansione della memoria, dell'ordine di migliaia di gigabyte.
CXL 2.0 introduce anche CXL.security, supporto per la memoria persistente e funzionalità di commutazione.
Va notato che CXL utilizza la stessa interfaccia elettrica di PCIe. Ciò significa che qualsiasi dispositivo CXL avrà quello che sembra un connettore fisico PCIe. Oltre a ciò, CXL utilizza PCIe nel suo processo di avvio, quindi attualmente qualsiasi dispositivo che supporta CXL deve supportare anche un collegamento PCIe-to-PCIe, rendendo qualsiasi controller CXL anche un controller PCIe per impostazione predefinita.
Una delle domande più comuni che ho visto è cosa succederebbe se fosse realizzata una CPU solo CXL? Poiché CXL e PCIe sono intrecciati, una CPU non può essere solo CXL, dovrebbe supportare anche le connessioni PCIe. Detto questo, dall'altra direzione: se vediamo le schede grafiche basate su CXL, ad esempio, dovrebbero anche essere inizializzate almeno su PCIe, tuttavia le modalità di lavoro complete potrebbero non essere possibili se CXL non è inizializzato.
Intel è pronta a introdurre CXL 1.1 su PCIe 5.0 con i suoi processori Sapphire Rapids. Microchip ha annunciato Retimer basati su PCIe 5.0 e CXL per estensioni di traccia della scheda madre. Samsung oggi è il terzo annuncio per i dispositivi supportati da CXL. IBM ha una tecnologia simile chiamata OMI (OpenCAPI Memory Interface), tuttavia che non ha visto un'ampia adozione al di fuori dei processori IBM.
Modulo di memoria CXL di Samsung
I processori moderni si affidano a controller di memoria per l'accesso alla DRAM collegata. I processori x86 di prima linea hanno otto canali di DDR4, mentre un certo numero di acceleratori sono passati lungo la strada HBM. Uno dei fattori limitanti nell'aumentare la larghezza di banda della memoria è il numero di controller, che può anche limitare la capacità, e oltre tale memoria deve essere convalidata e addestrata per funzionare con un sistema. La maggior parte dei sistemi non è progettata per aggiungere o rimuovere semplicemente memoria nello stesso modo in cui si potrebbe fare con un dispositivo di archiviazione.
Inserisci CXL e la possibilità di aggiungere memoria come un dispositivo di archiviazione. La presentazione di Samsung oggi riguarda un modulo collegato a CXL imballato al massimo con DDR5. Utilizza un collegamento PCIe 5.0 x16 completo, consentendo un teorico bidirezionale di 32 GT / s, ma con più TB di memoria dietro un controller di buffer. Più o meno allo stesso modo in cui aziende come Samsung impacchettano la NAND in un fattore di forma di dimensioni U.2, con un raffreddamento sufficiente, Samsung fa lo stesso qui ma con DRAM.
La DRAM è ancora una memoria volatile e i dati vengono persi in caso di interruzione dell'alimentazione. (Dubito che sia anche sostituibile a caldo, ma sono successe cose più strane). È possibile utilizzare la memoria persistente, ma solo con CXL 2.0. Samsung non ha dichiarato se il proprio dispositivo supporta CXL 2.0, ma dovrebbe essere almeno CXL 1.1 poiché affermano che attualmente è in fase di test con la piattaforma Intel Sapphire Rapids.
Va notato che uno slot DRAM moderno è solitamente valutato al massimo per ~ 18W. Gli unici moduli in quella finestra di alimentazione sono Optane DCPMM di Intel, ma un modulo DDR256 da 4 GB sarebbe in quella gamma di ~ 10 + W. Per un modulo CXL aggiuntivo da 2 TB come questo, sospetto che stiamo guardando intorno ai 70-80 W, e quindi aggiungere quella quantità di DRAM attraverso l'interfaccia CXL richiederebbe probabilmente un raffreddamento attivo e il grande dissipatore di calore che questi rendono suggerire.
Samsung non fornisce alcun dettaglio sul modulo che stanno svelando, tranne che è basato su CXL e contiene DDR5. Non solo, ma le `` foto '' fornite assomigliano molto ai rendering, quindi è difficile affermare se hanno un'unità estetica disponibile per la fotografia, o se c'è semplicemente un controller funzionante in un laboratorio di visualizzazione da qualche parte che è stato convalidato un sistema. Aggiornamento: Samsung ha confermato che si tratta di scatti dal vivo, non di rendering.
Come parte dell'annuncio, Samsung ha citato AMD e Intel, indicando con quali partner stanno lavorando più da vicino e ciò che hanno oggi viene convalidato sui server Intel di nuova generazione. I server di nuova generazione di Intel, Sapphire Rapids, dovrebbero essere lanciati alla fine dell'anno, in linea con il contratto di supercalcolo Aurora che dovrebbe essere inizialmente spedito entro la fine dell'anno.