Sobrescribir los datos es insuficiente o inútil, dependiendo de cómo el propio dispositivo realiza las cosas internamente. Memoria Flash tiene una vida limitada, expresada en términos de ciclos de lectura / escritura. Para resumir, puedes tener un bloque de datos lleno de ceros; los bits se pueden cambiar de cero a uno individualmente, pero el restablecimiento a cero se puede hacer solo para un bloque completo a la vez, y si lo hace más de 10000 veces, el bloque falla. Los bloques tienen un tamaño de unas pocas docenas de kilobytes.
Por lo tanto, si las unidades basadas en Flash simplemente usaran una asignación directa de los sectores lógicos (como se ve desde la computadora) a los bloques de Flash, serían lentas y poco confiables: cada escritura de un sector sobre un valor anterior no es todo ceros implicaría leer todo el bloque, borrarlo y luego escribirlo con el nuevo valor de sector. En su lugar, las unidades flash utilizan métodos de nivelación de desgaste en los que las escrituras se extienden por todos los bloques del dispositivo, a fin de minimizar el número de bloqueos requeridos, y evite tener algunos bloques más utilizados que otros. Además, las unidades flash a menudo tienen más bloques físicos que su tamaño nominal, tanto para dar un poco de respiro a los algoritmos de nivelación de desgaste, como para permitir la reasignación de algunos bloques fallidos, lo que aumenta la vida útil de la unidad cuando los bloques comienzan a descomponerse. p>
Una consecuencia es que no puedes estar seguro, cuando sobrescribes todo el disco, que realmente borraste todos los datos en el medio físico. De hecho, si la unidad aplica la nivelación de desgaste, entonces está bastante garantizado que una sola sobrescritura no sobrescribirá todos los rastros de los datos en el nivel físico, porque hay más bloques físicos que los tamaño de unidad total lógico.
El uso de tres sobrescrituras sucesivas es un intento de asegurar una cobertura más completa. Pero se basa en algunas suposiciones sobre cómo funciona la nivelación del desgaste, lo que puede ser injustificado ya que no existe un estándar. Debido a que la nivelación del desgaste es manejada por completo por la propia unidad, en su firmware, no hay razón para que tales algoritmos estén estandarizados o incluso documentados; Uno incluso puede ser tan audaz como para señalar que los algoritmos de nivelación de desgaste son parte de los secretos comerciales de los proveedores de unidades, por lo que es poco probable que estén todos documentados. Simplemente se desconoce si tres sobrescribe más de lo necesario o, por el contrario, insuficiente para garantizar la destrucción de datos.
Por otra parte, si la unidad vuelve a bloquear el bloque de forma transparente, entonces un bloque fallido aún contiene datos en su mayoría intactos, y como el firmware evitará usar ese bloque, esos datos permanecerán en su lugar hasta el final de los tiempos, independientemente de cuántos sobrescribe que realizas. Ese bloqueo fallido está permanentemente fuera del alcance de la computadora host. (Tenga en cuenta que este argumento también se aplica a los discos magnéticos, pero la reasignación de sectores con fallas es un evento raro para los discos clásicos, mientras que es muy común en las unidades flash).
Así que el principal beneficio de los tres sobrescritos es psicológico . Es un procedimiento muy visible que ayuda a convencer a los gerentes y auditores de que la seguridad está sucediendo, justificando así la línea presupuestaria correspondiente. Si realmente quieres borrar un disco viejo, quemalo.