Kingston Guest Blog-Over-Provisioning e SSD: quali vantaggi?

giovedì 8 novembre 2018 di Michael Nuncic

Per cominciare, vediamo come funziona un SSD e i limiti della memoria NAND flash non-volatile, in modo che sia più semplice comprendere perché un SSD viene configurato con la funzionalità di Over-Provisioning (OP) e quali vantaggi apporta al controller SSD.

I dischi a stato solido (SSD) non sono molto differenti dai dischi rigidi (HDD) in relazione alle dimensioni (vale a dire, altezza, larghezza e lunghezza) e alle interfacce esterne (cioè interfaccia SATA o SAS). Tuttavia, il funzionamento interno di un SSD e i suoi componenti sono significativamente differenti dal disco magnetico rotante di un HDD.

Ogni cella NAND flash ha una durata di vita limitata, questa è a sua volta basata sulla durata dei suoi cicli di programmazione e cancellazione (P/E). La durata della cella NAND flash viene determinata dal produttore della NAND stessa durante la fase produttiva, dato che qualsiasi funzione di programmazione o cancellazione eseguita su una cella NAND flash riduce la capacità della cella di immagazzinare in modo affidabile una carica elettrica, compromettendo l'integrità dei dati.

L'over-provisioning non è altro che uno spazio del disco SSD non allocato, funzionale a garantire un numero adeguato di celle sostituibili a quelle che raggiunguno il limite del ciclo di programmazione e cancellazione, così da prolungare la vita dello stesso SSD.

L'Over-Provisioning in dettaglio

Dopo aver assemblato un SSD, durante la programmazione del firmware, il produttore può assegnare un'ulteriore percentuale della capacità totale della memoria all'over-provisioning (OP). L'over-provisioning non solo migliora le performance, ma spesso incrementa la vita di un SSD. Grazie a un maggiore spazio storage flash NAND disponibile per il controller SSD e a una minor usura a carico della memoria NAND flash durante il suo ciclo di vita, il disco dura di più.

Un over-provisioning del 7% non è insolito negli SSD. La figura seguente mostra nel dettaglio la quantità di memoria fisica presente in un SSD rispetto alla quantità di memoria disponibile per l'utente in seguito all'over-provisioning.

Storage fisico Storage utente Over-provisioning in % Classe di applicazione 64 GB 60 GB 7% Prevalenza di lettura 96 GB 90 GB 7% Prevalenza di lettura 128 GB 120 GB 7% Prevalenza di lettura 128 GB 100 GB 28% Prevalenza di scrittura 256 GB 240 GB 7% Prevalenza di lettura 256 GB 200 GB 28% Prevalenza di scrittura 512 GB 480 GB 7% Prevalenza di lettura 512 GB 400 GB 28% Prevalenza di scrittura 1024 GB 960 GB 7% Prevalenza di lettura 1024 GB 800 GB 28% Prevalenza di scrittura 2048 GB 1800 GB 14% Prevalenza di lettura 2048 GB 1600 GB 28% Prevalenza di scrittura

Figura: over-provisioning in base alla capacità storage e alla classe di applicazione

Le applicazioni, come ad esempio i carichi di lavoro tipici dei client, possono essere a alta intensità di lettura, caso in cui l'utente generalmente utilizza il 20% per la scrittura e l'80% per la lettura. Le applicazioni enterprise che utilizzano la memoria per la cache di lettura sono read intensive (a elevata intensità di lettura). Se queste applicazioni dovessero scrivere più dati sulla memoria, esse dovrebbero avere una maggiore intensità di scrittura.

L'over-provisioning spiegato in maniera più semplice

Il produttore del disco SSD può impostare la capacità OP in maniera differente a seconda della classe di applicazione del disco SSD e della capacità totale della memoria NAND flash.

I dischi con capacità maggiori e classi di applicazione differenti sono generalmente configurati con un over-provisioning proporzionalmente maggiore. Ciò è dovuto ai requisiti di risorse per la gestione di una maggiore quantità di NAND Flash e all'applicazione di garbage collection, free block e funzionalità di privacy avanzate.

Questo spazio di storage in over-provisioning non è accessibile all'utente e non è visualizzato nel sistema operativo host. È riservato esclusivamente all'utilizzo con il controller SSD.

Come l'Over-Provisioning (OP) migliora la durata di un SSD

Ogni matrice di memoria NAND flash consiste in diversi blocchi, ciascuno contenente molteplici pagine. La NAND Flash viene descritta e letta a livello di pagina, ma può essere cancellata solo a livello di blocco.

Se deve essere modificata o cancellata una singola pagina su una pagina programmata all'interno di un blocco, per prima cosa occorre copiare l'intero contenuto di tutte le pagine del blocco su una cache e quindi cancellarlo prima che il contenuto del nuovo blocco possa essere programmato sullo stesso indirizzo.

Una pagina può essere scritta solo direttamente su un blocco in una NAND flash senza un lungo ciclo di lettura-modifica-scrittura se la pagina è già vuota.

Quindi, se molti blocchi sono vuoti ed è già stato effettuato l'over-provisioning, i blocchi stessi contribuiranno a fornirie perfomance più costanti, in particolare in scenari di scrittura random che presentano il più alto valore di Write Amplification Factor (WAF).

Servizi di recupero dati

Hai perso i tuoi dati? Contattaci subito per recuperarli.


Cosa pensano i clienti dei nostri servizi: