SCM: Qual è questa memoria che ha il meglio della RAM e il meglio di un SSD?

Ultimo aggiornamento: 30 ottobre 2023
Bit, SCM

Nel mondo IT c'è una lotta costante per trovare nuove soluzioni di memoria. Una delle priorità è realizzare una memoria che combini il meglio di entrambi i mondi: RAM e SSD. Ovvero, una memoria veloce quanto la memoria primaria, ma con la capacità e la natura non volatile della memoria secondaria. Ed è proprio in questa direzione che si sta muovendo la situazione. l'SCM che vi presentiamo oggi…

Gerarchia di memoria attuale

Come promemoria, diciamo che la memoria nell'attuale architettura del computer ha un gerarchia della memoria sotto forma di piramide, partendo dal modello più veloce, più costoso e con la capacità più bassa in cima, fino al modello più economico, più lento e con la capacità più alta alla base:

  • Nivel 0: In cima abbiamo i più veloci di tutti, che sono i record della CPU, sebbene abbia anche la capacità più piccola. I registri in genere hanno dimensioni comprese tra 32 e 64 bit o più. Tuttavia, nonostante la loro ridotta capacità, sono realizzati con flip-flop molto veloci e sono accessibili in meno di 0.5 ns.
  • Nivel 1: Appena sotto i registri si trova la memoria cache, da L0 o L1 fino alla LLC (Last Level Cache). Alcuni buffer possono essere inclusi qui, come il TLB, che è anch'esso un tipo di cache. Vale a dire, possiamo trovare frequentemente L1, L2 e L3, con poche eccezioni. Questa memoria ha solitamente capacità maggiori rispetto ai registri, che vanno da pochi KB a diversi MB. Tuttavia, le celle di questa memoria sono SRAM. Questo le rende molto veloci, anche se non quanto i registri, ma più veloci dei livelli inferiori. Qui stiamo parlando di tempi di accesso che vanno solitamente da 1 ns a poche decine di nanosecondi, a seconda del livello, o in altre parole, da circa 4 cicli di clock della CPU a 50 o 70 cicli ai livelli superiori. Ad esempio, un L1 può avere tempi di accesso tipici di 1 ns, mentre l'L2 potrebbe essere di circa 3.3 ns, l'L3 tra 12.8 ns e l'L4 a 42.4 ns... Va anche aggiunto che sia il Livello 0 che il Livello 1 sono all'interno della CPU stessa nei casi attuali.
  • Nivel 2Questa è quella che viene definita memoria primaria, o memoria principale. Cioè, RAM (la memoria virtuale potrebbe essere inclusa qui, anche se bisogna tenere presente che si tratta di una parte ospitata nel Livello 3). Questa memoria ha una capacità maggiore rispetto alla cache, diversi GB, ma è anche vero che i tempi di accesso sono più lenti, circa 10 ns. Questo può variare a seconda del tipo di memoria, poiché latenza e frequenza di clock non sono le stesse in tutte, ma solo per darvi un riferimento. Questo perché è una memoria composta da celle DRAM, più lente della SRAM, ma più economiche, il che consente questa maggiore capacità a un prezzo moderato. Livello 0, Livello 1 e Livello 2 sono memorie a cui la CPU può accedere direttamente. A proposito, come sapete, anche la GPU ha la sua memoria principale, o VRAM, ed è generalmente DRAM e in alcuni casi anche HBM. L'HBM può essere utilizzata anche per la CPU, sebbene questa sia una soluzione più esotica.
  • Nivel 3La memoria non volatile (NVM) può essere inclusa qui, poiché tutti i livelli precedenti erano volatili, il che significa che quando l'alimentazione viene interrotta dalle celle di memoria, il loro contenuto viene perso. Questo tipo di memoria conserva tutte le informazioni memorizzate anche in caso di interruzione dell'alimentazione. È inoltre importante notare che questo tipo di memoria non è accessibile direttamente dalla CPU e, in molti casi, richiede l'assistenza del sistema operativo. Questo livello è generalmente definito memoria secondaria, proprio come il Livello 1 è definito memoria primaria. Il Livello 3 include i dischi rigidi HDD e SSD. I primi sono magnetici e hanno tempi di accesso di circa 3 ms, mentre i secondi sono unità di memoria flash molto più veloci, con tempi di accesso che possono essere di circa 0.1 ms. Come si può vedere, qui si passa dai nanosecondi ai millisecondi, ma va anche detto che si tratta di una memoria notevolmente più economica da produrre, quindi può essere implementata in capacità di centinaia o migliaia di GB o TB.
  • Nivel 4: In questo caso, i tempi di accesso sono più lunghi rispetto ai precedenti e in alcuni casi possono superare i 10 ms. Questo può riguardare supporti rimovibili, memorie ottiche (CD/DVD/BD), nastri magnetici e altre memorie I/O.

