lunedì 29 dicembre 2014

La tecnologia Flash/SSD: uno sguardo da più vicino.

Perchè questa tecnologia è "disruptive" ? 

La tecnologia Flash/SSD sta guadagnando rapidamente consensi e quote di mercato nel panorama IT. Ne consegue che un sempre maggior numero di vendors propone queste soluzioni, ma con architetture e “media” ben differenti.
Se per quanto riguarda l' architettura migliore per un All-Flash-Array rimando alla lettura di altri posts (è sufficiente inserire XtremIO nel nostro motore di ricerca), per quanto riguarda i tipi di Flash media cercherò di dare qualche elemento in più di valutazione per dimostrare in sintesi che non tutti sono equivalenti o adatti a qualsiasi tipo di use-case.
Nella slide sottostante riassumiamo i pro/contro della tecnologia "consolidata" e di quella "emergente" per evidenziare perchè la seconda sta trasformando questo settore.
Una facile conclusione sarebbe “Non c’e storia!”, per lo meno se i costi fossero comparabili.
Oltre all’aspetto economico (ampiamente indirizzabile con tecnologie di efficienza quali deduplica o compressione) va considerato un altro fattore, forse meno noto: a differenza degli HDD, le prestazioni dei Flash degradano nel corso del tempo (anche nel lasso di poche ore), soprattutto con un workload con distribuzione bilanciata
di letture e scritture, ma sempre in modo differente in funzione della tipologia di flash (SLC, MLC, TLC, etc..) come illustrato nella figura seguente (test effettuati da SNIA).

Qualsiasi sia la tipologia di SSD passerà per tre fasi sequenziali:
  1. FOB (Fresh Out-of-the Box): quando il “disco” è vergine, completamente vuoto e quindi in assenza totale di processi Garbage Collection (GC), performa in modo straordinario.
  2. Transition: la fase di “assestamento”
  3. Steady State: a regime, con GC attiva, “la vera velocità di crociera”
Questo è uno dei motivi fondamentali per cui un confronto prestazionale tra storage o singole unità SSD deve essere condotto con una metodologia ben precisa di "pre-conditioning", che consenta di confrontare tutti nel terzo stadio, quello più realistico. Anche qui rimando a post già presenti sul BLOG per eventuali approfondimenti.

Non tutti i Flash/SSD sono uguali:

Un altro mito da sfatare è quello della “durata infinita” dello storage SSD rispetto al suo predecessore HDD.
Serve una precisazione: l’unità SSD/Flash essendo priva di parti meccaniche ha una minore probabilità di guasti (i tecnici direbbero "MTBF - Mean Time Between Failure") ma ha un numero limitato di scritture (“cicli di program/erase”) dopo le quali il media diventa inutilizzabile, come un qualsiasi altro oggetto “consumabile”.

Di seguito riportiamo uno schema che riassume le caratteristiche dei media SSD:
In alto a destra, le unità SLC rappresentano il media flash più pregiato (e costoso) dove ogni singola cella memorizza un solo bit di informazione. Questo si traduce in una minore capacità, ma maggiori performance e durata in virtù di una semplificazione elettrica del meccanismo di memorizzazione/lettura della singola cella.
EMC utilizza questa tecnologia per alcune schede PCI dove il fattore latenza è determinante, oppure per la funzionalità di FASTcache della famiglia VNX.

MLC o cMLC è la tecnologia presente nei prodotti consumer, dove ogni cella memorizza 2 bit di informazione. Ne consegue una maggiore capacità, ma prestazioni e durata inferiori, di ordini di grandezza rispetto al SLC.
La tecnologia eMLC (Enterprise MLC) è il giusto compromesso tra costo/densità e durata ed EMC utilizza questi media per la quasi totalità delle sue soluzioni.

Infine abbiamo i TLC: triple level cell (3 bit per ogni cella), è la tecnologia a maggiore densità e peggiore durata/performance molto specifica per use case di puro "read-only"  e al momento non è presente nelle soluzioni enterprise dei principali fornitori.
Per dare un' idea del significato dei valori sopra citati, teniamo presente che un’ unità cMLC che ha una specifica di 3000 write cycles, sarà esaurita con una media  inferiore a 3 scritture al giorno, considerando un tempo di esercizio minimo di tre anni. Queste tre operazioni di scrittura devono prendere in considerazione non solo quelle richieste a livello applicativo, ma anche tutte quelle “indotte” nel back-end dall’architettura del array: ad esempio un algoritmo  di protezione RAID6/RAID5, piuttosto che meccanismi di snapshot/clone, o una garbage collection non efficace diventano fattori di moltiplicazione delle scritture sul media che possono ridurre la durata a questione di mesi.
Il problema dell'aspettativa di vita del modulo SSD è quindi sia di natura economica che di rischio di perdita del dato. Si pensi ad esempio al caso in cui più unità raggiungano il livello di "saturazione delle scritture" in un lasso di tempo ristretto, senza consentire al sistema di ripristinare la protezione del dato.

Nel caso di un eMLC il numero di "writes" giornaliere medie sale da 3 a 30.
In aggiunta questa tipologia di celle utilizza delle tecniche per estendere ulteriormente il "lifespan" come ad esempio l' overprovisioning del 25-30%. I "dischi" eMLC da 400GB in realtà hanno una capacità di 512GB dove questo 28% di spazio extra (non visibile ai sistemi ed alle applicazioni) viene utilizzato dietro le quinte sia per "distribuire in modo uniforme la saturazione delle celle che per facilitare il processo di Garbage Collection.
Per questo motivo SSD con capacità da 128GB, 256GB, 512GB sono tipicamente MLC di classe consumer, mentre tagli da 100GB, 200GB, 400GB, 800GB sono indicativi di eMLC o MLC di classe Enterprise.
Alcuni vendors sostengono che i cMLC essendo la base per il mercato consumer siano più affidabili dei parenti eMLC in quanto prodotti su più larga scala e con processi produttivi più "affinati".
Ammesso che questo possa essere dimostrato, il mio punto di vista è che la metrica significativa per valutare questa tecnologia non sia tanto l'affidabilità della tecnologia (il valore di MTBF) che è comunque per qualsiasi Flash è di gran lunga superiore agli HDD, ma la disponibilità di cicli write, ovvero DWPD - drive writes per day.

Il mondo dei Flash/SSW sta cambiando radicalmente il panorama storage, ma anche in questa rivoluzione serve porre attenzione ai differenti use cases perchè le caratteristiche sono variegate.
Se da un lato uno degli slogan di EMC è "Flash Everywhere", dall'altro esiste un posizionamento ben preciso per distinte esigenze applicative e le roadmap delle soluzioni (come  l'acquisizione di DSSD) prevedono una sempre maggiore specializzazione. 



Cristian Gavazzeni
Advisory System Engineer

Nessun commento:

Posta un commento