¿Cómo se pueden recuperar los datos de Android si se ha habilitado TRIM desde Android 4.3?

Bien, aclaremos algunas cosas de las que sospecho que estás confundido. Las SSD usan un tipo de memoria llamada flash NAND. La memoria flash NAND tiene la limitación de que solo puede escribir letras individuales, no ceros. Por lo tanto, para volver a escribir un sector de datos, debe borrar todo un bloque de datos y luego volver a escribirlo de nuevo.

Los teléfonos y tabletas más antiguos también usaban memoria flash NAND. Si bien no solemos llamar a esto un SSD, es esencialmente lo mismo. Simplemente está integrado en el dispositivo, no es una “unidad” separada como se usa en el acrónimo SSD.

Los dispositivos más nuevos usan una memoria llamada eMMC. La memoria EMMC es básicamente un SSD completo integrado en un solo chip. El controlador y la memoria flash NAND están todos juntos en el paquete. Por lo general, tienen un rendimiento más bajo que los SSD, con un mayor enfoque en un tamaño más pequeño y un menor consumo de energía.

Ahora llegando a TRIM (simplemente escribiré TRIM de aquí en adelante para simplificar) la tecnología. Esto se inventó para superar la disminución de velocidad que ocurriría cuando se usa la memoria NAND y eventualmente se modifica una gran cantidad de sectores de forma regular. El sistema operativo emite comandos TRIM cuando se elimina un archivo y se notifica al controlador de memoria qué sectores se pueden poner a cero y preparar para nuevos datos. Luego, durante los tiempos de inactividad, el SSD, el controlador NAND integrado o el controlador de memoria eMMC se pondrán a cero y los prepararán.

En cuanto a por qué la recuperación de datos podría ser posible, hay una serie de posibles razones. Una primera obvia es si TRIM estaba habilitado o no. A pesar de que un sistema operativo como Android 4.3 admite TRIM, podría haber sido desactivado de fábrica o nunca activado cuando se realizó la actualización. Además, algunos controladores eMMC y de memoria más antiguos ni siquiera admitían TRIM. Android no lo admitía entonces, entonces, ¿por qué debería admitirlo el chip?

También puede tener que ver con el programa que creó el archivo. Algunos programas pueden incrustar archivos en una especie de archivo de base de datos más grande, por lo que cuando se eliminan dentro del programa, el SO no los elimina, sino que simplemente se marcan como eliminados en la base de datos. Este último no es común a la mayoría de los programas, pero a menudo se aplica a cosas como mensajes de texto. Por lo general, se pueden recuperar porque el sistema operativo no elimina el archivo de la base de datos cuando se eliminan los mensajes.