Bene, una volta compresa questa piramide o gerarchia della memoria, il passo successivo è iniziare a capire cos'è la SCM...

Alla ricerca della memoria universale

Per cercare di migliorare questa gerarchia di memoria, i ricercatori stanno costantemente sviluppando nuove tecnologie e stanno cercando ciò che viene chiamato «memoria universale»Con questo termine si intende un dispositivo di archiviazione in grado di combinare i vantaggi economici della DRAM, la velocità della SRAM e la natura non volatile della memoria flash, garantendo al contempo una durata infinita e duratura.

  Le migliori paste termiche del 2026 e come scegliere quella giusta

Evidentemente, riunire tutte queste caratteristiche in un unico report non è facile, infatti, Molti esperti dubitano che ciò sia possibile.. Alcuni Le memorie emerse di recente potrebbero soddisfare alcune di queste caratteristiche, anche se per un motivo o per l'altro non rappresentano una soluzione definitiva.

Mi riferisco a memorie come FRAM o FeRAM, MRAM, PCM, RRAM o ReRAM, NRAM o Nano-RAM, PRAM o PCRAM, memorie basate su memristor, PMC, memorie a bolle, memorie racetrack, UltraRAM (in fase di studio semiconduttori come InGaAs, GaSb, AlGaAs, GaAs, AlSb, InAs), 3D XPoint, Millipede, memorie basate su FeFET, NOVRAM, ecc. Tutte con interessanti vantaggi, ma anche con svantaggi che non le rendono ancora adatte a essere considerate memorie universali e che possono sostituire i livelli 2 e 1, come si può vedere nella piramide precedente, oltre a interporsi come memoria tra la memoria principale e quella secondaria.

Cos'è la NVRAM?

FRAM FeRam

La NVRAM (memoria ad accesso casuale non volatile) Si tratta di un tipo di memoria ad accesso casuale (RAM) come la RAM, ma non perde i dati quando non viene alimentata, rendendola non volatile. L'idea è di realizzare questa memoria con le proprietà della SRAM o della DRAM in termini di velocità di accesso, ma senza perdere le informazioni memorizzate, come la memoria secondaria. Questa potrebbe essere una buona tecnologia da utilizzare su una moltitudine di fronti, dall'archiviazione del firmware ai microcontrollori per l'industria, o per l'uso in applicazioni HPC, applicazioni aerospaziali, IoT, elaborazione distribuita, applicazioni di macchine virtuali, tra gli altri.

Pensa a tutti i benefici Cosa avrebbe questa memoria rispetto all'attuale piramide convenzionale, come:

  • Essendo veloce quanto la DRAM o la SRAM, raggiunge tempi di accesso molto rapidi, consentendone l'utilizzo come memoria principale.
  • Essendo non volatile, il suo consumo sarebbe molto basso, poiché non sarebbero necessari cicli di aggiornamento e alimentazione costante della memoria come nel caso della memoria volatile.
  • È possibile ottenere grandi capacità per archiviare grandi volumi di informazioni.
  • Queste celle hanno anche una maggiore affidabilità rispetto alle attuali celle flash, quindi i dati possono essere memorizzati a lungo termine, senza deteriorarsi dopo migliaia o milioni di cicli come accade attualmente con queste altre celle. Come sapete, a seconda che il Le celle di memoria flash sono NOR, NAND o derivati, l'affidabilità può essere più o meno breve.

Questa memoria persistente potrebbe essere la soluzione ad alcuni degli attuali problemi, dati i limiti tecnologici esistenti e il divario o divario di rendimento corrente tra RAM e CPU.

Come sapete, attualmente ci sono alcuni soluzioni Questi includono una memoria volatile più veloce per memorizzare le informazioni durante l'uso, consentendo un accesso più rapido. Quando l'alimentazione sta per interrompersi, i contenuti vengono trasferiti nella memoria non volatile. Tuttavia, questo significa includere due tipi di memoria, il che aumenta i costi di produzione, tra gli altri problemi. Con questi moduli, invece, avrete tutto in uno.

