Cos'è il rivestimento SSD?

Cos'è il rivestimento SSD?
Gli SSD sono un supporto di archiviazione completamente diverso rispetto a quelli che esistevano prima. I media magnetici, in particolare i dischi rotanti, hanno introdotto molti concetti come dimensioni del settore, partizionamento, frammentazione ecc. Alcune di queste idee sono state emulate anche nei dispositivi a stato solido del firmware.

D'altro canto, sono stati introdotti nuovi concetti al fine di ottimizzare le prestazioni, la durata della vita e l'affidabilità di questi nuovi dispositivi. Uno di questi concetti è l'operazione di rivestimento.

Layout di un SSD

Gli SSD sono in modo ardente e diventano più veloci ed economici ogni anno. Anche la loro affidabilità è migliorata un po 'dal loro inizio. Tuttavia, gli SSD non sono ancora affidabili come i media magnetici, né sono durevoli come un disco rigido. In effetti, i meccanismi di read-write sottostanti sono molto diversi da quello che si vede all'interno di un HDD.

Per comprendere i problemi di cui un SSD soffre e perché abbiamo bisogno di un funzionamento di rivestimento per superare questi problemi, diamo un'occhiata prima alla struttura dell'SSD. I dati vengono archiviati in genere in gruppi di celle da 4 kb, chiamate pagine. Le pagine vengono quindi raggruppate in cluster di 128 pagine, chiamati blocchi e ogni blocco è 512kb, per la maggior parte degli SSD.

Puoi leggere i dati da una pagina che contiene alcune informazioni o puoi scrivere dati a pagine che sono pulite (senza dati preesistenti, solo una serie di 1s). Tuttavia, non è possibile sovrascrivere i dati su una pagina da 4kb che è già stata scritta, senza sovrascrivere tutti gli altri 512kb.

Questa è una conseguenza del fatto che le tensioni necessarie per capovolgere da 0 a 1 sono spesso molto più alte del contrario. La tensione in eccesso può potenzialmente capovolgere i bit sulle cellule adiacenti e i dati corrotti.

Operazione di cancellazione La degradazione delle prestazioni di un SSD

Quando si dice che i dati siano 'Eliminato' dal sistema operativo, l'SSD segna semplicemente tutte le pagine corrispondenti come non valide, piuttosto che eliminare i dati. Questo è abbastanza simile a quello che accade anche all'interno di un HDD, i settori lo sono segnato come libero piuttosto che essere fisicamente a zero. Questo rende l'operazione di eliminazione molto più veloce.

In caso di HDDS, funziona bene. Quando è necessario scrivere nuovi dati, è possibile sovrascrivere i vecchi dati su un liberato settore senza problemi o preoccupazioni per i settori circostanti. HDDS può modificare i dati a posto.

Nel caso di un SSD, questo non è così semplice. Diciamo di modificare un file e che corrisponde a una modifica di una singola pagina da 4kb. Quando si tenta di modificare una pagina da 4kb in un SSD, l'intero contenuto del suo blocco, l'intero di esso 512kb, deve leggere in una cache (la cache può essere integrata nel SSD o può essere la memoria principale del sistema) e Quindi il blocco deve essere cancellato e quindi puoi scrivere i nuovi dati la tua pagina 4KB di destinazione. Dovrai anche scrivere i restanti 508kb non modificati di dati che hai copiato nella cache.

Questo risultato si aggiunge al fenomeno dell'amplificazione della scrittura in cui ogni operazione di scrittura viene amplificata a un'operazione di scrittura a lettura per blocchi di dati molto più grandi dei dati effettivi che devono essere messi in atto.

Inizialmente, questa amplificazione non viene visualizzata. Il tuo SSD si comporta molto bene all'inizio. Alla fine, man mano che i blocchi vengono riempiti, viene raggiunto l'inevitabile punto in cui iniziano sempre più operazioni di scrittura coinvolgendo le costose operazioni. L'utente inizia a notare che l'SSD non si sta comportando come ha fatto inizialmente.

I controller SSD cercano anche di assicurarsi che i dati siano distribuiti su tutto il disco. In modo che tutte le stampi ottengano uguali livelli di usura. Questo è importante perché le celle di memoria flash tendono a logorare rapidamente, e quindi se utilizziamo continuamente solo le prime migliaia di blocchi che ignorano il resto dell'SSD, quei pochi blocchi si logoranno presto. La diffusione di dati su più stampi migliora anche le prestazioni in quanto puoi leggere o scrivere i dati in parallelo.

Tuttavia, ora le scritture sono sparse, aumentando le possibilità di un blocco con una pagina. Ciò accelera ulteriormente il processo di degradazione.

Trim e liberazione dei blocchi

Il comando TRIM riduce al minimo il degrado delle prestazioni tagliando periodicamente le pagine non valide. Ad esempio, Windows 10 taglia il tuo SSD una volta alla settimana. Tutti i dati che sono stati contrassegnati come eliminati dal sistema operativo vengono effettivamente puliti dalle celle di memoria dal controller SSD quando quell'operazione viene eseguita. Sì, deve ancora passare attraverso l'operazione di lettura-modifica della scrittura ma accade solo una volta alla settimana e può essere programmato nelle ore in cui il tuo sistema è per lo più ideale.

La prossima volta che vuoi scrivere in una pagina, è in realtà vuoto e pronto per un'operazione di scrittura diretta!

La frequenza effettiva del comando TRIM dipende dal tipo di sistema che stai eseguendo. I database tendono a fare un sacco di iOS e richiederebbero quindi un taglio più frequente. Tuttavia, se lo fai troppo frequentemente le operazioni di database rallenteranno per il periodo in cui il rivestimento è in esecuzione. È compito di un architetto di sistema trovare il programma e la frequenza giusti.

Limitazioni

Il comando TRIM è molto utile per ritardare il degrado delle prestazioni del dispositivo. Aiuta a mantenere il media prestazioni del tuo dispositivo. Ma questo è solo in media.

Supponiamo, se stai lavorando con un documento di testo e scrivi costantemente al file, modificando le cose e salvando in modo da non perdere progressi. Le pagine che memorizzano i dati del documento dovranno comunque passare attraverso il ciclo lancinante di read-modify-write perché il TRIM non è un servizio che sta costantemente ottimizzando il tuo SSD. Anche se è stato eseguito come servizio, l'impatto sulle prestazioni sarà comunque visibile perché è integrato nella stessa meccanica del funzionamento di un SSD.

Anche eseguire il rivestimento SSD troppo spesso può ridurre la longevità della tua conservazione. Dal momento che tutta quella cancellazione e ciclo di scrittura usciranno le celle che rendono i dati memorizzati al suo interno di sola lettura.

Conclusione

Nonostante tutte le carenze di un SSD, impacchetta ancora enormi benefici per le prestazioni rispetto a una tradizionale disco rigido disco. Man mano che la quota di mercato per questi dispositivi magici cresce, ulteriori sforzi di ricerca e ingegneria saranno diretti a migliorare la tecnologia sottostante.

Venditori del sistema operativo, produttori di chip SSD e persone che scrivono tutta la logica del firmware complessa si uniscono per darci questo fantastico dispositivo. Il trim non è che uno dei tanti molti strati di complessità che è imballato lì dentro.

Riferimenti

  1. Anandtech e la loro meraviglia ricerca e revisione degli SSD.
  2. Articolo di Wikipedia sull'amplificazione della scrittura
  3. Scrivi su Arstechnia sugli SSD e sui loro meccanismi interni