16. Samsung TurboWrite & RAPID


TurboWrite e RAPID hanno una logica parzialmente simile, ma si appoggiano ad un diverso supporto hardware, essendo di fatto gestite da due differenti strati software.

Il sistema concettualmente alla base delle due soluzioni non rappresenta in effetti nulla di nuovo nel mondo dell'informatica e, allo stesso tempo, non lo è nemmeno al momento di esser applicato agli SSD: la considerazione che porta a questo assunto è che, eccezion fatta per un esiguo numero di controller, tutti gli SSD ne fanno da tempo ampio uso.

Nel caso delle due soluzioni adottate da Samsung, dapprima con gli 840 EVO ed ora con gli 850 EVO, si va a costituire due ulteriori livelli di cache che potremmo identificare in layer.


LAYER 1: Controller MGX --> Cache RAM       

Taglio SSD
120GB
250GB
500GB
1TB
Cache RAM
256MB
512MB
512MB
1GB


LAYER 2: Controller MGX --> TurboWrite

Taglio SSD
120GB250GB
500GB1TB
TurboWrite
3GB
3GB6GB
12GB


LAYER 3: Controller MGX --> RAPID

Allocazione dinamica della Cache basandosi sulla quantità di memoria RAM di sistema non allocata.


Ebbene sì, stiamo parlando della cache, ovvero di quella soluzione da sempre utilizzata nei dispositivi digitali di memorizzazione dei dati allo scopo di accelerarne le attività transazionali, sfruttata come buffer di appoggio nella veicolazione dei dati.

Gli SSD, così come gli Hard Disk e buona parte degli altri dispositivi informatici che trasmettono e memorizzano dati, si avvantaggiano durante il loro trasferimento di un quantitativo di memoria che, nella maggior parte dei casi, è costituito da un economico chip "mutuato" dal mondo delle memorie DRAM.

Scendendo più in profondità, si può affermare come ciascuna delle due nuove soluzioni introdotte da Samsung con gli 840 EVO ed ora riproposte anche sugli 850 EVO va, in buona sostanza, a costituire un distinto livello di cache aggiuntivo, così che potrebbero esser definiti entrambi come due nuovi e differenti layer, o strati, dove appoggiare temporaneamente i dati trattati.

Le scritture sulle unità SSD della serie EVO vengono gestite in maniera diretta dal controller MGX attraverso il microcodice presente nel firmware dell'unità.

Sulla base di una delle caratteristiche sviluppate ed utilizzate internamente al nuovo MGX, ovvero la tecnologia TurboWrite, le unità EVO riescono a trarre  beneficio, tramite un approccio decisamente innovativo, su di una atipica modalità operativa delle 3D V-NAND TLC.

Una ben definita area delle celle presenti sul PCB, che varia nella dimensione a seconda del taglio in GB dell'unità, è stata infatti congegnata in modo completamente differente dalle caratteristiche funzionali tipiche delle Triple Level Cell.

Di fatto, la porzione di memoria sfruttata da questa tecnologia viene utilizzata in maniera tale da emulare le funzionalità proprie delle NAND di tipo SLC.

Questa circostanza sta a significare, senza entrare troppo nel dettaglio, che per la finalizzazione della scrittura del dato (sostanzialmente il bit da memorizzare nella singola cella) viene utilizzato solo uno dei tre gate flottanti (floating gate) tipici delle TLC.

Tramite questo espediente, gli ingegneri Samsung sono di conseguenza riusciti ad utilizzare solo una coppia di livelli di tensione (alto e basso), quella tipica delle SLC, in modo tale da velocizzare sensibilmente tutte le operazioni di scrittura in questa area.

Sarà di contro inevitabile, allo stesso tempo, l'implicazione negativa della perdita di ben i 2/3 del quantitativo di memorizzazione utilizzata alla fonte.

In concreto, prendendo ad esempio il modello da 120GB, il TurboWrite andrà ad interagire con un'area originaria di NAND TLC di capacità complessiva di 9GB e tipicamente accreditata fino ad un massimo di 3000/5000 cicli di scrittura.

Passando al modello EVO di maggior capacità, quello da 1TB, la capacità complessiva della porzione di 3D V-NAND TLC utilizzate dal Turbo Write sarà di 36GB.

Quest'area, una volta utilizzata in "stretta modalità SLC", vedrà da una parte aumentare il numero massimo di cicli di scrittura sino a circa 100000 e, dall'altra, ridurre la propria capacita ad un terzo.

Ne consegue, in misura diretta, sempre in riferimento al modello da 120GB preso in esame, che tramite il TurboWrite si andranno a perdere 6GB (della quantità dei 9GB iniziali) e quindi a costituire una cache di soli 3GB complessivi.

Nel caso del modello da 1TB verranno utilizzati come cache solo 12GB dei 36GB iniziali e si andranno a perdere ben 24GB per favorire la tecnologia TurboWrite.

Il risultato prefissato dagli ingegneri Samsung sarà, quindi, che questa parzialmente limitata capacità di memoria potrà però, in qualche modo, godere appieno delle proprietà delle più performanti e durevoli NAND SLC.

La logica con la quale viene gestita l'allocazione dinamica di questo particolare spazio di memorizzazione è definita dalla modalità FiFo: pertanto, man mano che il controller gestisce in prima battuta le richieste di operazioni di scrittura provenienti dal sistema operativo andrà a riempire, di pari passo, la porzione di 3D V-NAND Flash a disposizione del TurboWrite.

Se l'area "emulata SLC" non sarà completamente riempita entro un singolo flusso di scrittura, solo in seguito lo stesso controller provvederà a distribuirne i dati sulla restante area di memoria, quella identificata come "standard".

