En el interior de nuestro ordenador hay un mecanismo capaz de guardar miles de millones de bits. En él almacenamos nuestros documentos, aplicaciones, fotografías, etc. Hablamos, por supuesto, del disco duro. Conocido como "hard disk" en inglés y abreviado generalmente como HD o HDD (Hard disk o Hard Disk Driver), suele pasar inadvertido, excepto cuando se llena (y nuestro sistema operativo comienza a dar señales de alarma) o cuando tiene algún fallo, en cuyo caso nuestra salud mental es la que emite las alarmas, salvo que tengamos copias de resguardo (ver artículo al respecto en Neoteo).

Los discos duros utilizan un sistema de grabación magnética, similar a la que se utiliza en los grabadores de casetes de audio, pero con platos de metal (o en algunos casos de cerámica o cristal) recubiertos de óxidos ferrosos en lugar de cinta. La rigidez de este soporte es la que le da el nombre de "duro". Dentro de la carcasa generalmente se apilan dos o tres platos que giran a gran velocidad (7200 o 10000 rpm en un disco moderno). Una serie de cabezales (uno por cara del disco) montados sobre brazos que les permiten acceder a cualquier punto de la superficie magnética son los encargados de leer o escribir sobre los discos la información que envía (o solicita) el ordenador.

Un disco duro recibe este nombre por basar su funcionamiento en una serie de discos rígidos (en contraposición con otros sistemas de discos "blandos", como los disquetes) dispuestos sobre un eje y girando a una velocidad elevada, sobre los que los cabezales de lecto/escritura van a leer o grabar los datos, tal como mencionábamos antes. A cada lado de los platos se lo llama "cara", y sobre cada cara hay un brazo con un cabezal.

Estos cabezales son muy pequeños, porque es su tamaño el que determinará qué superficie del disco ocupa cada "0" y "1" del dato guardado. En general constan de un electroimán construido con unas pocas vueltas de un alambre muy delgado. Como el campo magnético generado es muy débil, deben estar muy cerca del disco para poder leerlo (o grabarlo), típicamente a unas milésimas de milímetro. Esto se logra dejándolos "flotar" sobre la superficie del disco, montados en la corriente de aire que se genera con el giro de estos.

Los cabezales, montados sobre un brazo móvil, son controlados por la electrónica existente en el disco duro, de manera de poder ubicarse en la región donde se encuentra el dato a leer.

Los datos se organizan en forma de pistas concéntricas, numeradas desde el borde exterior (pista cero) hasta el interior. El número de pistas varía de un disco a otro, dependiendo de su diámetro, del tamaño de los cabezales, etc. Esta densidad de pistas es uno de los parámetros que determinan la capacidad del disco.

Las pistas están agrupadas en "cilindros", que son el grupo de pistas de las diferentes caras que tienen el mismo número. Por ejemplo, el cilindro 37 está formado por la pista 37 de los platos 1, 2, 3, etc.

Los cilindros se dividen en "sectores", en forma radial, tal como una pizza se divide en porciones.

Todas estas divisiones y convenciones sirven para ubicar los datos dentro del disco, es decir, forman parte de la "direccion" del dato. El primer sistema de direccionamiento que se usó es CHS (cilindro-cabeza-sector), ya que con estos tres valores se puede situar cualquier dato del disco. Un dato determinado puede estar grabado en el sector 3 del cilindro 5 de la cara 4, por dar un ejemplo. En la actualidad se utiliza un sistema más sencillo, llamado LBA (direccionamiento lógico de bloques), que consiste en dividir el disco entero en sectores y asignar a cada uno un único número. Este es el sistema usado actualmente.

Hay distintos estándares a la hora de comunicar un disco duro con el ordenador. Los más utilizados son IDE/ATA, SCSI y SATA (Serial-ATA).

Desde el punto de vista lógico, hay convenciones en la forma en que los datos se distribuyen en el disco duro. Si bien hay algunas variaciones de un sistema operativo a otro, en líneas generales todos comparten el tener un Master Boot Record o MBR (en el sector de arranque), que contiene la tabla de particiones, una especie de "mapa" de la ubicación de los datos, y una serie de particiones (explicaremos este concepto más adelante) donde se colocan los sistemas de archivos.

Disco duro
Interior de un disco duro. Se ven los platos, brazos, cabezales, etc.
Disco duro
Exterior de un HD. Se ven algunos chips de la electronica de control.

Características a tener en cuenta

