¿Debo desfragmentar una unidad SSD? [duplicar]

57

¿Puedo ejecutar Windows defragen una SSDunidad?

Bueno, yo creo que la respuesta corta es , he oído que las unidades SSD requieren especiales y específicos de los programas adaptados de desfragmentación.

¿Es cierto y, de ser así, dónde puedo conseguirlo?

Royi Namir
fuente
66
En reallity, no es necesario / no quieren desfragmentar una unidad SSD ... no sería hacer que su acceso más rápido, etc.
woliveirajr
Creo que casi todas estas respuestas de fragmentación de SSD de superusuario son incorrectas ... al menos en lo que respecta a las escrituras fragmentadas. Sí, use nivelación intencionalmente fragmenta archivos. Sin embargo, eso sucede en incrementos del tamaño del bloque de borrado. Si la porción mínima del sistema de archivos es más pequeña que el bloque de borrado (casi siempre, y en gran medida), entonces un archivo fragmentado cuando se escribe dará como resultado que se reescriban muchos más bloques de borrado. En realidad, puede ser un éxito de rendimiento de escritura bastante sustancial si los fragmentos / agrupaciones / inodes / etc. en varios bloques de borrado están muy fragmentados.
Darron
Y se pone mucho peor con el almacenamiento flash "barato" como USB y SD: google.com/search?q=how%20to%20damage%20flash%20storage
MarcH

Respuestas:

110

Como parece haber cierta controversia sobre esto, pensé que sería útil dar una explicación detallada:

Nunca debe desfragmentar un SSD. Ni siquiera lo pienses. La razón es que la ubicación de los datos físicos en un SSD es manejada únicamente por el firmware del SSD, y lo que informa a Windows NO es cómo se almacenan realmente los datos en el SSD.

Esto significa que la ubicación de datos físicos que muestra un desfragmentador en su gráfico de sector elegante no tiene nada que ver con la realidad. Los datos NO están donde Windows piensa que están, y Windows no tiene control sobre dónde se ubican realmente los datos.

Para igualar el uso en sus chips de memoria interna, el firmware SSD divide intencionalmente los datos en todos los chips de memoria del SSD, y también mueve los datos en estos chips cuando no está ocupado leyendo o escribiendo (en un intento de igualar el uso del chip .)

Windows nunca ve nada de esto, por lo que si hace una desfragmentación, Windows simplemente causará un montón de E / S innecesarias al SSD y esto no hará nada más que disminuir la vida útil del SSD.

Pequeño ayudante
fuente
8
@Royi En realidad, la lectura no hace daño a un SSD, la escritura sí.
Little Helper
54
Además, los SSD no tienen tiempo de búsqueda, por lo que no habría ningún beneficio de rendimiento al diseñar sus archivos en bloques consecutivos.
200_success
55
@ OlivierDulac: si bien sus datos son correctos, las conclusiones son completamente erróneas. Son 3K ciclos por celda , los SSD tienen chips avanzados que se aseguran de distribuir las escrituras por igual en las celdas y evitar puntos de acceso. Y con TLC es incluso solo 1000 ciclos por celda. Lo que significa que 256GB TLC SSD, con 10GB al día de escrituras con amplificación 3x, durará 12 años. El SSD MLC de 256 GB en las mismas condiciones durará 70 años . E incluso eso son estimaciones muy conservadoras, en la vida real parecen durar mucho, mucho más tiempo anandtech.com/show/6459/…
vartec
55
@ 200_success En realidad, los SSD tienen tiempo de búsqueda. Más específicamente, los SSD leen y escriben más rápido cuando usa datos secuencialmente. Esta persona lo explica mucho mejor que yo: dpreview.com/forums/post/40353067 No sé si este aumento de velocidad se debe a algún tipo de "falta de caché", porque cambiar la dirección lleva tiempo, o algo que puedo ' No lo imagine, pero los SSD tienen un retraso para usos no secuenciales. Y eso, para mí gente, significa que tienen un tiempo de búsqueda.
Patrick M
25

Alguien (200_success) hizo un comentario que es mucho más relevante para la pregunta y merece un mejor detalle.

En primer lugar: HDD significa unidad de disco duro, y realmente tiene un disco dentro. Este disco está dividido en pequeñas piezas, llamadas sectores, donde se almacena la información. Echa un vistazo a esta imagen:

Imagen de disco

