Per evitare scenari in cui la memoria di un SSD viene saturata con file non validi, la garbage collection del controller SSD utilizza l'over-provisioning (OP) come passaggio intermedio. In quest'area di lavoro temporanea, si effettua il merge delle pagine valide, mentre i blocchi riempiti con pagine non valide (o eliminate) vengono rigenerati.
Tutti i file/blocchi rigenerati vengono quindi aggiunti alla memoria di over-provisioning per consentire le operazioni di scrittura dal controller SSD e massimizzare le performance durante i picchi di carico. In caso contrario le operazioni di lettura, cancellazione, modifica e scrittura dei blocchi pieni di pagine non valide potrebbero avere un ripercuotersi sulle performance.
La garbage collection opera in maniera indipendente rispetto al sistema operativo e viene attivata automaticamente durante i periodi di attività ridotta. Ciò viene fatto a intervalli regolari o attivando il corrispondente comando ATA Data Set Management TRIM per programmare l'attività di garbage collection.
La disponibilità costante di blocchi vuoti con capacità di over-provisioning supporta in maniera efficace il processo di livellamento dell'usura della memoria NAND flash, in quanto il controller SSD distribuisce in modo intelligente e uniforme le operazioni di scrittura tra le celle della memoria NAND flash, senza influenzare le performance generali del disco SSD, anche in caso di picchi di carico.
Inoltre, il comando ATA Data Set Management TRIM può rendere disponibile una maggiore quantità di spazio per il disco SSD, eliminando le pagine non valide e liberando la capacità storage non utilizzata.
Per comprendere meglio il funzionamento dell'OP, osserveremo più da vicino i Kingston Enterprise SSD, in particolare il DC400 SSD. Questi SSD possono arrivare a una capacità di 1,8 TB e gli utenti possono personalizzare la funzionalità di over-provisioning con Kingston SSD Manager. Regolando le dimensioni dell'OP, gli effetti sulle performance e sulla durata si raggiungono quando si imposta un valore di OP pari o superiore al 7%.
Capacità del disco formattato |
Dimensioni over-provisioning (OP) |
Larghezza di banda per letture/scritture sequenziali (MB/s) |
IOPS casuali in lettura/scrittura costanti a 4K |
TBW (JEDEC Enterprise [1]) |
DWPD[2] |
400 GB |
28% OP |
555/535 |
85K / 35K |
422 TB |
0,57 |
480 GB |
7% OP |
555/535 |
85K / 11K |
257 TB |
0,30 |
800 GB |
28% OP |
555/530 |
78K / 32K |
860 TB |
0,58 |
960 GB |
7% OP |
555/520 |
78K / 11K |
564 TB |
0,32 |
1600 GB |
28% OP |
555/510 |
78K / 32K |
1678 TB |
0,57 |
1800 GB |
14% OP (intenso)* |
555/500 |
67K / 18K |
1432 TB |
0,43 |
Tabella. 1 – over-provisioning in base alla capacità storage e alla classe di utilizzo
Nella figura 1 vengono confrontate le singole capacità di storage del DC400 (400/480 GB, 800/960 GB, 1600/1800 GB) con diversi livelli di OP.
Quando si confrontano tutte le capacità di storage, si può notare quanto segue:
- i drive con maggiore capacità storage (minor OP) in ciascuna coppia riescono a mantenere la stessa velocità di trasferimento (larghezza di banda), ma i valori IOPS della scrittura casuale sono significativamente inferiori. Ciò significa che i drive con OP inferiore hanno buone prestazioni in applicazioni caratterizzate da intensa attività di lettura. Tuttavia, potrebbero essere più lenti in applicazioni caratterizzate da intensa attività di scrittura rispetto ai drive con OP del 28%.
- Un valore inferiore di over-provisioning comporta anche che il numero totale di byte scritti (TBW) in terabyte è inferiore in ciascun drive. Maggiore è la percentuale di OP, più a lungo potrà essere utilizzato il disco SSD. Un disco DC400 da 960 GB può contenere fino a 564 TB di dati scritti, mentre un DC400 da 800 GB può contenerne solo 860 TBW. Kingston ricava i valori TBW dai carichi di lavoro JEDEC [1].
- Se rapportiamo il valore TBW alle Drive Writes Per Day (DWPD) durante il periodo di garanzia, possiamo notare che i drive con il 28% di OP possono quasi raddoppiare il numero delle scritture giornaliere. Questo è il motivo per cui si raccomanda si utilizzare un OP del 28% per le applicazioni caratterizzate da un intenso carico di scrittura.
Riferimenti
- JESD219: Solid-State Drive (SSD) Endurance Workloads, JEDEC Committee (http://www.jedec.org/standards-documents/docs/jesd219a). Questi carichi di lavoro client ed enterprise rappresentano lo standard di settore per la valutazione dei dischi SSD e sono ricavati dai valori TBW supportati dagli SSD. Il vostro carico di lavoro effettivo potrebbe essere differente oltre che maggiore o minore rispetto alle specifiche del valore TBW classificato, a seconda del valore WAF unico dell'applicazione in uso.