En informática, un comando TRIM permite a un sistema operativo decirle a una unidad de estado sólido (SSD) qué bloque de datos no está ya en uso, como los dejados al borrar ficheros. Una operación del SO como un borrado generalmente sólo marca los bloques implicados como no usados. TRIM permite que le SO pase esa información al controlador de la SSD, que de otra manera no sabría qué bloques puede eliminar.
El propósito de la instrucción es mantener la velocidad de la SSD durante toda su vida útil, evitando la ralentización que los primeros modelos sufrían al llegar a escribir en todas las celdas al menos una vez.
Aunque las herramientas ya estaban disponibles para reiniciar algunas unidades a su estado original, también eliminan todos los datos en la unidad, lo que las descarta para usarlas como optimizadoras.
La causa inicial del problema es que las unidades SSD no saben que bloques están realmente en uso y cuáles están libres. Las SSD no entienden la estructura del sistema de ficheros usada por el sistema operativo del ordenador y no puede acceder a su lista de clusters sin usar. Esto causa problemas en dos lugares:
•Las SSD pueden escribir bloques de 4KiB, pero debido a limitaciones del hardware, deben borrar bloques mayores (p.e., de 128KiB-512KiB). Debido a que la unidad no puede saber cual de los bloques de 4KiB está aún en uso si antes ha sido escrito, cada escritura requiere un ciclo mayor de lectura-borrado-modificación-escritura, asumiendo que ningún bloque libre adicional está disponible en la SSD (p.e., después de que todos los bloques han sido marcados como grabados al menos parcialmente). El término para este fenómeno es amplificación de escritura.
•El wear levelling permite a una unidad recolocar sus datos para que las escrituras no estén confinadas a una esquina del chip flash. Las células flash toleran sólo un número limitado de escrituras antes de fallar, así que algunas SSD mueven los datos para repartir la carga de escrituras de manera más equitativa entre todos los bloques en la unidad. Debido a que la unidad no sabe qué bloques están realmente en uso por el sistema de ficheros, cada bloque de datos escrito por la unidad requiere una escritura adicional debido al bloque desplazado.
Las especificaciones del comando TRIM5 están siendo normalizadas como parte de la norma del interfaz ATA, dirigida por el Comité Técnico T13 del International Committee for Information Technology Standards. [Wikipedia]
No hay comentarios:
Publicar un comentario