Vantaggi dell'Over-Provisioning (OP)

Vantaggi apportati dall’OP alle prestazioni dei drive SSD

Ogni matrice di memoria NAND Flash è costituita da blocchi multipli, che a loro volta contengono molteplici pagine.

La memoria NAND Flash può essere letta e scritta a livello di singole pagine, ma può essere cancellata solo a livello di intero blocco.

Se una singola pagina deve essere modificata o cancellata da una pagina precedentemente programmata all'interno di un blocco, l'intero blocco composto da pagine multiple dovrà prima essere letto mediante una memoria temporanea e successivamente cancellato, prima di poter programmare i nuovi contenuti nel medesimo indirizzo di allocazione di tale blocco.

L'unico scenario in cui una pagina può essere scritta direttamente all'interno di un blocco di memoria NAND Flash, senza dover ricorrere a questa tediosa procedura di lettura-modifica-scrittura, si verifica quando la pagina è già vuota.

Mantenere grandi quantità di blocchi vuoti e riservati mediante l'over-provisioning contribuisce a garantire la continuità delle prestazioni, specialmente in scenari caratterizzati dalla presenza di scritture casuali che richiedono la massima amplificazione in scrittura (WAF).{{Footnote.N52105}}

Vantaggi apportati dall’OP alla resistenza dei drive SSD

Per comprendere le ragioni per cui gli SSD richiedono l'over-provisioning, e quali sono i vantaggi per il controller di un drive SSD, è necessario approfondire la conoscenza dei principi di funzionamento tipici degli SSD e dei limiti che caratterizzano le memorie NAND Flash non volatili.

Ogni cella di memoria NAND Flash ha un ciclo di vita limitato, basato sul numero di cicli di programmazione e cancellazione (P/E) definito durante il processo di produzione dal produttore della memoria NAND Flash, in quanto ogni funzione di programmazione o cancellazione eseguita su una cella NAND Flash, riduce la capacità della cella di preservare una carica elettrica, con conseguenti rischi per l'integrità dei dati.

Tuttavia, a seguito della progressiva migrazione della geometria NAND dal 2D al 3D, si registrerà un aumento della resistenza della memoria NAND e un incremento delle densità della matrice a fronte di una riduzione dei costi di produzione, il che renderà i drive SSD molto più accessibili.

Riassumendo, i tre principali fattori che influenzano la durata di un disco SSD sono:
  • Durata in termini di cicli di programmazione/cancellazione della memoria NAND Flash e complessità di geometria in termini di lettura/programmazione/cancellazione (per geometria in questo caso deve intendersi tecnologia di produzione bi-dimensionale o tri-dimensionale).
  • Capacità unità SSD
  • Capacità ed efficienza dell'FSP (garbage collection, fattore di amplificazione in scrittura, gestione dei blocchi, livellamento dell'usura, codice di correzione degli errori)

Mantenimento di prestazioni e durata mediante l’Over-Provisioning (OP)

Per prevenire gli scenari in cui la capacità del drive SSD viene saturata con pagine non valide, la partizione di over-provisioning viene utilizzata dalla funzione di garbage collection del controller SSD come area di lavoro temporanea per la gestione dei merge pianificati delle pagine valide e per il recupero dei blocchi riempiti con pagine non valide (o eliminate).

Le pagine/blocchi recuperati vengono successivamente aggiunti alla capacità di over-provisioning, per consentire l'esecuzione delle operazioni in scrittura generate dal controller SSD e massimizzare le prestazioni durante l'esecuzione di operazioni che prevedono picchi di carico massimo elevati, in quanto l'impatto sulle prestazioni determinato dall'esecuzione di letture, cancellazioni, modifiche e scritture di tutte le pagine valide su un blocco già parzialmente pieno di pagine non valide può essere notevole.

La funzione di garbage collection opera in modo indipendente rispetto al sistema operativo e viene automaticamente attivata durante i periodi di ridotta attività, su base periodica, oppure inviando l'apposito comando TRIM di gestione del set di dati ATA per programmare un’attività di garbage collection.

