Un ciclo di scrittura SSD è il processo di programmazione dei dati su un chip di memoria NAND flash in un dispositivo di archiviazione a stato solido.
Un blocco di dati memorizzati su un chip di memoria flash deve essere cancellato elettricamente prima che nuovi dati possano essere scritti, o programmati, sul drive a stato solido (SSD). Il ciclo di scrittura dell’SSD è noto anche come ciclo di programmazione/cancellazione (P/E).
Quando un SSD è nuovo, tutti i blocchi vengono cancellati e i nuovi dati in arrivo vengono scritti direttamente sul supporto flash. Una volta che l’SSD ha riempito tutti i blocchi liberi sul supporto di memoria flash, deve cancellare i blocchi precedentemente programmati per fare spazio ai nuovi dati da scrivere. I blocchi che contengono dati validi, non validi o non necessari vengono copiati in blocchi diversi, liberando i vecchi blocchi da cancellare. Il controller SSD cancella periodicamente i blocchi invalidati e li riporta nel pool di blocchi liberi.
Il processo in background che un SSD utilizza per ripulire i blocchi non necessari e fare spazio ai nuovi dati è chiamato garbage collection. Il processo di garbage collection è generalmente invisibile all’utente, e il processo di programmazione è spesso identificato semplicemente come un ciclo di scrittura, piuttosto che un ciclo di scrittura/cancellazione o P/E.
Perché i cicli di scrittura sono importanti
Un SSD NAND flash è in grado di sopportare solo un numero limitato di cicli di scrittura. Il processo di programmazione/cancellazione causa un deterioramento dello strato di ossido che intrappola gli elettroni in una cella di memoria NAND flash, e l’SSD alla fine diventerà inaffidabile, si consumerà e perderà la sua capacità di memorizzare dati.
Il numero di cicli di scrittura, o resistenza, varia in base al tipo di cella di memoria NAND flash. Un SSD che memorizza un singolo bit di dati per cella, noto come single-level cell (SLC) NAND flash, può in genere supportare fino a 100.000 cicli di scrittura. Un SSD che memorizza due bit di dati per cella, comunemente indicato come flash multi-level cell (MLC), generalmente sostiene fino a 10.000 cicli di scrittura con NAND planare e fino a 35.000 cicli di scrittura con 3D NAND. La resistenza degli SSD che immagazzinano tre bit di dati per cella, chiamati triple-level cell (TLC) flash, può arrivare a 300 cicli di scrittura con NAND planare e fino a 3.000 cicli di scrittura con 3D NAND. L’ultima NAND a quattro celle di livello (QLC) probabilmente supporterà un massimo di 1.000 cicli di scrittura.
Come il numero di bit per cella di memoria flash NAND aumenta, il costo per gigabyte (GB) dell’SSD diminuisce. Tuttavia, anche la resistenza e l’affidabilità dell’SSD sono inferiori.
Problemi comuni dei cicli di scrittura
Le sfide che i produttori di SSD hanno dovuto affrontare per usare la memoria NAND flash per memorizzare i dati in modo affidabile per un lungo periodo di tempo includono l’interferenza tra le celle man mano che le matrici diventano più piccole, errori e guasti di bit, cancellazioni lente dei dati e amplificazione della scrittura.
I produttori hanno migliorato la resistenza e l’affidabilità di tutti i tipi di SSD attraverso meccanismi basati sul software del controller, come algoritmi di livellamento dell’usura, buffering esterno dei dati, miglioramento del codice di correzione degli errori (ECC) e gestione degli errori, compressione dei dati, overprovisioning, migliore gestione interna della NAND e feedback di usura dei blocchi. Come risultato, gli SSD basati su flash non si sono consumati così rapidamente come gli utenti temevano una volta.
I venditori offrono comunemente garanzie SSD che specificano un numero massimo di scritture dell’unità del dispositivo al giorno (DWPD) o terabyte scritti (TBW). DWPD è il numero di volte che l’intera capacità dell’SSD può essere sovrascritta su base giornaliera durante il periodo di garanzia. TBW è la quantità totale di dati che un SSD può scrivere prima che possa fallire. I fornitori di sistemi basati su flash e SSD spesso offrono garanzie di cinque anni o più sulle loro unità aziendali.
I produttori a volte specificano il tipo di carico di lavoro dell’applicazione per cui è progettata una SSD, come ad esempio ad alta intensità di scrittura, lettura o uso misto. Alcuni fornitori permettono al cliente di selezionare il livello ottimale di resistenza e capacità per un particolare SSD. Per esempio, un utente aziendale con un database ad alte transazioni potrebbe optare per un numero DWPD maggiore a spese della capacità. Oppure un utente che gestisce un database che fa scritture poco frequenti potrebbe scegliere un DWPD più basso e una capacità più alta.