Las características más sobresalientes, desde el punto de vista mecánico, que se tienen en cuenta al comparar un disco duro con otro son las siguientes:

  • Tiempo que tarda el disco en girar media vuelta: una vez que los cabezales del disco duro se sitúan en el cilindro deseado, el disco debe girar hasta que el dato se sitúe bajo las cabezas. Este tiempo es, en promedio, el tiempo que tarda en dar medio giro. Es inversamente proporcional a la velocidad de giro.
  • Tiempo medio de acceso: es el tiempo medio que tardan en situarse los cabezales en el cilindro deseado. Por lo general es más o menos una tercera parte del tiempo que tarda el brazo en ir desde el centro al exterior o viceversa.
  • Tiempo máximo de acceso: tiempo que tarda el brazo que porta los cabezales en ir del centro al exterior o viceversa.
  • Tiempo pista a pista: es el tiempo que tarda el brazo en pasar de la pista actual a la adyacente.
  • Tasa de transferencia: velocidad a la que el disco duro puede transferir la información al ordenador. Puede ser velocidad sostenida o de pico.
  • Caché de pista: los discos duros disponen de una memoria sólida, del tipo RAM, dentro del disco, que se utiliza como caché.
  • Interfaz: medio mediante el cual un disco duro se comunica con el ordenador. Puede ser IDE, SCSI, USB o Firewire.
Disco duro
Detalle de los brazos que portan los cabezales.
Disco duro
HD externo, wireless, de ASUS.

Particiones

Se llama "particionado" de un disco duro al procedimiento por el cual se crean divisiones lógicas en él, que permiten más tarde aplicar el formato que corresponda a algún sistema operativo específico.

El particionamiento es una técnica simple que puede considerarse como un precursor de la gestión de volúmenes lógicos, conocida (en inglés) como Logical Volume Management (LVM). Mediante esta técnica se puede ejecutar o instalar más de un sistema operativo en un ordenador, sin necesidad de particiones específicas. Esta técnica es la que permite los "live CD" o el booteo desde un pen drive.

Si hablamos de la arquitectura IBM PC, una partición es una parte del disco duro que puede tener su propio sistema de archivos, independiente de las demás. Existen tres tipos de particiones principales:

  1. Partición primaria
  2. Partición extendida, que contiene una o más particiones lógicas
  3. Partición lógica

Según las especificaciones de esta arquitectura, el disco duro solamente puede tener un máximo de 4 particiones primarias o extendidas (ambas se consideran iguales en este punto). Es decir, se pueden tener 4 particiones primarias, o 3 primarias y 1 extendida, 2 primarias y 2 extendidas, etc. Esto no significa que no haya desviaciones posibles para este esquema; de hecho, existen productos capaces de modificar la secuencia de arranque extendiendo este limitado esquema de particiones.

Las particiones extendidas son necesarias para poder superar el límite máximo de 4 particiones por cada disco duro, y así poder crear un número ilimitado de particiones lógicas, cada una con un sistema de archivos diferente de las demás. Algo que hoy nos puede parecer elemental o cotidiano, como el hecho de tener más de un sistema operativo corriendo en nuestro ordenador, era casi de ciencia ficción hace 25 años, cuando se definieron la mayoría de las estructuras en las que se basan los esquemas de partición (y otras tantas normas del mundo de las PC). Como solo algunos sistemas operativos (como OS/2, Linux y cualquier Windows basado en Windows NT, como es el caso de Windows XP) son capaces de arrancar desde una partición lógica, se suele recomendar utilizar las particiones lógicas solamente como almacén de ficheros, aunque en la práctica no es tan así.

En un ordenador "normal", a una partición se le da formato mediante un sistema de archivos como FAT o NTFS, y el sistema operativo le asigna una letra de unidad. Se puede ver el contenido de un volumen haciendo clic en el icono correspondiente en el Explorador de Windows o desde Mi PC.

Disco duro
Detalle de un cabezal.
Disco duro
Piezas de un disco duro.

Formateo

Esta palabra, que probablemente no esté en un diccionario convencional, se refiere a la acción de dar formato a un disco duro. En informática, el formato de un disco es el procedimiento por el cual se fija la manera en la que estarán dispuestos los datos en él. Aunque hay dos tipos de formato (el físico y el lógico), normalmente un usuario utilizará el formateo lógico. Veamos en qué consisten ambos:

  • Formato físico: es el que realiza el fabricante del disco. Se encarga de dividir el disco en sectores que luego se organizarán de distintas maneras con el formato lógico.
  • Formato lógico: puede ser realizado por los usuarios, aunque muchos discos modernos vienen ya formateados de fábrica. El formato lógico se encarga de implantar un sistema de archivos que asigna sectores a archivos. La forma en que se distribuyen los sectores, los tamaños de los mismos, etc. es propia de cada sistema operativo, e incluso un mismo sistema operativo puede utilizar más de una norma, como el caso de Windows XP, que permite la utilización de FAT32 o NTFS indistintamente. El usuario puede elegir el que le resulte más conveniente en cada momento.

