Cosa ci vuole? Compatibilità TRIM

Recensione - Test di un SSD per misurarne l'influenza del TRIM e degli aggiornamenti firmware.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Cosa ci vuole? Compatibilità TRIM

La gestione dei dati è semplice sugli hard disk, perché le informazioni sono immagazzinate in blocchi individuali, organizzati in modo logico con il sistema LBA (logical block addressing). Solitamente l'hard disk "sa" trovare blocchi singoli e può riposizionare le sue testine su una certa traccia per leggerli o scriverli; questa attività avviene singolarmente per ogni blocco di memoria disponibile.

La memoria NAND Flash invece funziona in modo molto diverso, e presenta difficoltà specifiche. Una di queste è la vita limitata delle celle di memoria flash: questo limite ha spinto i produttori a creare algoritmi specifici, il wear leveling, per assicurarsi che tutte le celle di un SSD abbiano un aspettativa di vita simile.

Un'altra caratteristica è che i dati su memoria flash MLC non si possono semplicemente sovrascrivere, ma devono essere prima cancellati. A questo si aggiunge il fatto che questi supporti, generalmente, usano blocchi da 512 KB, più grandi rispetto a quelli da 4 KB – che si stanno diffondendo per gli hard disk (Analisi Hard Disk: l'impatto del passaggio ai settori da 4 KB).

Clicca per ingrandire

Quindi anche per pochi dati (per esempio in piccolo file di testo, come un cookie) bisognerà leggere, cancellare e riscrivere un blocco piuttosto grande. Un'operazione che, come si può intuire, richiede tempo. Le operazioni di mappatura tra i dati fisici e i dati logici è gestita tramite il Flash Transition Layer (FTL), ma è un bel lavoro per il controller bilanciare wear leveling e prestazioni. Quest'operazione è comunemente definita come write amplification; è espressa tramite un valore percentuale, che ci dice quanti dati sono stati effettivamente scritti. Il termine amplification dovrebbe aiutare a capire che questo valore può andare oltre il 100%.

A lungo andare si crea quindi un problema dovuto a dati di scarto ed eccesso di scritture, che può anche compromettere le prestazioni del nostro SSD.

Il wear leveling e la write amplification portano il controller a lavorare molto. Il comando TRIM, aggiunto con la seconda generazione di SSD, aiuta a tenere sotto controllo le scritture eccessive, e anche a mantenere le prestazioni a lungo termine.

Clicca per ingrandire

Sostanzialmente il comando TRIM – che deve essere supportato dal sistema operativo – serve a eliminare l'overhead creato dai dati cancellati. Questo è necessario perché ogni volta che l'utente cancella dei dati, nell'unità SSD si deve cancellare un intero blocco da 512 KB, e poi si riscrivono tutti i dati tranne quelli che sono stati eliminati.

Con il comando TRIM, invece, al comando di cancellazione il drive SSD risponde limitandosi a segnare la pagina (la parte di memoria interessata) come disponibile, senza eseguire immediatamente la cancellazione fisica. In questo modo il comando TRIM tiene sotto controllo le scritture in background, e di fatto previene il deteriorarsi delle prestazioni dovute a questo fenomeno.