¿Qué marca los datos como eliminados, el disco duro o el sistema de archivos?


0

Cualquier persona que tenga una comprensión superficial de la recuperación de datos y la desinfección en relación con los discos duros es consciente del concepto de que los datos eliminados "permanentemente" dentro de un sistema operativo no se eliminan, sino que simplemente se marcan como tales en la MFT, y que los datos existen. en la unidad hasta que el sector que ocupa en la unidad de disco duro se sobrescriba con datos nuevos.

Sin embargo, hace poco me di cuenta de que no sé si este proceso es una función del propio disco duro o del sistema de archivos (es más probable que NTFS, ya que estamos hablando de la MFT). Si es el primero, ¿qué tan diferente es este proceso en las unidades mecánicas y de estado sólido? Si es lo último, ¿otros sistemas de archivos (aparte de NTFS) manejan la eliminación de datos de manera radicalmente diferente?

Respuestas:


2

HDD como capa de abstracción no necesita el concepto de datos eliminados. Es un dispositivo de bloqueo. Puede leer o escribir en su bloque, un sector de su elección. Independientemente de lo que escriba en el sector, puede leerlo tantas veces como desee. Si sobrescribe el sector, los intentos de lectura consecutivos devolverán los nuevos datos. No hay ningún estado especial que indique "sin datos". Si el tamaño del sector es de 512 bytes y el disco está en buen estado, obtendrá 512 bytes cada vez que lea. Alguna capa superior de abstracción necesita saber si estos bytes significan algo o no.

Por lo general, un sistema de archivos es tal capa. La misma secuencia de bytes devuelta desde el mismo sector puede ser parte de algún archivo o espacio vacío, dependiendo del contenido de otros sectores (en su ejemplo: donde se almacena MFT). El término "espacio vacío" aquí es engañoso; "bytes consumibles" sería mejor.

Dado que cualquier sector tiene que devolver algunos datos de todos modos cuando se consulta, es un enfoque sano y común para dejar los datos intactos al eliminar un archivo y modificar solo los metadatos (por ejemplo, MFT) que rastrea sectores significativos y prescindibles. Los sistemas de archivos comunes manejan las eliminaciones de esta manera.

Esta separación de capas funciona muy bien con los discos duros.

Para los SSD (memoria flash en general), hay al menos dos razones por las que le gustaría que el dispositivo mismo (es decir, su controlador de firmware) sepa qué sectores son fungibles.

Uno es el hecho de que no puede sobrescribir directamente los datos almacenados en celdas de memoria flash (francamente no estoy seguro de si esto se aplica a todas las tecnologías, pero se aplica al menos a algunas de ellas y son comunes). Debe borrar las celdas y luego escribirles nuevos datos durante una operación separada.

Esto significa que internamente hay un estado que indica "eliminado" o "sin datos". Si el dispositivo sabe qué sectores son prescindibles, puede borrarlos de antemano y, cuando llegue el momento de escribir algo, no hay demora. (Bueno, es aún más complicado. Puede borrar nada menos que un montón de celdas, mucho más que un sector de 512 bytes. Para obtener más información, busque "bloques y páginas flash", "recolección de basura flash").

La otra razón es la nivelación del desgaste. Una celda de memoria flash se desgasta un poco con cada escritura (o más bien con cada borrado). Si continúa sobrescribiendo el mismo sector lógico una y otra vez, su SSD moderno lo reasignará a diferentes celdas físicas para que se agoten uniformemente. El dispositivo probablemente tiene un grupo significativo de celdas "de repuesto" que puede usar incluso si se sabe que ninguno de los sectores lógicos es prescindible, pero todo el truco funciona mejor si el controlador sabe qué sectores contienen datos que ya no son necesarios, por lo que Puede reutilizar libremente las celdas asignadas a ellos.

Cuando su sistema operativo (que comprende el sistema de archivos) informa a su SSD qué sectores son prescindibles, lo llamamos guarnición (ver esta respuesta mia para algunos detalles).

Tenga en cuenta que incluso si todo el SSD se borra internamente, cualquier sector devolverá algunos datos binarios cuando se lea (supongo que el firmware probablemente devolverá todos los ceros, no lo he probado); no puede distinguir las celdas borradas de las celdas que contienen estos datos en particular simplemente leyendo desde el dispositivo. Externamente, esto imita el comportamiento tradicional de la unidad de disco duro donde no hay ningún concepto de datos borrados (borrados).


Esta es una respuesta buena y completa, pero solo responde de manera integral la primera parte de la pregunta. Me gustaría ver más información sobre los sistemas de archivos que funcionan o no de esta manera; Parece muy relevante para el borrado de datos saber si el propio sistema de archivos realmente elimina de la forma en que los limpiadores de datos lo asumen.
Hashim

Limpia archivos específicamente no haga Supongamos que el FS borra datos de esta u otra manera. En su lugar, sobrescriben el contenido de un archivo mientras aún se encuentra en estado normal (no eliminado). Así que se basan en suposiciones sobre lo contrario: cómo el sistema de archivos sobrescribe los datos todavia en uso , y no se ven afectados por lo que sucede en la eliminación.
grawity

1

El sistema de archivos, para el cual el disco duro proporciona almacenamiento físico, marcaría el archivo como eliminado. La unidad en sí, convencional o SSD no tiene conocimiento de archivos, carpetas, sistemas de archivos, particiones, etc. Todos estos son conceptos de alto nivel implementados por el sistema de archivos y otro software del sistema. La unidad solo comprende los bloques de datos y no comprende para qué se pueden usar los datos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.