Al formatear una unidad lógica se eliminan todos los datos, debido a que se cambia la asignación de archivos en sectores, con lo que se pierde la vieja asignación que era la que permitía acceder a los archivos. Antes de poder usar nuestro disco duro para guardar información, este deberá estar formateado. Esto lo prepara para guardar la información. Los discos removibles, como disquetes, CD-ROMs, Zip, unidades USB, etc., normalmente se encuentran ya formateados, aunque algunas veces puede ser necesario que nosotros efectuemos el formateo.

Habitualmente, un formateo completo hace tres cosas:

  1. Borra toda la información anterior.
  2. Establece un sistema para grabar disponiendo qué y dónde se ubicará en el disco.
  3. Verifica el disco sobre posibles errores físicos o magnéticos que pueda tener.

De esta manera, el disco queda listo para su uso.

Disco duro
Disco externo, con interfaz USB

RAID

La sigla “RAID” (Redundant Array of Inexpensive Disks, algo así como Arreglo Redundante de Discos Económicos) designa una serie de normas que permiten utilizar un agrupamiento de discos como si fuera uno solo de mayor capacidad y rendimiento, pero (casi siempre) tolerante a fallos. Es decir, en caso de que uno de ellos deje de funcionar, dependiendo del nivel de RAID que tengamos implementado, el sistema podrá seguir funcionando, o al menos debería recuperarse sin pérdidas de datos. Si bien oficialmente se han definido siete niveles de RAID, solo los niveles 0, 1, 0+1 y 5 son populares. Veamos brevemente en qué consiste cada uno.

RAID 0

Conocido como “Disk Striping”, brinda un aumento de la velocidad de escritura y lectura de los datos, pero sin tolerancia a fallos. Básicamente, consiste en dividir cada byte del dato a grabar en partes y grabarlas en diferentes discos. Esto brinda una velocidad mayor de acceso (a medida que aumenta el número de discos, más alta es la velocidad). Esto representa una gran ventaja en operaciones secuenciales con ficheros de gran tamaño. Por lo tanto, este nivel es aconsejable en aplicaciones de tratamiento de imágenes, audio, etc.; es decir, es una buena solución para cualquier aplicación que necesite un almacenamiento a gran velocidad pero que no requiera tolerancia a fallos. Se necesita un mínimo de dos unidades de disco para implementar una solución RAID 0. Imaginen que debemos escribir “00110101” en un disco convencional, y que la escritura de cada byte toma 1 milisegundo. Si lo guardamos en un arreglo RAID 0 de 4 discos, el primero de ellos guardará “00”, el segundo “11”, el tercero “01” y el cuarto “01”. Si todos los discos tienen la misma velocidad de acceso, el tiempo será la cuarta parte del original.

RAID 1

“Mirroring” (“Espejado”). Este método es más rápido que un disco y más seguro. Se utilizan discos adicionales sobre los que se graban duplicados de cada byte escrito en el disco original. En caso de daños, la controladora de discos duros sigue trabajando con los discos no dañados sin detener el sistema. Los datos se pueden leer desde la unidad o matriz duplicada sin que se produzcan interrupciones. Se necesita un mínimo de dos unidades para implementar una solución RAID 1.

RAID 0+1 / RAID 0/1 ó RAID 10

Esta es una combinación de los dos casos anteriores: se fraccionan los datos para mejorar el rendimiento, pero también se utilizan conjuntos de discos duplicados para conseguir redundancia de datos. Al ser una variedad de RAID híbrida, RAID 0+1 combina las ventajas de rendimiento de RAID 0 con la redundancia que aporta RAID 1. Sin embargo, la principal desventaja es que requiere un mínimo de cuatro unidades y solo dos de ellas se utilizan para el almacenamiento de datos. Este nivel de RAID es el más rápido y el más seguro, pero tiene la contra de ser el más costoso de implementar.

RAID 2

Este método utiliza una técnica llamada ECC (Error Correction Code, o Código de Corrección de Errores), que es el mismo utilizado en las memorias RAM. Se basa en la utilización del método de Hamming, que brinda redundancia dentro de los datos grabados en un mismo disco. RAID 2 casi no ha sido implementado en productos comerciales, básicamente porque requiere características especiales en los discos y no usa discos estándares.

RAID 3

Este método, similar al RAID 1, divide la información a guardar en varios discos y utiliza otro para guardar un bit “de paridad”. La recuperación de datos se consigue calculando el OR exclusivo (XOR) de la información registrada en los otros discos. Se necesita un mínimo de tres unidades para implementar una solución RAID 3.

RAID 4

Muy similar al RAID 3, también se basa en la utilización de un disco extra para almacenar un bit de paridad, pero con la ventaja de que se puede acceder a los discos de forma individual.

RAID 5

