L'SSD sposta i file non modificabili nel corso del tempo.
Prima di tutto, hai i settori virtuali che sono esposti al sistema operativo (da non confondere con i cluster di file system) e quindi hai le celle fisiche nei chip flash. Quando il controller flash alloca / dealloca le celle, rimappa i settori virtuali di conseguenza, quindi è trasparente per il sistema operativo (gli stessi settori virtuali possono apparire in posizioni diverse nelle celle flash in momenti diversi).
In secondo luogo, gli SSD hanno celle di riserva che non sono utilizzabili come spazio libero. Sono specificamente messi da parte allo scopo di livellare l'usura, mitigare l'amplificazione della scrittura e rimappare le cellule morte. In questo modo, anche se l'SSD ha zero byte di spazio libero su di esso, il controller flash ha ancora spazio per eseguire il livellamento dell'usura.
Supponiamo che tu abbia un SSD da 500 GB pieno al 100%. Ora diciamo che 499 GB di quei dati sono un file che non cambia mai, ma hai un file da 1 GB che cambia continuamente. Se elimini quel file da 1 GB e copi su un altro file da 1 GB, il controller flash eseguirà una delle due operazioni in quel momento:
- Tutti o alcuni dei nuovi dati verranno allocati in celle di riserva, lasciando le vecchie celle in uno stato ancora tagliato.
- 1 GB di celle entro i 499 GB di dati che non cambiano mai verranno copiati in altre celle disponibili. Le vecchie celle verranno quindi cancellate e riscritte con i nuovi dati.
In entrambi i casi, i settori virtuali presentati al sistema operativo non cambiano mai, quindi il sistema operativo non è a conoscenza di ciò che sta realmente accadendo. Il controller flash mantiene una tabella di mappatura delle celle di memoria su settori virtuali.
L'obiettivo dell'algoritmo di livellamento dell'usura nella vita è quello di provare a esercitare tutte le cellule in modo uniforme, anche se ciò comporta lo spostamento dei dati per raggiungerlo. Questo processo rallenta l'unità e provoca (ironicamente) un'ulteriore usura delle celle flash. Si chiama amplificazione della scrittura ed è un problema significativo con gli SSD. Gli attuali algoritmi di livellamento dell'usura impiegati dagli SSD e il modo in cui mitigano l'amplificazione della scrittura sono segreti commerciali proprietari tra i produttori di SSD, quindi questo è solo un descrittore generale del processo.