Più precisamente, l'operazione di "flushing" (svuotamento) avverrà a partire dai dati cronologicamente più vecchi, via via sino allo spostamento di quelli più recenti, attraverso i soliti ed efficienti algoritmi di wear leveling.

L'intervallo di tempo maggiormente utile per effettuare lo spostamento dei dati nel modo più indolore possibile, dal punto di vista della efficienza prestazionale, è stato individuato dagli ingegneri Samsung durante il successivo arco temporale in cui l'unità SSD si manterrà nello stato "idle", non impegnata da ulteriori richieste del sistema operativo.

A questo punto, dopo una rapida panoramica, si possono conseguire tre dirette implicazioni.

La prima, positiva, indica che la massima velocità istantanea di scrittura risultante sarà, grazie al TurboWrite, decisamente superiore rispetto a quella che la pura tecnologia TLC riesca al momento a permettere.

La seconda, potenzialmente negativa, denota come tale fattore di guadagno potrà anche mostrarsi variabile nelle singole circostanze, in quanto direttamente dipendente dal totale dei dati da scrivere sull'unità (provenienti dal sistema operativo) e quantificabili nel singolo spazio temporale tra due "idle" consecutivi dell'unità.

Più in particolare, qualora il flusso dei dati tra due successive richieste di scrittura si dovesse mantenere costante e superare il quantitativo di memoria "emulata SLC" dell'unità, la percentuale di guadagno comincerebbe facilmente a diminuire, sfavorita dalle continue attività di svuotamento, non efficientemente previsto, della cache.

Queste circostanze sono in pratica sintetizzabili nell'andamento non ottimale che è stato riscontrato nei risultati delle velocità medie di scrittura nei nostri Test Endurance Top Speed.

In caso contrario, quando i blocchi dei dati da scrivere rientrassero nel quantitativo della cache TurboWrite e, soprattutto, quando i flussi delle richieste di scrittura non arrivassero ad essere particolarmente incessanti per un lasso di tempo prolungato, il target di guadagno prefissato dagli ingegneri Samsung per questa tecnologia, giungerebbe ad essere realmente vincente.

La terza implicazione, solo potenzialmente positiva per gli utilizzatori di questo dispositivo, appare strettamente legata alle differenti tipologie delle scritture interessate.

Qualora dovessero essere esclusivamente di tipo sequenziale, queste soddisferebbero appieno gli alti obiettivi della tecnologia TurboWrite.

Pur tuttavia, dati e congruenze alla mano, sarebbe singolarmente da verificare la percentuale di eventuale guadagno raggiunto nell'ambito della scrittura di dati nelle code più brevi QD1 della modalità 4K, come evidenziato nei rispettivi test IOMeter Sequential Write ed in maniera meno accentuata nei Random 4K Write QD3, rispetto ai migliori SSD di pari classe in commercio.

Queste modalità, come i risultati degli studi e le statistiche ci indicano, certamente rappresentano gli scenari più ricorrenti nell'uso tipico (non votato particolarmente al multimediale) dei sistemi operativi come quelli Microsoft, a partire da Windows XP per concludere con Windows 8.1.


Performance in scrittura con e senza il TurboWrite

Samsung 850 EVO
Capacità
 120GB250GB
500GB
 1TB
Sequential Write senza TurboWrite
150 MB/s
300 MB/s
500 MB/s
520 MB/s
Sequential Write con TurboWrite
520 MB/s
520 MB/s
520 MB/s
520 MB/s
4kB Random Write QD 32 senza TurboWrite
38.000 IOPS
70.000 IOPS
80.000 IOPS
80.000 IOPS
4kB Random Write QD 32 con TurboWrite
88.000 IOPS
88.000 IOPS
90.000 IOPS
90.000 IOPS


La modalità RAPID (Real-time Accelerated Processing of I/O Data), invece, si frappone tra SSD e Sistema Operativo andando ad ottimizzare le performance in scrittura e ad accelerare le prestazioni in lettura.

Quest'ultimo layer è una soluzione al 100% gestita via software dal Samsung Magician, che a partire dalla versione 4.4 offre un algoritmo migliorato per la gestione dei dati ed una maggiore quantità di RAM sfruttabile da tale funzionalità (4GB).

Analizzando il sistema più da vicino, sono due i parametri da identificare, ovvero dove vengono memorizzati i dati e come viene scelto il dato da "accelerare".

Attivando la funzionalità RAPID viene allocata dinamicamente una porzione della memoria di sistema creando una sorta di RAM Disk.

Questa è una soluzione avanzata che gli utenti più "skillati" hanno da tempo iniziato ad utilizzare, in buona parte per scongiurare scritture sulla superficie degli SSD, che sappiamo avere un numero purtroppo limitato di cicli disponibili.

La più grande novità che introduce il sistema RAPID, infatti, è l'utilizzo di questo buffer sulle nostre memorie DDR, non solo come spazio dove memorizzare file temporanei, ma come storage virtuale dove far transitare tutte le scritture.

Tale espediente permette di ottimizzare la scrittura su un SSD andando a ridurre il numero di dati effettivi che lo andranno ad occupare.

Utilizzando algoritmi sempre più diffusi anche in ambito Enterprise, il RAPID riesce a determinare quale sia la "Hot Data" e a fare un Prefetching dei dati, permettendo di avere ad ogni avvio del sistema una porzione di dati ad altissime prestazioni già precaricata nel buffer.

Naturalmente, negli utilizzi che vanno oltre le capacità del RAPID e su accessi a dati che non sono mai stati identificati come Hot Data, le ottimizzazioni in lettura non avranno alcun effetto.