4. LSI SandForce Firmware 5.0.1 & Overprovisioning

 

Arrivati questo punto alcuni di voi si domanderanno qual'è il nesso tra le precisazioni svolte nella pagina precedente ed il contesto dello spazio di Overprovisioning.

Il termine Overprovisioning è legato al controller LSI SandForce ed è parte integrante nella sua logica di funzionamento.

I produttori di SSD hanno sempre giocato tra capienza in gibibyte binario e gigabyte decimale, e questa ambiguità ha sempre creato molta confusione sull’argomento; ma ciò che è certo, è che chi ne ha fatto le spese sono stati gli utenti finali che si sono ritrovati con prodotti di dimensioni diverse da quanto realmente ipotizzato al momento dell'acquistato.

Questa confusione nasce dal fatto che i chip NAND Flash utilizzati per la costruzione degli SSD sono memorie di massa e la loro capacità è calcolata in GiB con valore di grandezza binaria di 2^30.

L’esempio che prenderemo come riferimento ci è offerto dal drive oggetto della nostra recensione grazie alle NAND Flash utilizzate.

L’ADATA XPG SX910 256GB utilizza chip di memoria aventi una densità pari a 128Gbit (16GiB o, più convenientemente, 16GB).

La spazio di memorizzazione di ogni chip è quindi di 16GiB che corrispondono al valore di 17.179.869.184 bytes.

Moltiplicando il valore in bytes di ogni NAND Flash per i 16 chip utilizzati, si giunge a determinare che la capacità complessiva dell’unità arriva a 274.877.906.944 bytes.

Questi 274.877.906.944 bytes totali non corrispondono certo ai 256.058.060.800 bytes disponibili in Windows per la formattazione, ma allora dove sono finiti i 18.819.846.144 bytes di spazio mancante nel drive?

Tale capacità “mancante”, o per meglio dire “nascosta", viene di fatto utilizzata dal controller come quantità di spazio da dedicare alle proprie funzionalità di Overprovisioning.

La dimensione dello spazio di Overprovisioning valutata come necessaria in fase di progettazione, determina sostanzialmente il numero di blocchi di memoria che verranno messi a disposizione del controller come riserva per le proprie funzioni avanzate di Garbage Collection.

La famiglia di controller LSI SandForce SF-2000 si compone di quattro modelli distinti per ogni settore di pertinenza: Cloud Computing con la serie SF-2300, Enterprise con la serie SF-2500, Industrial con le unità SF-2300 e Client con i modelli SF-2200 SF-2100.

Ogni versione del controller differisce dalle altre esclusivamente per la complessità del firmware utilizzato e per le caratteristiche attive offerte al drive.

Un Drive allo Stato Solido dedicato al settore Enterprise avrà carichi di lavoro e impieghi completamente diversi da quelli di un drive dedicato al Cloud Computing: sempre per la stessa serie di motivazioni, il controller sarà provvisto di funzioni specifiche per il settore a cui dovrà essere dedicato.

Carichi di lavoro più gravosi necessitano, in genere, di un maggior spazio di riserva, proprio per il presupposto che le attività di Garbage Collection dovranno esser senz’altro molto più consistenti nel ripristino delle prestazioni.

Queste circostanze potranno verificarsi a causa dell’elevato numero di scritture a cui dovranno essere sottoposti questi drive, così che l’algoritmo di Garbage Collection potrà adattarsi in modo più o meno aggressivo, proprio in base alla quantità di spazio di riserva disponibile nel drive allo stato solido.

Un maggior quantitativo di spazio di riserva permetterà così all'unità allo stato solido di operare in completa sicurezza fino al termine della vita operativa per cui è stata originariamente progettata.

La percentuale di spazio reso disponibile all'Overprovisioning segue precise regole che devono tenere conto della capacità dell'unità SSD, del numero di scritture a cui è sottoposta e quindi anche dell’aggressività dell'algoritmo di Garbage Collection utilizzato allo scopo.

Un valore elevato di Overprovisioning permette anche di ridurre la percentuale di scritture nelle celle di memoria (Write Amplification) dilatando, di fatto, il lasso di tempo di attivazione della cancellazione di un medesimo blocco da parte della Garbage Collection interna.

Se vogliamo pensare, infine, all'Overprovisioning in modo estremamente semplice, possiamo affermare che per il drive si tratta della possibilità di avere a disposizione una scorta di NAND Flash da utilizzare come riserva, tramite le quali rimpiazzare quelle celle giunte, nel tempo, alla fine del proprio ciclo di vita funzionale.

