4 votos

Si reinicio mi teléfono, ¿también TRIM la eMMC fragmentada?

Sé que Android admite fstrim pero sólo funciona si el teléfono está inactivo durante mucho tiempo mientras se carga. Creo que mi teléfono está demasiado fragmentado y le falta rendimiento, así que quiero reiniciarlo, pero no estoy seguro de si TRIM también se ejecutará si lo hago. Dado que TRIM es importante para mejorar la velocidad del SSD, me gustaría ejecutar TRIM en mi teléfono.

0 votos

Si tu teléfono tiene "falta de rendimiento" en el 99,99999% de los casos la fragmentación de la memoria flash no es el problema. En la memoria flash el efecto de la fragmentación en el rendimiento es casi inexistente.

0 votos

Oh, no lo sabía. Pero, ¿el restablecimiento de la ejecución de Trim, sin embargo?

0 votos

Lo más probable es que sí.

6voto

Jack Wade Puntos 231

Android es compatible con fstrim pero sólo funciona si el teléfono está inactivo durante mucho tiempo mientras se carga

No es así. En las versiones más recientes, Android funciona fstrim con un horario diario, siempre que se cumplan las condiciones. O que se ejecute en un reinicio si no se ejecuta durante más de 3 días. Ver esta respuesta para conocer los detalles y saber cómo se puede ejecutar fstrim manualmente.

FRAGMENTACIÓN EN LA MEMORIA FLASH:

Creo que mi teléfono está demasiado fragmentado y le falta rendimiento

No, la fragmentación no existe en la memoria flash, o al menos no afecta al rendimiento. En realidad es el sistema de archivos el que se fragmenta (por eso el sistema de archivos recién formateado tiene un 0% de fragmentación), transfiriendo lo mismo al almacenamiento físico subyacente. Sin embargo, el medio subyacente lo maneja de manera diferente.

Primero veamos brevemente sistema de archivos frente a medios de almacenamiento relación. El sistema de archivos interactúa con las direcciones de bloques lógicos (LBA), que son sólo números que representan una unidad de memoria. El mapeo del sistema de archivos con las LBAs es independiente de si el medio subyacente es un disco duro o un SSD.

En los discos duros, mapeo de LBAs a Cylinder-Head-Sectors (CHS; discos magnéticos giratorios) (1:1 / secuenciado / lineal) ( 1 ) se crea durante low-level formatting de la unidad de disco en el momento de la fabricación, que nunca cambia excepto si algún sector es marcado como malo por el firmware de la controladora de disco (en g-list de la tabla de defectos del disco) y reasignado a algún sector libre. El sistema operativo también puede marcar sectores defectuosos en el sistema de archivos para excluirlos del uso futuro, como CHKDSK lo hace en Windows durante el formato completo y e2fsck / badblocks hacer en Linux. Así que el sistema operativo es consciente de la geometría física del disco, que es propocional a la geometría de LBAs.

En las memorias flash (incluidas las SSD, las eMMC, las tarjetas SD y las memorias USB, etc.), la asignación de LBA a direcciones de bloque físico (PBA; células de silicio) está totalmente controlada por la capa de traducción de la memoria (FTL), que forma parte del firmware del controlador de memoria. El sistema operativo no sabe nada al respecto, puede ver como máximo los LBAs, no lo que ocurre por debajo, ni siquiera el ECC de células de memoria fallidas (al igual que los sectores defectuosos en el disco duro), y por eso no nos damos cuenta de la mala salud de la eMMC a menos que falle. Ya que una página de memoria no puede ser simplemente sobrescrita a diferencia de los HDDs, tiene que ser borrada primero antes de ser programada (escrita). Un efecto secundario es que se borran/reescriben varias páginas y el mapeo físico cambia incluso si se edita un pequeño archivo. En los discos duros, los archivos no se reemplazan físicamente a menos que se acorten o alarguen. El sistema operativo es consciente de estos cambios físicos en el disco duro, pero no en la memoria flash.