Este nivel RAID ofrece tolerancia al fallo y además optimiza la capacidad del sistema, permitiendo una utilización de cerca del 80% de la capacidad del conjunto de discos. Esto lo consigue mediante el cálculo de información de paridad y su almacenamiento alternativo por bloques en todos los discos del conjunto. La información del usuario se graba por bloques y de forma alternativa en todos ellos. De esta manera, si cualquiera de las unidades de disco falla, se puede recuperar la información en tiempo real, sobre la marcha, mediante una simple operación de lógica O exclusivo, sin que el servidor deje de funcionar. Este nivel, al igual que el RAID 4, puede utilizarse si se dispone de tres o más unidades de disco en la configuración, aunque su resultado óptimo de capacidad se obtiene con siete o más unidades. RAID 5 es la solución más económica por MB, aunque con una inversión inicial fuerte.

RAID 6

Es muy similar al RAID 5, pero incluye un segundo esquema de paridad distribuido por los distintos discos, ofreciendo una tolerancia extremadamente alta a los fallos y a las caídas de disco, dado que se tienen dos niveles de redundancia. Su coste es mayor que el de otros niveles RAID, ya que las controladoras que soportan esta doble paridad son más complejas y caras que las de otros niveles RAID. Así pues, comercialmente casi no se implementa.

Disco duro
Tarjeta controladora de discos, con capacidad RAID.
Disco duro
Discos RAID en un rack.

Interfaces de conexión

Existen varias maneras de conectar una unidad de disco al ordenador. Hasta hace unos años, lo más común era utilizar una “cinta” ancha, casi siempre de color gris, que contenía 40 cables en su interior. Esta interfaz, que enviaba los datos en paralelo al HD, se llamó “IDE” (o “ATA”) y funcionaba a una respetable velocidad de 33Mb/s. Como todos los demás componentes de nuestro ordenador, fue quedando obsoleta, y se la reemplazó por la interfaz Fast-ATA, que con un cable muy parecido pero de 80 conductores lograba velocidades de hasta 133 MB/s.

Hoy día, los discos más comunes se comunican mediante una interfaz serie, llamada Serial ATA, que utiliza menos conductores, pero logra una mayor velocidad, porque se puede aumentar muchísimo la velocidad a la que se envían y reciben los datos sin que aparezcan interferencias entre conductores. Es común que se refiera a esta tecnología como “SATA”.

Entre sus ventajas, podemos citar que SATA proporciona un mayor desempeño que el ATA equivalente, con velocidades que van de los 150 MB/seg en SATA-1 a los 300 MB/seg de la segunda generación, y se pronostica que alcanzará los 600 MB/seg en los próximos años. También son totalmente transparentes al software con respecto al ATA paralelo tradicional, lo que permite una fácil transición a la nueva tecnología. Y lo mejor: SATA tiene un costo competitivo en comparación con las soluciones de ATA paralelo equivalentes, que incluyen los sistemas principales, dispositivos y el cableado en cantidades grandes. Hay que recordar, ya que en la actualidad “conviven” ATA y SATA, que los cables de datos y de alimentación SATA tienen nuevos diseños y no se pueden usar los cables anteriores, de 40 pines y 80 conductores.

También se están haciendo populares los discos externos, a los que se accede mediante un cable USB. En realidad, los discos duros externos son ATA o SATA, y dentro del gabinete en que se alojan hay un circuito encargado de traducir los datos que entran y salen al formato de la norma USB.

Disco duro
Disco duro con interfaz SATA.
Disco duro
Cable ATA y SATA.

El futuro de los discos duros

El futuro de los discos duros parece estar cambiando. En efecto, las capacidades de las memorias de estado sólido, básicamente las de tipo FLASH como las que se encuentran en los pen-drives, están aumentando en forma exponencial; ya existen discos de hasta 32 GB totalmente en estado sólido (son una gran memoria FLASH, sin platos ni cabezales), e inclusive algunos fabricantes están comenzando a incluir en los discos convencionales un par de GB de memoria FLASH para alojar los archivos de arranque, o para que el sistema operativo se “inverne” en esta zona del disco, reduciendo el consumo del ordenador.

Evidentemente, falta recorrer bastante camino todavía, porque las dos tecnologías que se utilizan masivamente para la construcción de memorias FLASH (NOR y NAND) presentan algunas desventajas respecto de los discos duros, como por ejemplo elevados tiempos de acceso en algunos casos y un bajo número de ciclos de lecto/escritura, entre otros. Pero si miramos atrás, podemos ver que problemas similares que parecían insalvables fueron resueltos rápidamente, lo que permite prever que, en un futuro no muy lejano, los discos duros serán estructuras muy diferentes a las actuales.

Disco duro
Disco duro basado en memorias FLASH.
Disco duro
Disco duro

Más información