LSI SandForce ha sempre ripartito lo spazio di Overprovisioning riservandone la disponibilità di un quantitativo maggior per gli SSD destinati al settore Enterprise, prevedendone uno sensibilmente inferiore per gli SSD dedicati al mercato Client.

 

ADATA XPG SX910 256GB 4. LSI SandForce Firmware 5.0.1 & Overprovisioning 1

 

L’immagine di cui sopra mostra come la dimensione totale di spazio disponibile dello stesso drive LSI SandForce possa variare in base alla percentuale di Overprovisioning dedicata.

 

Novità introdotte nel nuovo Firmware 

LSI Sandforce ha recentemente reso disponibile il firmware 5.0.1 che permette, negli SSD dedicati al settore Client, di utilizzare l’intera mappatura delle celle di memoria.

Il nuovo Firmware ha portato all’eliminazione di alcune funzioni aggiuntive e alla riorganizzazione dello spazio libero per offrire il massimo delle celle disponibili per l’operatività del controller.

Per comprendere meglio quanto esposto, vi rimandiamo alla successiva immagine dove verrà analizzata la dimensione della quantità di spazio di riserva in byte.

 

ADATA XPG SX910 256GB 4. LSI SandForce Firmware 5.0.1 & Overprovisioning 2

 

Le immagini soprastanti mostrano la capacita dello spazio di Overprovisioning in rapporto alla percentuale di occupazione.

E’ possibile facilmente notare come la sua dimensione varia in maniera abnorme, giungendo fino alla dimensione di 74GB nei dischi dedicati al settore Enterprise.

Lo spazio di riserva nelle unità equipaggiate da controller SandForce è in parte condiviso con le funzionalità RAISE, dove queste ultime risultino previste ed attive.

La tecnologia LSI SandForce RAISE “Redundant Array of Indipendent Silicon Elements” si occupa, fondamentalmente, di preservare l’integrità dei file memorizzati durante l’intera vita operativa del drive.

Il suo funzionamento è decisamente semplice ed è in grado di gestire la classificazione dei dati in modo molto simile a quanto già utilizzato in un sistema con dischi convenzionali in configurazione RAID 5.

Il controller usa 1 bit di parità nella matrice di ogni dato memorizzato che risulta diviso su più celle di memoria: in caso di un errore in un singolo blocco, il controller potrà ricostruire la sua integrità in maniera davvero molto semplice ed immediata, ovvero andandolo a recuperare direttamente dal blocco di riserva.

L’algoritmo è strutturato in maniera talmente efficace che permette di recuperare, oltre ai singoli blocchi, anche intere pagine di memoria senza che questa circostanza comporti il minimo problema o perdita prestazionale da parte del controller.

L’accuratezza della tecnologia RAISE necessita però, a livello funzionale, di uno spazio adeguato per poter operare correttamente nelle modalità descritte: è facile intuire come la grandezza di tale spazio sia direttamente correlata al numero di NAND Flash presenti sull'unità.

Al fine di giungere alla corretta ricostruzione delle informazioni nelle rimanenti celle libere, la tecnologia di sicurezza RAISE arriva ad occupare, in un SSD come l’ADATA XPG SX910, il quantitativo di 16 Gib di capacità per poter contenere tutti i bit di parità all’uopo necessari.

 

ADATA XPG SX910 256GB 4. LSI SandForce Firmware 5.0.1 & Overprovisioning 3

 

Nell'immagine in alto possiamo come sia suddiviso lo spazio di riserva tra Overprovisioning e funzionalità RAISE.


ADATA XPG SX910 256GB 4. LSI SandForce Firmware 5.0.1 & Overprovisioning 4

 

Il nuovo firmware ha permesso di migliorare la gestione dello spazio di riserva disabilitando la tecnologia RAISE tramite una strategia che ha portato all’allocazione delle celle, che prima risultavano condivise, in una modalità ora divenuta dedicata ed in via esclusiva appannaggio della funzione interna di Garbage Collection, potendole utilizzare quindi come solo spazio di Overprovisioning.

Le novità introdotte hanno sostanzialmente portato al cambiamento di alcune precedenti caratteristiche del controller per poterne migliorare altre: tramite i nostri test verificheremo se il lavoro svolto da LSI SandForce si riveli valido fin da subito o se necessiti ancora di ulteriori affinamenti.

 

Fonti: Kent Smith, IEC, LSI SandForce, Toshiba, SI unit, Western Digital, Solid States Drives Analysis, Flash Memory Summit.