Uno de los grandes problemas de los discos duros estriba en la manera en la que almacenan la información. Y es dicho método de almacenaje, el que puede hacer que nuestro disco duro pierda mucho rendimiento a la hora de buscar archivos en sus platos. Para solucionar este problema existe una herramienta como el desfragmentador de discos en Windows. Así que, en este tutorial, vamos a ver cómo nos puede ayudar el desfragmentar a recuperar el rendimiento en nuestro disco duro.
Que sea necesario desfragmentar un disco duro es por la manera en la que éstos almacenan la información, y es algo que como veremos al final de este artículo, no sucede con los SSD. Se trata de una tarea de mantenimiento que es recomendable ejecutar cada cierto tiempo.
Los más veteranos del lugar recordarán una utilidad incluida en las últimas versiones de MS-DOS bajo el nombre de DEFRAG, la cual se encargaba de desfragmentar el disco duro y que era una de las utilidades de mantenimiento más utilizadas junto al CHKDSK. A día de hoy ambos se siguen utilizando, pero en este artículo os hablaremos de la utilidad de desfragmentación y porque es necesaria.
¿Por qué ocurre la fragmentación en un disco duro?
Para entender qué le sucede a los discos duros cuando iniciamos el proceso de desfragmentación, primero es necesario entender por qué esta información que contienen se fragmenta y cómo afecta tanto al rendimiento como a la vida útil del dispositivo. La información en los discos duros se almacena de manera secuencial. Esto es debido a que, dado que se graba sobre un plato magnético que gira a alta velocidad y es grabada por un cabezal, este debe de seguir el sentido de giro del plato en cuestión.
Por otro lado, el plato se encuentra dividido en sectores. Cada sector es una parte de la superficie del disco duro, sobre la cual se pueden grabar datos. Un conjunto de varios sectores colindantes forman lo que se conoce como «cluster» (literalmente, racimo).
Cuando la cabeza del disco duro tiene que grabar un dato, lo primero que hace es buscar el primer sector que hay libre en la superficie del plato. Pero no tiene en cuenta qué tamaño total tiene el archivo. Por tanto, cuando nuestro disco duro está nuevo y no tiene datos grabados sobre él, la cabeza del disco puede grabar los datos de manera secuencial sin problemas. El problema surge cuando ya llevamos un tiempo usando el disco con continuas escrituras y borrados dentro del disco.
Debido a la forma en la que la CPU ejecutando un disco duro en conjunto con sistemas operativos como Windows, Linux y muchos otros es necesario de tanto en cuando realizar una desfragmentación del disco.
Desfragmentar el disco duro reordena todos los datos de manera coherente
Debido a que las CPU actuales utilizan un sistema de acceso a la memoria basada en memoria virtual lo que se hace es almacenar los datos por páginas, lo que provoca que a medida que usamos nuestro disco duro, su superficie se irá llenando de «agujeros» de datos.
Esto se produce a medida que vamos borrando datos que teníamos grabados. Estos datos dejan huecos donde no hay ningún dato guardado. Así que, cuando el disco duro va a guardar un nuevo dato, lo primero que va a hacer es llenar los huecos vacíos que tiene el plato. El problema está ahora en que los datos nuevos no tienen por qué tener el mismo volumen que los previamente borrados. Con lo cual, Windows irá guardando la información en diferentes sectores.
El resultado de esto no es otro que hay partes del disco que se asignan a una página de memoria, pero que realmente no almacenan nada de nada y se convierten en espacio muerto.
Esto, además lo que provoca es que la información se fragmente. Es decir, que los datos no estén unos al lado del otro. La consecuencia de este hecho radica en que, acceder a la información será mucho más lento que si los datos están uno al lado del otro debido a que es más fácil acceder a los datos en forma secuencial que aleatoria. Dado que la cabeza del disco duro ha de ir saltando entre diferentes posiciones del disco para leer los datos almacenados en los sectores.
En la imagen podéis ver que, los sectores de color azul contienen datos que no se han fragmentado. Pero, los de color rojo, tienen datos fragmentados.
Desfragmentar el disco duro copia los datos fragmentados a una parte del disco duro, de manera que estén todos juntos. Para, luego, volver a copiarlos de manera que queden agrupados de manera secuencial, uno al lado del otro, para así ganar rendimiento en el acceso a los datos, así como para recuperar los espacios muertos de los datos.
Esto supone un proceso lento según el tamaño del disco duro y una reconstrucción del archivo de paginado desde cero. Recordad que el archivo de paginado es el archivo que luego es copiado en la RAM
¿Es necesario hacer este mismo proceso con nuestros SSD?
La respuesta corta es que no, no solamente no es necesario realizar el proceso de desfragmentado en un SSD, sino que, además, puede ser contraproducente para una unidad de almacenamiento de este tipo por su naturaleza. Por este motivo, en las últimas versiones de Windows 10 el propio sistema operativo ya no permite desfragmentar el SSD sino que cuando detecta este tipo de unidad, la utilidad lo que hace es ofrecernos una optimización que realiza otros procesos como garbage collection entre otros.
Dado que los SSD no tienen platos que giran como los discos duros, en ellos la información se almacena en las células de memoria de manera no secuencial. Y, al no depender del movimiento de un cabezal para grabar o leer los datos, no es necesario que estén unos al lado del otro y por tanto no existe latencia añadida por cambiar de sector o de plato. Pero, por otro lado, cada célula de memoria NAND Flash tiene un número finito de ciclos de escritura, por lo que ir desfragmentando todo el rato reduce la vida útil de la unidad.
Dicho número es bastante inferior a los ciclos que soporta un disco duro. Por tanto, no es nada aconsejable desfragmentar un SSD. Aparte que, hacerlo no representa ninguna ganancia de rendimiento a la hora de acceder a los datos, por lo que si tienes un PC basado en una unidad de almacenamiento SSD en exclusiva te recomendamos no utilizarlo e incluso deshabilitar o desinstalar esta aplicación de mantenimiento de Windows.