En primer lugar, comencemos por comprender qué es lo que causa la degradación del rendimiento. Sin saber esto, muchas personas sugerirán soluciones inadecuadas (como ya veo que sucede). El quid de toda esta situación básicamente se reduce al siguiente hecho, como se cita de Wikipedia . Recuérdalo, es importante:
Con la memoria flash NAND, las operaciones de lectura y programación deben realizarse página por página, mientras que el desbloqueo y el borrado deben realizarse en bloque.
Los SSD están formados por flash NAND, y el flash consiste en "bloques". Cada bloque contiene muchas "páginas". En aras de la simplicidad, imaginemos que acabamos de comprar un nuevo SSD brillante que contiene un enorme bloque de memoria, y ese bloque consta de 4 páginas vacías.
En aras de la claridad, distingo entre páginas vacías, páginas usadas y páginas eliminadas con ∅, 1 y X. ¡La clave es que hay una diferencia entre cada una de ellas desde la perspectiva de los controladores! No es tan simple como 1 y 0. Entonces, para comenzar, las páginas de nuestro nuevo disco se ven así:
∅, ∅, ∅, ∅ (todo vacío)
Ahora, vamos a escribir algunos datos en el disco, y termina siendo almacenado en esa primera página, por lo tanto:
1, ∅, ∅, ∅
A continuación, escribimos un poco más de datos, solo que esta vez requiere dos páginas y, por lo tanto, se almacena en la segunda y tercera página:
1, 1, 1, ∅
¡Nos estamos quedando sin espacio! Decidimos que realmente no necesitamos los datos iniciales que escribimos, así que eliminemos para hacer espacio .:
X, 1, 1, ∅
Finalmente, tenemos otro gran conjunto de datos que necesitamos almacenar que consumirá las dos páginas restantes. ¡ESTO ES DONDE EL GOLPE DE RENDIMIENTO OCURRE EN CONDUCCIONES SIN RECORTAR! Pasando de nuestro último estado a este:
1, 1, 1, 1
... requiere más trabajo del que la mayoría de la gente piensa. Nuevamente, esto se debe al hecho de que el flash solo puede borrarse en forma de bloque, no de página, que es precisamente lo que requiere la transición final anterior. ¡El diferenciador entre los SSD TRIM y los no basados en TRIM es cuando se realiza el siguiente trabajo!
Dado que necesitamos utilizar una página vacía y una página eliminada, el SSD primero debe leer el contenido del bloque completo en alguna memoria / almacenamiento externo, borrar el bloque original, modificar el contenido y luego volver a escribir ese contenido en el bloque. No es tan simple como una "escritura", sino que ahora se ha convertido en una "lectura-borrado-escritura". Este es un gran cambio, y que ocurra mientras escribimos muchos datos es probablemente el momento más inoportuno para que ocurra. Todo podría evitarse si esa página "eliminada" se recuperara antes de tiempo, que es precisamente lo que TRIM pretende hacer. Con TRIM, el SSD recupera nuestras páginas eliminadas inmediatamente después de la eliminación o en algún otro momento oportuno que sus algoritmos TRIM consideren apropiado. Sin embargo, la parte importante es que con TRIM no sucede cuando estamos en medio de una escritura.
Sin TRIM, en última instancia, no podemos evitar el escenario anterior mientras llenamos nuestras unidades con datos. Afortunadamente, algunos SSD más nuevos van más allá de TRIM y efectivamente hacen lo mismo que TRIM en segundo plano a nivel de hardware sin los comandos ATA necesarios (algunos llaman a esto recolección de basura). ¡Pero para aquellos de nosotros que tenemos la mala suerte de no tener ninguno, es importante saber que escribir ceros en toda la unidad no es suficiente para recuperar el rendimiento original! Escribir todos los ceros en la unidad no indica al controlador que la página en flash es libre para escribir. La única forma de hacerlo en una unidad que no admite TRIM es invocar el comando de borrado seguro ATA en su unidad utilizando una herramienta como HDDErase (a través de Wayback Machine) .
Creo que hubo algunos SSD tempranos que solo admitían TRIM al eliminar particiones o sobre cosas tales como "diskpart clean all" de Windows 7, y no sobre la eliminación de archivos individuales. Esta puede ser una razón por la cual un disco antiguo parecía recuperar el rendimiento al ejecutar ese comando. Sin embargo, esto me parece un poco confuso ...
Gran parte de mi conocimiento de SSD y hardware / gadgets en general proviene de anandtech.com . ¡Pensé que tenía una gran crítica explicando todo esto, pero por mi vida no puedo encontrarla!