Mi viejo disco SSD de 128 GB tiene aproximadamente un año y medio de antigüedad, y desde entonces he actualizado a otro disco.
Me gustaría limpiar mi viejo SSD para ...
restaurar su rendimiento a niveles casi nuevos
rehabilitarlo y, en general, darle un chequeo de salud
¿Cómo voy a hacer esto?
ssd
maintenance
Jeff Atwood
fuente
fuente
Respuestas:
En Linux, simplemente ejecute
pasando el bloque oscila desea recortar en lugar de
start
ycount
y el dispositivo SSD en lugar de/dev/sda
. Tiene la ventaja de ser rápido y no escribir ceros en el disco. Por el contrario, simplemente envía comandos TRIM al controlador SSD para informarle que no le importan los datos en esos bloques y puede asumir libremente que no se utilizan en su algoritmo de recolección de basura.Probablemente necesite ejecutar este comando como root. Dado que este comando es extremadamente peligroso, ya que puede causar una pérdida de datos importante de inmediato, también debe pasar un
--please-destroy-my-drive
argumento ahdparm
(no lo he agregado a la línea de comandos para evitar la pérdida accidental de datos causada por copiar y pegar).En la línea de comandos anterior,
/dev/sda
debe reemplazarse con el dispositivo SSD al que desea enviar comandos TRIM.start
es la dirección del primer bloque (sector) a TRIM, ycount
es el número de bloques que se marcarán como libres de esa dirección inicial. Puede pasar varios rangos al comando.Habiéndolo hecho personalmente con hdparm v9.32 en Ubuntu 11.04 en mi computadora portátil con un Crucial RealSSD C300 de 128GB, tengo que señalar un problema: no pude pasar el número total de bloques de disco (0: 250069680) como el rango . Manualmente (esencialmente "búsqueda binaria" a mano) encontré un valor lo suficientemente grande para el conteo de bloques que funcionó (40000) y pude emitir comandos TRIM en una secuencia de rangos 40000 para liberar todo el disco. Es posible hacerlo con un script de shell simple como este (probado en Ubuntu 11.04 bajo root):
para borrar toda la unidad, tome ese número total de sectores y reemplace 250069680 en la siguiente línea con ese número y ejecute (agregar
--please-destroy-my-drive
):¡Y tu estas listo! Puede intentar leer el contenido sin formato del disco
hexedit /dev/sda
antes y después y verificar que la unidad haya descartado los datos.Por supuesto, incluso si no desea utilizar Linux como el sistema operativo principal de la máquina, puede aprovechar este truco arrancando un CD en vivo y ejecutándolo en la unidad.
fuente
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:
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!
fuente
Aparentemente, la recomendación estándar es hacer una escritura de unidad completa de todos los ceros. No estoy completamente seguro de por qué esto ayuda (¿muchas escrituras finalmente no eliminan las SSD?), Pero parece estar respaldado por los principales foros de soporte de SSD de proveedores.
Entonces, para hacer eso en Windows:
diskpart
Una vez en la utilidad, verá un
DISKPART>
mensaje y emitirá los siguientes comandos:Obviamente, ¡ ASEGÚRESE DE HABER SELECCIONADO LA UNIDAD SSD CORRECTA antes de continuar!
La magia aquí es
clean all
que escribe todos los ceros en la unidad :Después de hacer esto, puedo confirmar que el rendimiento del disco aumentó sustancialmente.
fuente
También encontré una herramienta, SSD Life Pro . Tiene algunas malas noticias para mí.
En cuanto a cómo calcula eso, utiliza los indicadores SMART SSD. Aparentemente trata de predecir basándose en datos SMART :
Esto es complicado porque también necesita saber cuándo se escribieron los datos para estimar, pero aquí están los datos subyacentes:
El número aterrador que hay es la vida restante de la unidad, que es 4 .. ¡por ciento!
Y los cálculos resultantes:
Para el registro, esta unidad se compró originalmente en octubre de 2009, por lo que tiene poco más de un año y medio.
fuente
Descubrí que escribir ceros a través del disco no es el mejor enfoque. Si bien podría ayudar a corto plazo, descubrí que definitivamente no restauró mi unidad a su rendimiento completo (tengo una Intel-SSD no habilitada para TRIM bastante antigua). Después de un año de uso bastante pesado, comencé a tener congelaciones de 1-2 segundos cuando el SSD intentaba escribir en cualquier archivo, incluso después de poner a cero el SSD.
La única cosa que he encontrado que restablece plenamente el rendimiento fue un borrado seguro utilizando
hdparm
. Me he acostumbrado a borrar de forma segura mi SSD cada 6-12 meses cuando comienza a experimentar algunos problemas menores. Alguien en Macrumors hizo un tutorial específico para mac sobre cómo hacerlo para dispositivos mac *.De acuerdo con todas las afirmaciones que he visto, un borrado seguro envía un comando especial al SSD que hace que establezca todos los sectores a cero en un nivel mucho más bajo que simplemente usar
dd
o algo así.fuente
En Mac, echa un vistazo a DigilloydTools DiskTester . También hay algunos puntos de datos interesantes para ver los efectos del reacondicionamiento en el rendimiento del disco.
fuente
cat /dev/zero > /tmp/bigfile
.Los ThinkPads tienen un menú de BIOS oculto (habilítelo con http://www-307.ibm.com/pc/support/site.wss/MIGR-68369.html ) que restablece su SSD.
fuente
Para verificar la vida útil de un SSD en un SSD (unidad de estado sólido), deberá instalar el paquete de Smartmontools. Contiene dos programas de utilidad (smartctl y smartd) para controlar y monitorear los sistemas de almacenamiento utilizando el Sistema de Tecnología de Auto Monitoreo, Análisis e Informes (SMART) integrado en los discos duros ATA y SCSI más modernos.
Para distribuciones basadas en Ubuntu, Mint o Debian
Media_Wearout_Indicator es lo que estás buscando. Por 100 significa que su SSD tiene 100% de vida, el número más bajo significa que queda menos vida.
Salida de mi laptop
Si desea ver más detalles y atributos completos de su unidad, puede ejecutar
Fuente: namhuy.net/1024/how-to-check-ssd-life-left.html
fuente
Ahora hay una respuesta mucho mejor para los sistemas Linux, en comparación con la respuesta @LeakyCode:
El comando "fstrim" de "util-linx" se ejecutará a través del sistema de archivos y emitirá comandos TRIM para todo el espacio no utilizado. En distribuciones como Ubuntu, esto está deshabilitado de manera predeterminada, excepto por una lista selecta de unidades "conocidas seguras" de Intel y Samsung. Pero el comando se puede ejecutar manualmente en cualquier partición para cualquier unidad.
fuente