La disponibilità permanente di un certo numero di blocchi vuoti, grazie alla capacità di over-provisioning, contribuisce a garantire l'efficacia dei processi di livellamento dell'usura della memoria NAND Flash, in quanto il controller SSD redistribuisce le operazioni in modo intelligente e uniforme su tutte le celle della memoria NAND Flash, senza influenzare le prestazioni complessive del drive SSD in condizioni di carico massimo.

Inoltre, il comando TRIM di gestione del set di dati ATA può contribuire allo spazio disponibile sul drive SSD, liberando lo spazio occupato da pagine non valide e la capacità di storage utente inutilizzata.

Capacità del drive formattatoDimensioni dell’over-provisioningi banda per letture/scritture sequenzialiIOPS casuali in lettura/scrittura Steady-State 4kTBW (JEDEC Enterprise{{Footnote.N52105}})DWPD{{Footnote.N37134}}
480GB (DC500R) 7% 550/500MB/s 98,000/12,000 IOPS 438 0.5
480GB (DC500M) 32% 555/520MB/s 98,000/58,000 IOPS 1139 1.3
960GB (DC500R) 7% 555/520MB/s 98,000/20,000 IOPS 876 0.5
960GB (DC500M) 32% 555/520MB/s 98,000/70,000 IOPS 2278 1.3
1920GB (DC500R) 7% 555/520MB/s 98,000/24,000 IOPS 1752 0.5
1920GB (DC500M) 32% 555/520MB/s 98,000/75,000 IOPS 4555 1.3
3840GB (DC500R) 7% 555/520MB/s  98,000/28,000 IOPS  3504  0.5
3840GB (DC500M)  32% 555/520MB/s  98,000/75,000 IOPS 9110  1.3
over-provisioning in base alla capacità e alla classe di applicazione

Per comprendere gli effetti dell’over-provisioning, prenderemo ad esempio un drive SSD di Kingston della gamma Enterprise, il drive DC500R. La capacità di questi drive può arrivare fino a 3,84TB ed è possibile gestire l’over-provisioning tramite l’applicazione Kingston SSD Manager (KSM). Intervenendo sulla dimensione dell’OP, possiamo notare gli effetti che si ottengono sulle prestazioni e sulla resistenza, quando si imposta un valore uguale o superiore al 7% di OP.

Dal confronto delle diverse coppie di capacità possiamo notare che:
  1. I drive con maggiore capacità (minor OP) in ciascuna coppia riescono a mantenere le velocità di trasferimento invariate (ampiezza di banda), ma i valori IOPS di scritture casuali risultano significativamente ridotti. Da ciò si evince che i drive con ridotto OP mantengono ottime prestazioni nelle applicazioni caratterizzate da intensa attività di lettura, ma potrebbero risultare meno performanti nelle applicazioni caratterizzate da intensa attività di scrittura se confrontati con drive aventi un valore di OP del 32%.
  2. Un valore di over-provisioning ridotto comporta inoltre che i Byte totali scritti (TBW) in Terabyte su ciascun drive risulteranno minori. A una maggiore percentuale di OP corrisponderà una maggiore durata della vita operativa del drive SSD. Un drive DC500R da 960GB può ospitare fino a 876TB di dati scritti, laddove un drive DC500R da 800GB può raggiungere gli 860TBW. I valori di TBW sono ricavati da Kingston usando come riferimento i carichi di lavoro JEDEC{{Footnote.N52105}}.
  3. Rapportando i valori TBW alle scritture su drive per giorno (DWPD) lungo tutto l’arco di durata della garanzia, possiamo notare che i drive che adottano il 32% di OP raggiungono quasi il doppio della quantità di scritture al giorno. Ecco perché si consiglia di adottare il 32% come valore di OP per le applicazioni caratterizzate da un intenso carico di scrittura.