Un sector se indica con la letra C.

Ahora, este sector es muy pequeño: solo 512 bytes, en general. Entonces, para almacenar un archivo común de 10k, necesitará usar muchos sectores.

Imagine que esos sectores son uno tras otro, como la representación verde, letra D, en la imagen. Cuando necesite leer el archivo, el cabezal del disco duro se colocará al comienzo del primer sector y los leerá todos, mientras el disco gira.

Así es como deberían funcionar las cosas.

Ahora puede suceder que el archivo se extienda a lo largo de muchos sectores, cada uno en una parte del disco. ¿Qué significa eso? Que para volver a leer su archivo, el cabezal del disco duro se colocará al comienzo del primer sector, léalo, luego tendrá que moverse al comienzo del segundo sector (que está en otro lugar del disco), lo leerá, y así sucesivamente ...

Esto tomará mucho tiempo. Estamos hablando de un movimiento físico de la cabeza. Cuanto más se mueve la cabeza, más tiempo tarda.

Entonces, desfragmenta el disco: el programa intenta mover todas las partes del archivo para que terminen en secuencia, siendo más fácil y rápido de leer, ya que habrá menos movimiento físico de la cabeza para leer todo.

Ok hasta ahora? Entonces comenzamos a hablar sobre SSD: son un montón de chips de memoria en una placa. Cuando guarda o lee algo de ellos, el chip controlador solo necesita activar algunos bits y, voilà , el chip correcto se lee de la memoria. Y no importa dónde esté almacenado, la acción de acceder a un chip de memoria es mucho más rápida que el movimiento físico del HDD. Entonces, en términos generales, no notarías ese tiempo en un archivo fragmentado en un SDD.

Y, al ser más detallado y correcto, el chip controlador distribuirá su archivo entre muchos chips para aprovechar las lecturas paralelas y así sucesivamente, de modo que sepa cómo manejar sus archivos para que siempre se almacenen de la mejor manera (optimizado sobre la velocidad y desgaste de esos chips de memoria) de lo que Windows podría saber.

woliveirajr
fuente
La fragmentación no es solo un problema del disco físico, sino también del sistema de archivos que administra sus datos. Los archivos altamente fragmentados tienen muchas extensiones / ejecuciones almacenadas en su registro NTFS, que deben procesarse cuando se lee todo el archivo desde el disco. Eso no es diferente en un SSD.
Gene
La desfragmentación que resuelve algunos problemas menores de la organización NTFS es una clase diferente de la desfragmentación que compensa los problemas de rendimiento debido a los discos giratorios con cabezas móviles. La única razón por la que NTFS incluso tiene estas extensiones es por el bien de discos giratorios con cabezas móviles, ¿verdad?
Kaz
@Gene: No dijo que está usando NTFS ... Sí, la desfragmentación ayuda al rendimiento, si eres un usuario superior :-). Pero no ese resultado sorprendente que alguien tuvo cuando defragmentó un disco en la era Win95. Y ejecutar desfragmentación a menudo solo para ganar esos .01 microsegundos no vale la pena. Preocupándose por la desfragmentación en SSD y, en pocos días, discutiremos si valdrá la pena cambiar la intercalación de los sectores en SSD como lo fue en esos disquetes . ;-)
woliveirajr
2
@woliveirajr: recuerdo haber cambiado la intercalación en mi HDD a fines de la década de 1980, y la velocidad de mi PC se había más que duplicado. De vez en cuando me pregunto si intercalar haría alguna diferencia en las PC de hoy.
Paddy Landau
@PaddyLandau :) Hasta donde yo sé, todos los discos duros en realidad no necesitan intercalación (todos los sectores se leen en una fila, no es necesario establecer una intercalación)
woliveirajr
13

La herramienta de desfragmentación incorporada en Windows 8 no desfragmentará su SSD, sino que enviará un montón de comandos de recorte al dispositivo. Para más detalles sobre esto, vea esta pregunta . Como Roberts ya señaló, no desea desfragmentar su SSD en absoluto.

Gene
fuente
2
Eso es genial, no sabía que Windows 8 podría optimizar los SSD. Para mi unidad Intel en Windows 7, puede usar un programa llamado SSD Toolbox de Intel para optimizar el rendimiento de la unidad. Sin embargo, nunca me di cuenta de que realmente hace alguna diferencia.
Tim B