Vai al contenuto
Offerte

SSD e chiavette USB, perché la velocità crolla durante le copie

In questo articolo Indice dei contenuti 2 sezioni

Capita a tutti prima o poi di lanciare una copia enorme e vedere che SSD e chiavette USB rallentano dopo i primi secondi, con Windows che passa da 2 GB/s a poche centinaia di MB/s senza apparente motivo. Su unità economiche il valore può scendere perfino sotto i 100 MB/s, e con una pendrive il crollo è ancora più visibile. Non è un difetto, non è il disco che si sta rompendo: è il modo in cui funziona la memoria NAND Flash quando finisce il fiato della cache veloce.

La NAND non lavora come la RAM. I dati vengono organizzati in pagine, cioè piccoli gruppi di celle, e le pagine formano blocchi molto più grandi. Una pagina già usata non si cancella da sola: per liberarla il controller deve cancellare l’intero blocco, spostando prima altrove le pagine ancora valide. Ecco perché su SSD, chiavette e schede SD non esiste la sovrascrittura diretta come su un vecchio disco magnetico. Quel lavoro sporco si chiama garbage collection, e mentre si copia un file gigantesco corre in parallelo alle scritture nuove.

La cache SLC è il trucco dietro le velocità da brochure

Gran parte degli SSD consumer monta NAND TLC o QLC. Semplificando: una cella SLC conserva 1 bit, una MLC 2, una TLC 3, una QLC 4. Più bit per cella significa costo per gigabyte più basso e densità maggiore, ma anche programmazione più lenta e complicata. Per compensare, i produttori usano una porzione di quella NAND come se fosse SLC. SanDisk, con la tecnologia nCache, descrive proprio una cache composta da una parte fissa e una parte dinamica ricavata dallo spazio libero: i dati atterrano prima lì, veloci, e vengono consolidati dopo nella NAND più densa, possibilmente nei momenti di inattività.

Finché la cache SLC regge, tutto vola. Immaginando un SSD QLC capace di scrivere a 2.500 MB/s in cache ma solo a 300 MB/s in scrittura diretta, copiare 5 GB non farà notare nulla. Con un file da 200 GB, invece, il grafico di Esplora file mostra un gradino netto. Non è stanchezza dell’unità, è semplicemente il buffer esaurito. Due SSD entrambi pubblicizzati come PCIe 4.0 possono comportarsi in modo completamente diverso dopo i primi gigabyte.

C’è poi la questione dello spazio libero. Se la cache è dinamica, un’unità quasi vuota ne avrà una molto ampia, un’unità piena pochissima. La stessa identica copia, sulla stessa unità, può quindi andare diversamente a distanza di mesi. Con pochi blocchi liberi anche garbage collection e wear leveling faticano di più, motivo per cui lasciare un margine di respiro non è un falso mito.

Write amplification, chiavette e temperatura

Quando il controller sposta pagine valide e cancella blocchi, produce scritture che Windows non ha mai chiesto. Un trasferimento da 100 GB può tradursi internamente in oltre 100 GB scritti sulla NAND. Il rapporto fra ciò che il sistema chiede e ciò che viene programmato davvero si chiama Write Amplification Factor: se il sistema operativo scrive 100 GB e l’unità ne scrive fisicamente 150, il WAF è 1,5. Incide sulle prestazioni e sull’usura, e peggiora quando lo spazio scarseggia.

Le chiavette USB partono già svantaggiate perché montano controller molto più semplici. Una pendrive USB 3.x può avere un collegamento teorico da centinaia di MB/s e poi assestarsi tra 30 e 80 MB/s una volta finita la piccola cache. Un link USB da 5 Gbps non significa scrivere a 625 MB/s: quella è la capacità teorica del bus, al lordo degli overhead di protocollo. Tra le cause di prestazioni scadenti figurano anche porta, hub, adattatore, cavo, file system, spazio libero, quantità di file piccoli e temperatura.

E la temperatura pesa parecchio. Durante le scritture prolungate controller NVMe, NAND e bridge USB scaldano fino a far scattare il thermal throttling, con riduzione volontaria del throughput. Lo stesso SSD rende diversamente con o senza dissipatore, dentro un box compatto o su una scrivania più fresca. Va poi distinta la DRAM del controller dalla cache SLC: la prima gestisce le tabelle di mappatura, e le unità DRAM less possono ricorrere all’HMB, cioè a una piccola porzione di RAM di sistema. Infine, copiare centinaia di migliaia di file piccoli è tutt’altra storia rispetto a un singolo file da 100 GB, tra metadati, accessi non sequenziali e continue aperture e chiusure.

Condividi:
41 Condivisioni