La sovrascrittura dei dati è insufficiente o inutile, a seconda di come vengono eseguite internamente dal dispositivo stesso. La memoria flash ha una durata limitata, espressa in termini di cicli di lettura / scrittura. Per riassumere, puoi avere un blocco di dati pieno di zeri; i bit possono essere cambiati da zero a uno individualmente, ma il reset a zero può essere fatto solo per un blocco completo alla volta e, se lo si fa più di 10000 volte, il blocco fallisce. I blocchi hanno una dimensione di alcune dozzine di kilobyte.
Quindi, se le unità basate su Flash utilizzavano semplicemente una mappatura diretta dai settori logici (come visto dal computer) ai blocchi Flash, sarebbero lente e inaffidabili: ogni scrittura di un settore su un valore precedente che non è tutti gli zeri comporterebbero la lettura dell'intero blocco, cancellandolo, quindi riscrivendolo con il nuovo valore di settore. Le unità Flash utilizzano invece i metodi wear leveling in cui le scritture vengono diffuse attraverso i blocchi del dispositivo, in modo da ridurre al minimo il numero delle cancellazioni di blocchi richieste ed evitare di avere alcuni blocchi più usati di altri. Inoltre, le unità Flash hanno spesso più blocchi fisici rispetto alle loro dimensioni nominali, sia per dare un po 'di respiro agli algoritmi di usura, sia per rimappare alcuni blocchi falliti, aumentando così la durata del disco quando i blocchi iniziano a rompersi. p>
Una conseguenza è che non si può essere sicuri, quando si sovrascrive l'intero disco, di aver davvero cancellato tutti i dati sul supporto fisico. Infatti, se il drive leveling è applicato dal drive, allora è praticamente garantito che una singola sovrascrittura non sovrascriva tutte le tracce dei dati a livello fisico, perché ci sono più blocchi fisici che dimensione totale logica dell'unità.
L'utilizzo di tre sovrascritture successive è un tentativo di garantire una copertura più completa. Ma si basa su alcune ipotesi su come funziona il livellamento dell'usura, che può essere ingiustificato poiché non esiste uno standard. Poiché il livellamento dell'usura è interamente gestito dall'azionamento stesso, nel suo firmware, non c'è motivo per cui tali algoritmi siano standardizzati o addirittura documentati; si può persino essere così audaci da far notare che gli algoritmi di livellamento dell'usura sono parte dei segreti commerciali dei produttori di unità, quindi è improbabile che siano tutti documentati. Se tre sovrascritture sono più che necessarie o, al contrario, insufficienti per garantire la distruzione dei dati, semplicemente non è noto.
Inoltre, se il rimacchio dell'unità non riesce a bloccare in modo trasparente, allora un blocco fallito contiene ancora dati per lo più intatti, e poiché il firmware in seguito eviterà di utilizzare quel blocco, quei dati rimarranno in posizione fino alla fine dei tempi, indipendentemente da quanti ti sovrascrive. Quel blocco fallito è permanentemente fuori dalla portata del computer host. (Si noti che questo argomento si applica anche ai dischi magnetici, ma la rimappatura dei settori danneggiati è un evento raro per i dischi classici, mentre è molto comune nelle unità Flash.)
Quindi il principale vantaggio delle tre sovrascritture è psicologico . È una procedura molto visibile che aiuta a convincere manager e auditor che la sicurezza sta accadendo, giustificando in tal modo la corrispondente linea di bilancio. Se vuoi veramente cancellare una vecchia unità, masterizzala.