SSD PCIe già vecchi, arrivano quelli MCS su banco memoria DIMM

Il settore dello storage sta vivendo da tempo una vera rivoluzione, grazie alle alternative offerte dalle soluzioni Solid State Drive nelle varie incarnazioni. La nascita di soluzioni “Solid State” in senso ampio avviene negli anni ’50 del secolo scorso, con applicazioni pratiche all’interno dei server a partire dagli anni ’70, sebbene in ambiti molto di nicchia e mirati a causa dei prezzi proibitivi e della tecnologia ancora grossolana e poco ottimizzata per i grandi volumi. Una premessa doverosa, per capire che il “fenomeno SSD” non è recente a livello concettuale.

Nel corso degli ultimi anni però sono cambiate molte cose, i processi produttivi hanno permesso di realizzare chip NAND Flash sempre più performanti, capienti ed economici, aprendo quindi scenari di mercato impensabili in precedenza. Se guardiamo al mondo consumer, per esempio, possiamo trovare ottimi SSD da 240-256GB a poco più di 100 Euro, ma tutto questo è frutto di evoluzione, affinamento dei processi produttivi e ottimizzazione delle economie di scala, con evidenti benefici anche per l’utenza casalinga.

In ambito server siamo un passo avanti: in questo settore il budget non è limitato come può esserlo quello consumer, così come le esigenze in termini di performance salgono enormemente. Appare quindi normale che nel settore server-enterprise si giochi una partita importante, mettendo sul campo le tecnologie più raffinate e le soluzioni che meglio si adattano al conseguimento degli obiettivi, soprattutto in termini prestazionali e di affidabilità. Qualche tempo fa, SanDisk aveva infatti anticipato quella che in casa propria chiama ULLtraDIMM SSD, tecnologia che prevede l’adozione di SSD sui banchi memoria.

Sempre nella news abbiamo citato anche IBM, che offre la stessa cosa ma con nome diverso (eXFlash DIMM) nelle serie System x3850 e x3950 X6. In questi giorni emergono alcuni dettagli in più, che permettono di chiarire meglio quello che potrebbe essere un trend dai grandi sviluppi futuri. Dietro a SanDisk, IBM e anche Supermicro, che offre la stessa su cosa su alcune linee, c’è infatti un’altra azienda, Diablo Techonologies, ideatrice della tecnologia MCS, acronimo di Memory Channel Storage. Vediamo con maggiore precisione di cosa si tratta.

Diablo Technologies, cerca di portare l’attenzione su un problema abbastanza ignorato anche nel settore enterprise, ovvero l’analisi dettagliata delle problematiche che possono insorgere in contesti di grande carico sugli SSD. Molte aziende che commercializzano soluzioni SSD PCIe mettono in grande evidenza i valori elevati di transfer rate e il numero massimo di IOPS raggiungibile; un fatto oggettivamente innegabile, consultando i siti dei principali nomi del settore.

Gli SSD PCIe però sono minati alla base da alcune problematiche che impediscono di superare colli di bottiglia, oltre ad essere affetti da un problema di scalabilità delle prestazioni al crescere del carico in termini di IOPS da gestire. Il problema non è solo di interfaccia ma anche di architettura. Cerchiamo di spiegarci meglio.

Molti degli SSD PCIe sfruttano chip di memoria MLC, che costano meno degli SLC e permettono di raggiungere prestazioni comunque elevate. Per ottimizzare le prestazioni,però, i chip MLC vanno continuamente gestiti istante per istante: Wear Leveling, Garbage Collection e Error Correction sono operazioni che gravano sul controller in ogni momento e al crescere del carico il controller stesso va in crisi, impedendo una crescita proporzionale delle prestazioni e “murando” oltre un certo limite. Ecco cosa intende Diablo Technologies per “problema di architettura”: un grosso ASIC (il controller), per quanto potente e ottimizzato, fa quel che può per gestire un grande numero di chip memoria in situazioni di forte carico, e tutto ciò non emerge certo nelle specifiche fornite dalle aziende, impegnate a dirci quanto vanno forte gli SSD PCIe in termini di MB o anche GB al secondo.

Con gli SSD PCIe SLC le cose vanno un po’ meglio, poiché questi chip richiedono molta meno gestione degli MLC. La conseguenza diretta, alla luce del discorso appena fatto, è che il controller (lo stesso) ha più margine per raggiungere prestazioni superiori, soprattutto in termini di latenza.

pcie_mlc_slc