Di recente sono stati lanciati alcuni standard come il formato NVDIMM, ovvero un modulo DIMM (Dual In-line Memory Module) per questo tipo di memoria permanente o non volatile. In questo modo, queste memorie potrebbero essere implementate in forma modulare come le attuali RAM e installate in slot simili a quelli attualmente disponibili. Tuttavia, a differenza delle DRAM convenzionali, presenterebbero i vantaggi sopra elencati.

Gli NVDIMM si sono evoluti dalla tecnologia nota come BBU DIMM (DIMM con batteria di backup), che utilizzava una batteria di backup per mantenere l'alimentazione in una memoria volatile fino a 72 ore in caso di interruzione di corrente. Tuttavia, questo non è l'obiettivo di questa SCM o memoria universale, poiché l'uso di batterie implica la necessità di ricaricarle o sostituirle, ha un maggiore impatto ambientale e così via.

Questa fonte di alimentazione ausiliaria è necessaria per consentire alla memoria volatile principale di trasferire il suo contenuto alla memoria non volatile in caso di interruzione di corrente. Attualmente, esistono anche alcuni moduli NVDIMM che non si basano su batterie, ma su supercondensatori, ovvero condensatori ad alta capacità che sono pieni durante l'uso e, quando si verifica un'improvvisa interruzione di corrente, hanno abbastanza energia per rimanere attivi abbastanza a lungo da impedire la perdita di dati.

Alcune di queste soluzioni erano originariamente utilizzate per la memorizzazione nella cache di alcuni adattatori host bus (HBA) per unità RAID, consentendo alla cache di sopravvivere a un'interruzione di corrente. Tuttavia, come vedremo, hanno applicazioni che vanno oltre.

Per limitare l'uso di questi sistemi, ne sono nati alcuni standard JEDEC per NVDIMM che dovresti sapere, come:

  • NVDIMM-F: Si tratta di uno slot standard per moduli DIMM con chip di memoria flash. Gli utenti del sistema devono combinare il modulo DIMM di archiviazione con un modulo DIMM DRAM tradizionale, ovvero i due moduli separatamente. È disponibile dal 2014, con prodotti come il 3D XPoint PCM annunciato da Intel e Micron Technology.
  • NVDIMM-N: In questo caso, entrambi i tipi di memoria sono combinati in un unico modulo DIMM. In altre parole, abbiamo memoria flash e DRAM tradizionale nello stesso modulo. Ciò consente al sistema di accedere direttamente alla DRAM tradizionale mentre è in funzione. In caso di interruzione di corrente o spegnimento, il modulo scarica i dati dalla DRAM tradizionale volatile alla memoria flash persistente e li copia al ripristino dell'alimentazione. Una piccola fonte di alimentazione di backup viene utilizzata per il modulo mentre i dati vengono copiati dalla DRAM alla memoria flash. Sony e Viking Technology hanno anche annunciato una memoria per questo tipo di slot basata su ReRAM.
  • NVDIMM-P: la specifica è apparsa a febbraio 2021, consentendo la memoria principale persistente, con l'emergere di questi nuovi SCM o moduli di memoria universali. Inoltre, potrebbero condividere interconnessioni identiche con i DIMM DDR4 o DDR5. Pertanto, potrebbero essere sostituiti. Esempi di questo tipo includono il modulo Samsung/Netlist annunciato nel 2015, che probabilmente era basato su Z-NAND.
  • NVDIMM-X: Non si tratta di uno standard JEDEC, ma è comunque interessante. In questo caso, abbiamo un modulo DIMM di memoria DDR, ma con memoria flash NAND, sviluppato da Xitore.
  Memoria virtuale: cos'è e a cosa serve

Bene, ora passiamo a SCM, che è correlato a tutto ciò che ho spiegato qui, come vedrete, ma era necessario spiegarlo prima di iniziare a lavorare con questo nuovo concetto...

Che cos'è SCM?

La SCM (memoria di classe di archiviazione), che è l'obiettivo principale di questo articolo, è un tipo di memoria fisica che tenta di affermarsi come memoria universale, o almeno di coprirne alcuni dei fondamenti. Con SCM, abbiamo una memoria che combina il meglio della memoria dinamica ad accesso casuale (DRAM), il meglio della memoria flash NAND e una fonte di energia per la persistenza dei dati.

