¿Cómo funciona un disco duro?

Foto de Patrick Lindenberg

A lo largo de la carrera se explica el funcionamiento del ordenador, principalmente, y de algunos periféricos. Realmente, tras comprender la esencia, visto uno se sabe cómo son todos los demás.

Periféricos

Desde el punto de vista del ordenador, todos los periféricos son iguales. Básicamente disponen de tres canales de comunicación:

  • Dirección a la que se quiere acceder;

  • Datos a leer y escribir;

  • Control de la operación que se desea realizar (por ejemplo, leer o escribir)

Con esta interfaz da lo mismo que se acceda a la memoria, pantalla, disco duro, impresora o cámara de fotos: se indica la dirección y la operación a realizar y se ponen los datos o se leen. Esta interfaz es la que proporciona la controladora obteniendo independencia de acceso desde el punto de vista hardware.

Pero cada dispositivo es un mundo y no es lo mismo acceder a un disco duro que a una impresora. Por ejemplo, al escribir un 0 en cierta dirección del disco duro puede que se escriba el final de cierto fichero mientras que al escribirlo en la impresora le indicamos que se prepare para empezar a imprimir. Para lograr la misma independencia desde el punto de vista de las aplicaciones, los sistemas operativos incorporan fragmentos de código especial que “se entiende” con el dispositivo particular: el driver.

Uno de los dispositivos más interesantes por su utilidad son las controladoras de discos duros, aunque su comportamiento es extrapolable a otros dispositivos: CD/DVD, disquetes (esas cosas más o menos cuadradas de colorines que se usaban a finales del siglo pasado), pendrives, pantallas… o los modernos discos SSD.

Diseccionando un disco duro

Desde el punto de vista hardware, un disco duro es un conjunto de platos que giran sobre el mismo eje. Cada uno de los platos dispone de una cabeza lectora/escritora (una por cada cara) unidos a un único brazo que es capaz de moverse a lo largo de su radio. Todo este mecanismo queda oculto detrás de la controladora apropiada.

Diagrama de pistas, cilindros y sectores de un plato junto con un diagrama esquemático de 4 platos con 8 cabezas lectoras/escritoras.
Esquema de direccionamiento de un disco duro

Para acceder al disco es necesario saber en qué parte de qué disco es de interés. La controladora es capaz de descomponer la dirección indicada para determinar:

  • La cabeza lectora/escritora, que determina el disco y la cara que debe leerse.

  • Cada cara está dividida en círculos concéntricos que se denominan pistas. El conjunto de pistas de todos los platos, independientemente de la cabeza que acceda a ellas, se denomina cilindro.

  • Cada pista a su vez se divide en sectores (cada sector es capaz de almacenar 512 bytes de información).

El mecanismo por tanto consiste en posicionar las cabezas (el brazo es único por lo que se mueven todas juntas) hasta la pista apropiada y esperar a que el giro del disco haga que los sectores deseados lleguen hasta las cabezas obteniendo sólo los datos de aquella/s que interesa. Para mejorar el tiempo de acceso suelen leerse varios sectores consecutivos o el mismo conjunto de sectores, pero de distintas cabezas (cilindro). De esa forma se puede obtener simultáneamente con un único posicionamiento al menos 512 bytes de cada una de las caras (habitualmente 4—8, lo que significa 2—4 Kb de información en un movimiento).

Interfaces

Existen varias interfaces (con sus correspondientes drivers) que permiten controlar estos dispositivos.

De las más antiguas (data de 1986) está la interfaz IDE que permitía conectar dos discos a un único cable de 40 pines. En paralelo se desarrolló la interfaz SCSI con un mejor rendimiento y mayores costes lo que hizo que no se popularizara en el mercado doméstico: los equipos de escritorio usaban IDE y algunos servidores podían usar SCSI.

La interfaz IDE, fue progresivamente reemplazada por SATA (lanzado en 2003) hasta el cese de la fabricación en 2013. De igual manera la interfaz SCSI ha evolucionado a SAS.

Evidentemente, todas estas interfaces evolucionarán o serán reemplazadas con el tiempo para tener versiones más eficientes y adaptadas a la tecnología del momento.

Es muy común confundir la interfaz con el dispositivo de almacenamiento y se habla de discos SATA o SAS o SCSI como si determinara unívocamente las características de este.

Aunque existe una correlación entre la tecnología del dispositivo y la interfaz que proporciona la controladora establece ciertos límites, son combinables. Teóricamente, sería posible tener cualquier tipo de dispositivo con cualquier tecnología tras una controladora que proporcione cualquiera de las interfaces.

En la práctica, las limitaciones de la interfaz/controladora hacen poco adecuado tener, por ejemplo, un disco SSD con interfaz IDE: la interfaz IDE no está optimizada para aprovechar las prestaciones de un disco SSD.

Demostración

Para finalizar una pequeña demostración de cómo funciona un disco duro real. Se puede ver el movimiento de las cabezas para realizar distintos tipos de lecturas y escrituras. A destacar la velocidad de giro y posicionamiento de las cabezas junto con el característico sonido de cualquier ordenador.

Aviso a navegantes: No hagas esto con un disco duro útil ya que es posible que sufra daños irreparables 😉

Este artículo se publicó originalmente el 25 de agosto de 2006 y se republicó el 28 de febrero de 2008. Esta es una versión revisada y actualizada de ambos artículos

Avatar
Oscar Cubo Medina
Ingeniero en informática

Director Técnico en CeSViMa. Ciencia, informática, música, libros y nuevas tecnologías.