Así, en los discos duros, el sistema operativo es consciente de la fragmentación física, que es la misma que la del sistema de archivos (LBA), y defragmentation (como hace Windows regularmente) se produce a nivel físico. Pero en la memoria flash, no se puede hacer simplemente defragmentation en realidad, los controladores de memoria flash bastante buenos hacen la fragmentación a propósito como wear-leveling estrategia. El sistema operativo no tiene control sobre la fragmentación real a nivel físico (a menos que tenga algunas herramientas avanzadas para comunicarse con el controlador de flash). Sin embargo, el sistema operativo es consciente de la fragmentación dentro del sistema de archivos. Pero si usted desfragmenta el sistema de archivos, no desfragmentará la memoria flash.

También como @ Robert Como se menciona en el comentario, la fragmentación física no afecta en absoluto al rendimiento de la memoria flash porque no hay componentes mecánicos en la memoria flash, es decir, no hay latencia de búsqueda debido a que el cabezal se mueve por diferentes pistas como en los discos duros. La fragmentación del sistema de archivos -como piensan algunos expertos- puede tener cierto impacto debido al mayor número de solicitudes de E/S que el sistema operativo tiene que hacer para leer/escribir datos dispersos.


Resumiendo las líneas anteriores:

  • En los discos duros es el SO/sistema de archivos el que controla dónde se guardan realmente los datos en la memoria física, por lo que puede desfragmentarlos.
  • En los medios de almacenamiento flash, el SO/sistema de archivos no sabe dónde se guardan realmente los datos en la memoria física, por lo que no puede desfragmentarlos.

Dado que TRIM es importante para mejorar la velocidad del SSD, me gustaría ejecutar TRIM en mi teléfono

Cuando un sistema operativo pide a un sistema de archivos que envíe TRIM a la eMMC, en realidad solicita al controlador de la memoria flash que lo haga Garbage Collection - Borrar los PBAs que se asignan a los LBAs que pertenecen a archivos borrados. Así que el controlador eMMC mapea esos LBAs a bloques ya/nuevos borrados (PBAs). Esto no hará la desfragmentación. Vea la respuesta mencionada arriba para saber con qué frecuencia fstrim debe ser ejecutado.

¿EL RESTABLECIMIENTO DE FÁBRICA HACE EL RECORTE?

 Quiero restablecerlo pero no estoy seguro de si el TRIM también se ejecutará si lo hago

Factory reset en formato de dispositivos Android /data y /cache ( 2 ) particiones. Así que la cuestión es si el formateo va acompañado de TRIM o no.

Bueno, esto no puede ser estandarizado. Formatear y TRIM son cosas diferentes, así que depende de la utilidad de formateo si envía el comando TRIM a la eMMC o no. El formateo puede implicar partitioning pero en la mayoría de los casos (sobre todo en Android) es sólo el high-level formatting es decir, para crear estructuras de datos (por ejemplo, superbloques, tablas de archivos, directorios, mapas de bits de inodo/bloque, diarios, etc.) utilizadas por el SO para identificar el contenido de la partición.

Si recorremos las líneas del código fuente de stock recovery que se encarga de formatear las particiones durante el restablecimiento de fábrica, no vemos la noción de TRIM lo hace wipe_block_device ( 3 ) que llama BLKDISCARD o BLKSECDISCARD siempre que se apoyen ( 4 ) . Ambas ioctls son esencialmente TRIM a nivel de dispositivo de bloque (no a nivel de sistema de archivos). fstrim sólo se ejecuta por vold dentro del sistema operativo Android principal . Además, una de las herramientas utilizadas para crear un sistema de archivos mke2fs_static intenta para descartar el dispositivo antes de la creación del fs ( 5 ) pero no la otra herramienta e2fsdroid_static . Así que hay posibilidades de que la eMMC reciba una solicitud de TRIM/descarga durante el restablecimiento de fábrica, pero tenga en cuenta el pasado: Los teléfonos Android no borran completamente los datos cuando se ejecuta su opción de restablecimiento de fábrica .

4 votos

Muchas gracias. Esta es una respuesta muy apreciada. Responde más o menos a todo sin lugar a confusión. Gracias.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X