DRAM negli SSD
Riccardo Buonaurio (@kaioshiin su Telegram)
Last updated
Riccardo Buonaurio (@kaioshiin su Telegram)
Last updated
Sono diversi gli aspetti che vanno tenuti in conto quando ci si cimenta nell'acquisto di un SSD e uno dei più importanti è fare un'adeguata analisi dell'hardware per evitare di acquistare prodotti inaffidabili e/o lenti. Alcune volte, però, si consiglia erroneamente un SSD solo perché dispone della DRAM e si sconsiglia quelli senza facendoli passare come se fossero a priori modelli scadenti; oggi, perciò, andremo a parlare a 360° di questo aspetto nel tentativo di fare un po' di chiarezza.
La memoria ad accesso casuale dinamica (DRAM) è un tipo di memoria volatile ad accesso randomico (RAM), quindi uno di quei tipi di memoria che perdono le informazioni in caso di assenza di corrente elettrica. Negli SSD viene utilizzata principalmente per la memorizzazione di metadati ("dato che descrive una qualche proprietà di un altro dato" ) e può essere usata come cache di scrittura/lettura o come cache per le pagine delle NAND flash per le quali l'accesso avviene più frequentemente. Tuttavia, la maggior parte della capacità della DRAM (espressa in MB/GB) viene usata per l'archiviazione della mappa dagli indirizzi logici a quelli fisici, mappa che viene anche chiamata "L2P".
La presenza di questo chip aumenta la durata del drive e le performance, soprattutto quelle sostenute (scrittura sequenziale) e quelle randomiche (uso di blocchi da 4kB) in quanto è in grado di avere un rapporto 1:1.000 con i dati/celle di memorie, dove 1 byte corrisponde a 1kB e, quindi, 4 byte (32-bit) a 4kB, la dimensione tipica dei cluster del sistema operativo (SO). Questo è anche il motivo per il quale per ogni TB di SSD abbiamo 1GB di DRAM, infatti 1TB di SSD ha 1GB di DRAM, 2TB di SSD ha 2GB di DRAM, ecc.
Come per la RAM del nostro computer esistono diverse generazioni di DRAM: DDR, DDR2, DDR3 e DDR4, con le ultime due le più comuni. Su un SSD possono essere presenti 1 o più chip DRAM a seconda della capacità del drive.
Quando un SSD è sprovvisto di DRAM si chiama "DRAM-less", quando la usa, invece, "DRAM-based". Un esempio di SSD DRAM-less è il Crucial P3 Plus, uno DRAM-based è l'SK hynix Platinum P41.
SRAM
Host memory buffer (HMB)
Dipende dal budget e dalle esigenze dell'utente. Se l'utente necessita di un buon SSD affidabile e performante per il proprio sistema operativo per garantire il massimo delle prestazioni anche nei carichi di lavoro più pesanti (come una scrittura intensiva di file di grandi dimensioni) è il caso di consigliare un modello che disponga di questa memoria, altrimenti si può benissimo consigliare drive DRAM-less che hanno un buon hardware e delle buone performance, come il Samsung 980 per citare un PCIe 3.0 e l'Ediloca EN870 per citare un PCIe 4.0. La DRAM è un plus negli SSD, vero, ma non è sempre di vitale importanza, e finché nei benchmark gli SSD dimostrano di avere un'alta velocità meritano di essere acquistati anche i DRAM-less con HMB.
Una cosa che raccomando è sicuramente non consigliare SSD DRAM-less che usano anche NAND QLC per il sistema operativo, in quel caso le performance e la durata scendono troppo per poter sostenere un uso primario.
Può capitare di leggere che un SSD venga considerato DRAM-based per la presenza di una piccola quantità di nel controller dell'SSD. Questa cosa è falsa, la SRAM è collegabile alla cache della CPU dei computer: un tipo di memoria costoso, velocissimo e in quantità molto piccole, meno di una decina di MB, oltretutto è presente in tutti i controller del mondo, che siano funzionanti con DRAM o meno. Quindi un SSD DRAM-based lo si può ritenere tale soltanto se è presente il chip DRAM fisico sul dell'SSD, nient'altro.
L'host memory buffer (HMB) è una tecnologia usata in tutti i più recenti SSD NVMe DRAM-less che permette al controller dell'SSD di appoggiarsi per una piccola porzione (solitamente di 32-64MB con limite massimo di 100MB su Windows) alla RAM del computer per la mappatura della mappa L2P in modo tale da far alzare le performance e ridurre la latenza, proprio come se ci fosse fisicamente la DRAM nell'SSD. È scontato dire che un SSD DRAM-less utilizzante tale tecnologia non sarà mai uguale ad un SSD DRAM-based con lo stesso hardware, ma come dimostrato in diversi studi il miglioramento rispetto a non utilizzarla c'è. Da notare che non esiste per gli SSD SATA e non è funzionante se l'SSD viene collegato al computer tramite USB.