In breve, ciò che otterremmo con un SCM è avere un l'accesso (scrittura e lettura) ai dati è più veloce rispetto all'accesso ai dati su unità a stato solido (SSD) collegate localmente tramite PCIe, dischi rigidi magnetici (HDD) e array di archiviazione esterni. La SCM è più durevole della DRAM e può leggere e scrivere dati fino a 10 volte più velocemente delle unità NAND. Tuttavia, è possibile ottenere capacità superiori rispetto alla RAM convenzionale a un costo accessibile, oltre a una durata maggiore rispetto agli attuali SSD.

Una delle applicazioni in cui queste memorie SCM possono essere utilizzate per trarre vantaggio è nei data centerE possono contribuire:

  • Latenza: Disponiamo di un supporto di archiviazione ad alte prestazioni con bassa latenza, il che significa tempi di accesso più rapidi rispetto ai supporti di archiviazione secondari. Questo è un fattore positivo per i carichi di lavoro che richiedono la gestione di grandi quantità di dati con buone prestazioni.
  • persistenteL'alimentatore di backup garantisce la conservazione dei dati e del codice di programma in caso di guasto del sistema o di interruzione di corrente. Ciò fornisce un livello di archiviazione persistente indirizzabile a byte tra DRAM e flash. L'utilizzo di SCM estende le prestazioni elevate della DRAM alla memoria non volatile. Pertanto, al ripristino dell'alimentazione, il sistema può riprendere esattamente da dove si era interrotto, senza perdere dati o tempo, un aspetto fondamentale nei sistemi ad alta disponibilità. Inoltre, in molti casi, verrebbe eliminata la necessità di un aggiornamento costante.
  • Meno dipendente dai media secondariCon SCM, è necessario spostare meno dati tra la memoria principale e lo storage secondario, poiché quest'ultimo ha una capacità maggiore. Questo riduce il carico di lavoro della CPU quando è necessario che il sistema operativo acceda ai supporti secondari, come ho spiegato in precedenza, con conseguente aumento delle prestazioni. Un dispositivo SCM può raggiungere velocità di clock quasi pari a quelle della DRAM e della RAM statica (SRAM), ma con il vantaggio della persistenza.

Vantaggi e svantaggi dell'SCM

Come ho commentato in tutto l'articolo, l'uso di SCM può avere grandi vantaggi rispetto alla memoria convenzionale, ad esempio una maggiore capacità rispetto alle attuali DRAM, con tempi di accesso simili o più rapidi, ma senza la volatilità di queste ultime. Inoltre, molte delle nuove tecnologie in fase di sviluppo offrono anche una maggiore efficienza energetica, importante nei data center. E, in caso di alimentazione locale di un nodo, i dati non andrebbero persi. È inoltre importante ricordare che i dati inseriti nell'SCM seguono un percorso di I/O più breve e riducono la garbage collection su blocchi di dati di grandi dimensioni.

In informatica, la garbage collection, o GC, è un metodo per gestire automaticamente la memoria. La GC tenta di recuperare la memoria allocata da un programma ma non più utilizzata; in altre parole, libera questa risorsa di memoria. Questo libera il programma dall'obbligo di eseguire attività di gestione della memoria; in altre parole, non ha bisogno di specificare quali oggetti deallocare e liberare.

Ma, nonostante i loro vantaggi, hanno anche Alcuni svantaggi, motivo per cui non sono ancora state ampiamente adottate. Una delle maggiori insidie ​​è che si basano su tecnologie ancora in fase di sviluppo o che necessitano di maturazione, poiché i primi prodotti lanciati non hanno ancora raggiunto i limiti del potenziale teoricamente previsto. Inoltre, trattandosi di tecnologie esotiche, possono essere più costose da produrre.

  Che cosa è HFR (High Frame Rate) e perché è importante?

Esempi di prodotti SCM