Lo si vede ad esempio in questo grafico: le latenze di un SSD PCIe MLC si impennano già a 100000 IOPS, mentre lo stesso SSD ma con chip SLC e identico controller (non vengono indicati i modelli pecisi) va in crisi a 170000 IOPS. Una bella differenza, nell’ordine del 70%, che va ricercata esclusivamente nel minor lavoro che deve fare il controller. Ad accomunare queste soluzioni, però, è l’enorme carico sul controller in situazioni di grandi volumi di dati da gestire, uno scenario comunissimo in ambito server. Usare SSD PCIe SLC migliora la situazione, ma il problema rimane.

La soluzione Memory Channel Storage

Ecco quindi la soluzione ideata da Diablo Technologies: per esprimere tutto il potenziale delle soluzioni di archiviazione NAND Flash serve cambiare approccio e slegarsi dall’architettura appena descritta, che ha limiti anche nel caso vengano utilizzati 2 o 4 controller, visto che ognuno è chiamato a gestire molti chip. Come? Pensando a qualcosa di diverso, ovviamente, che va sotto il nome di MCS, acronimo di Memory Channel Storage.

mcs

Fisicamente i chip NAND Flash sono ospitati su banchi DIMM DDR3, in modo da inserirli nei comuni slot memoria, in grado di dialogare direttamente con il memory controller della CPU. Questo è nativamente pensato per gestire in parallelo un enorme flusso di dati su più canali; ogni modulo DIMM MCS, inoltre, è dotato di controller multipli (non più uno solo che fa tutto, quindi) in corrispondenza di ogni canale che va alla CPU,  elimimando i colli di bottiglia in termini di latenze, un fattore chiave in situazioni di workload elevato. La mole di dati da gestire è quindi divisa in sottogruppi controller-NAND flash, in grado di dialogare direttamente con il memory controller della CPU sfruttando per giunta più canali.

mcs_slc

3070

Le conseguenze dirette di questo nuovo approccio sono evidenti dai grafici riportati. Nel primo caso, uno scenario di lettura al 100%, le latenze di un SSD PCIe MLC si impennano a 0,5ms intorno ai 600000 IOPS, mentre con 8x ULLtraDIMM (ovvero il nome commerciale che SanDisk usa per la tecnologia MCS) lo scenario migliora sensibilmente, raggiungendo le stesse latenze a oltre 1000000 di IOPS. Nel secondo grafico viene riportato uno scenario real-life, che simula un ambiente virtualizzato di database transaction: in questo caso, un mix di letture e scritture, gli incrementi prestazionali in termini di latenza sono evidenti. IBM ha messo a disposizione un video in cui emergono alcune ripercussioni pratiche dell’utilizzo della tecnologia MCS, in cui se ne spiega anche il funzionamento. Di seguito il video.


Come abbiamo già detto in precedenza IBM usa il nome commerciale eXFlash DIMM per indicare MCS di Diablo Technologies; eXFlash DIMM viene indicata come soluzione ottimale per server database/cloud, Big Data/analytics, high-frequency trading e applicazioni finanziarie.

transactions

Un esempio è proprio quello delle transazioni finanziarie, in cui i secondi sono preziosi; un sistema che può contare sulla tecnologia MCS, messo a confronto con uno identico ma basato su SSD PCIe, garantisce più del doppio di transazioni al secondo e non certo in virtù dei MB al secondo, ma proprio delle latenze molto più basse permesse dal cambio di architettura.

latency

Un altro grafico mostra vantaggi sia in termini di IOPS totali che di latenze. A prescindere da tutto, è chiaro che ciò che abbiamo descritto in questo articolo è uno scenario che si fa avanti nel settore enterprise, utile in molti contesti e meno in altri. La pubblicazione di un PDF informativo ci ha offerto l’occasione per parlare più approfonditamente di alcune problematiche che possono insorgere nel complesso mondo degli SSD. Le situazioni di elevato carico sono molto difficili da emulare e, quand’anche fosse possibile tempo e risorse permettendo, sarebbero in grado di descrivere solo una piccola porzione degli scenari real-life. Diablo Technologies ci ha permesso di apprendere alcuni aspetti di questa interessante tecnologia, che potremmo ritrovarci magari fra qualche anno nei PC mainstream di fascia alta.

dimm
Ecco come si presenta un SSD MCS

Una cosa è certa: gli SSD stanno piano piano conquistando molti spazi all’interno del panorama storage, nelle sue mille sfaccettature. Dieci anni fa sarebbe stato impossibile ipotizzare che nel nostro PC potesse entrare un “mostro” da 550MB al secondo in lettura  e scrittura, in grado di offrirci 240GB di spazio a poco più di 100 Euro, eppure questo è realtà. Tecnologie apparentemente lontane e costose, oggi, potrebbero essere la realtà di domani.

Lascia un commento