Come ho detto sopra, ci sono alcuni esempi di prodotti che sono stati lanciati sul mercato e sono considerati tipi di implementazioni SCM commerciali, come:

  • Intel Optane: è stato lanciato nel 2018, un prodotto sviluppato specificamente per HPC, AI, tra le altre applicazioni, che consente miglioramenti delle prestazioni grazie a questa memoria SCM basata su 3D XPoint, una tecnologia sviluppata in collaborazione con Micron. Sebbene siano stati lanciati diversi formati di questa memoria, come i formati M.2 NVMe e le schede di espansione PCIe, ne esisteva anche una in formato DIMM chiamata Optane Persistent Memory o PMem. Le capacità di questi moduli DIMM variavano da 128 GB a 512 GB per modulo. Tuttavia, nel 2021 Intel ha deciso di interrompere lo sviluppo di questa memoria e l'obiettivo si è concentrato sullo standard aperto Compute Express Link (CXL), che sembrava più promettente.
  • Samsung Z-SSD: L'azienda sudcoreana avrebbe anche creato un supporto di tipo SCM a bassa latenza, basato su una tecnologia diversa dalla precedente. In questo caso, è stata utilizzata una variante della V-NAND, denominata Z-NAND, organizzata in 48 strati di celle di memoria basate su transistor a gate flottante.
  • Unità di estensione della memoria Western Digital Ultrastar DC ME200: può essere utilizzato per espandere la memoria di sistema esistente, favorire il consolidamento dei server e ridurre la complessità della suddivisione di grandi set di dati multi-terabyte su più server. Si tratta di una soluzione SCM che AMD ha utilizzato per i suoi sistemi basati su EPYC per competere con la soluzione Intel.
  • Kioxia XL-Flash SCM: Questa azienda, precedentemente nota come Toshiba Memory, ha anche sviluppato una propria tecnologia SCM, nota come "this". Questi prodotti utilizzavano un fattore di forma simile a quello degli SSD, ma con l'intenzione di estenderlo al bus DRAM.
  • Tecnologie modulari intelligenti DuraMemory: Anche questa altra soluzione di memoria persistente in moduli è un altro esempio degno di nota, sebbene in questo caso sia progettata per l'industria e gli ambienti in cui sono necessarie robustezza e affidabilità in condizioni avverse.

Tutti questi sviluppi, tra gli altri, hanno reso molti grandi fornitori Le aziende IT, in particolare quelle che operano nel settore HPC, saranno interessate a questi prodotti e li includeranno nelle loro soluzioni. Alcuni esempi di utilizzo di SCM nei sistemi commerciali e aziendali includono:

  • Dell EMC: L'azienda statunitense ha annunciato che utilizzerà Intel Optane PMem per migliorare le prestazioni dei suoi sistemi PowerMax SAN.
  • Hewlett Packard Enterprise (HPE): farebbe anche un'incursione nell'SCM con soluzioni aziendali come Nimble Storage SAN, basate su Optane.
  • Hitachi Vantara: L'azienda giapponese ha inoltre offerto la sua Virtual Storage Platform 5000 Series, con la possibilità per gli utenti di utilizzare SCM, che funge da buffer o memoria cache.
  • Lenovo: Si prevede che il colosso cinese dell'informatica personale e dell'HPC annuncerà anche il supporto per Intel Optane per i suoi server ThinkSystem.
  • MemVergeFondata nel 2017, questa startup ha sviluppato un sistema noto come Memory Machine, che virtualizzava DRAM e Intel Optane per creare un supporto di archiviazione persistente ad alta capacità. L'idea era di utilizzare questi sistemi per snapshot, replicazione di server e altri scopi.
  • NetApp: ha progettato il software Memory Accelerated Data (Max Data). Questo progetto utilizza la tecnologia Pleexistor e supporta Intel Optane SCM.
  • Stoccaggio puro: L'idea alla base di questa azienda era quella di combinare la memoria flash NVMe e i moduli sviluppati da essa stessa e denominati DirectMemory, dando vita a quella che era commercialmente nota come FlashArray//X all-flash, utilizzando dispositivi Intel Optane a doppia porta.
  • StorOne: Simile al precedente, poiché All-Flash Array.next è un sistema che confeziona memoria Optane insieme a memoria Intel QLC 3D NAND, ed è gestito dal software S1.
  • Dati vasti: Quest'altra azienda ha creato un buffer di scrittura basato su SCM per accelerare i carichi di lavoro dell'intelligenza artificiale.

Il futuro dell'SCM

In breve, abbiamo assistito ad alcuni tentativi di tecnologie e prodotti che utilizzano una qualche forma di SCM, ma per un motivo o per l'altro non hanno ancora preso piede sul mercato. Sono ancora necessari sviluppi, così come la maturità di alcune delle tecnologie su cui si basano questi dispositivi. E, nonostante il pessimismo di molti, questo rapporto... potrebbe avere un futuro promettente.