lunes, 10 de mayo de 2010

Estructura interna de un disco duro

Un disco duro se compone de muchos elementos; citaremos los más importantes de cara a entender su funcionamiento. En primer lugar, la información se almacena en unos finos platos o discos, generalmente de aluminio, recubiertos por un material sensible a alteraciones magnéticas. Estos discos, cuyo número varía según la capacidad de la unidad, se encuentran agrupados uno sobre otro y atravesados por un eje, y giran continuamente a gran velocidad.

Asimismo, cada disco posee dos diminutos cabezales de lectura/escritura, uno en cada cara. Estos cabezales se encuentran flotando sobre la superficie del disco sin llegar a tocarlo, a una distancia de unas 3 o 4 micropulgadas (a título de curiosidad, podemos comentar que el diámetro de un cabello humano es de unas 4.000 micropulgadas). Estos cabezales generan señales eléctricas que alteran los campos magnéticos del disco, dando forma a la información. (dependiendo de la dirección hacia donde estén orientadas las partículas, valdrán 0 o valdrán 1).

La distancia entre el cabezal y el plato del disco también determinan la densidad de almacenamiento del mismo, ya que cuanto más cerca estén el uno del otro, más pequeño es el punto magnético y más información podrá albergar.



Algunos conceptos
Antes hemos comentado que los discos giran continuamente a gran velocidad; este detalle, la velocidad de rotación, incide directamente en el rendimiento de la unidad, concretamente en el tiempo de acceso. Es el parámetro más usado para medir la velocidad de un disco duro, y lo forman la suma de dos factores: el tiempo medio de búsqueda y la latencia; el primero es lo que tarde el cabezal en desplazarse a una pista determinada, y el segundo es el tiempo que emplean los datos en pasar por el cabezal.

Si se aumenta la velocidad de rotación, la latencia se reduce; en antiguas unidades era de 3.600 rpm (revoluciones por minuto), lo que daba una latencia de 8,3 milisegundos. La mayoría de los discos duros actuales giran ya a 7.200 rpm, con lo que se obtienen 4,17 mb de latencia. Y actualmente, existen discos de alta gama aún más rápidos, hasta 10.000 rpm.

Es preciso comentar también la estructura lógica del disco, ya que contiene importantes conceptos que todos habréis oído; para empezar, la superficie del disco se divide en una serie de anillos concéntricos, denominados pistas. Al mismo tiempo, las pistas son divididas en trames de una misma longitud, llamados sectores; normalmente un sector contiene 512 bytes. Otro concepto es el de cilindro, usado para describir las pistas que tienen el mismo número pero en diferentes discos. Finalmente, los sectores suelen agruparse en clusters o unidades de asignación. Estos conceptos son importantes a la hora de instalar y configurar un disco duro, y haremos uso de alguna de esta información cuando subamos al nivel lógico del disco. Muchas placas base modernas detectan los discos duros instalados, mientras que en otras más antiguas hay que meter algunos valores uno por uno (siempre vienen escritos en una etiqueta pegada en la parte superior del disco).



Algunas curiosidades:
El estándar IDE surgió a raíz de un encargo que la firma Compaq le hizo a la compañía Western Digital. Compaq necesitaba una controladora compatible con el estándar ST506, pero debido a la falta de espacio en el interior de los equipos a los que iba dirigida, ésta debía implementar la circuitería de control en el propio disco duro. Está claro que la necesidad es la madre de la inventiva, ¿verdad?

En antiguos discos duros (sobre todo MFM) era imprescindible, antes de apagar el equipo para moverlo de sitio, ejecutar una utilidad especial para "aparcar" las cabezas de la unidad. Con esta operación se depositaban los cabezales en una zona segura del disco, de forma que no pudieran dañar la superficie del disco en caso de movimientos o vibraciones. En la actualidad este proceso lo realiza la unidad de forma automática al ser desconectada (podéis comprobar cómo al apagar el PC, durante un segundo se ilumina el led del disco duro), y no se concibe un disco duro que no incluya esta característica.

Formatear un disco duro IDE a bajo nivel puede ser perjudicial para el mismo. Durante el proceso, que el fabricante realiza en sus instalaciones antes de sacarlo al público, se graban en él las marcas de direcciones y los números de sector. Volver a realizar este proceso en circunstancias o con software no apropiados, puede dañar definitivamente la unidad, hacerla más lenta o generarle sectores defectuosos e irrecuperables. En realidad, el formateo a bajo nivel sólo está justificado en casos muy concretos, como la aparición progresiva de errores a nivel lógico, y nunca por infección de virus (el caso más frecuente). Ciertamente, algunos vicios de la época MFM son bastante difíciles de ser desterrados...

Algunos modelos de discos duros, de diversos fabricantes, sufrían una anomalía con cierta frecuencia, consistente en la paralización del motor que da giro al eje del disco (especialmente tras varios días de falta de uso del equipo por parte del usuario, o también por acumulación de humedad); el resultado era la imposibilidad de iniciar el sistema desde el disco duro. La solución, no demasiado "científica", por cierto, era sacar el disco y propinarle un par de buenos golpes (no demasiado fuertes, claro); y mano de santo. Lo que no podemos describir aquí es el cambio de color en la cara del dueño del ordenador, al ser testigo de semejante "reparación".



Interfaces: ST506, MFM y RLL
Hasta aquí hemos visto la estructura del disco duro, pero nos falta una pieza vital: la controladora. Es un componente electrónico que gestiona el flujo de datos entre el sistema y el disco, siendo responsable de factores como el formato en que se almacenan los datos, su tasa de transferencia, velocidad, etcétera.

Los primeros discos duros eran gestionados por controladoras ST506, un estándar creado por la conocida empresa Seagate. Dentro de esta norma se implementaron los modos MFM y RLL, dos sistemas para el almacenamiento de datos que, si bien diferentes en su funcionamiento, a nivel físico y externo del disco presentaban la misma apariencia, siendo conocidos de forma genérica en el mundillo como "discos MFM". Estas unidades incluían externamente tres conectores: el primero, y común a cualquier disco duro, es el de alimentación. En los restantes se conectaba un cable de control y un cable de datos, desde el disco a la controladora; el cable de control gestionaba la posición de los cabezales y el de datos transmitía el flujo de información desde y hasta la controladora.

La diferencia entre MFM y RLL es a nivel interno; MFM (Modified Frequency Modulation) y RLL (Run Length Limited) son dos métodos de codificación de la información binaria. RLL permite almacenar un 50% más de datos que el MFM, al aumentar la densidad de almacenamiento. También la trasa de transferencia es superior en RLL, debido al más eficiente método de grabación usado, sin embargo, la velocidad de rotación era la misma en ambos casos: 3600 rpm.

En cualquier caso, la tasa de transferencia de estas unidades no era precisamente como para tirar cohetes: una media de 5 Mbtis por segundo (es decir, medio mega) en MFM y 7.5 Mbtis/s para RLL. Y en cuanto a capacidad, las unidades MFM no solían tener más de 40 Megas, 120 Megas en las RLL



ESDI
Con esta interfaz, “Enhanced Small Devices Interface” (interfaz mejorada para dispositivos pequeños), se daba un paso adelante. Para empezar, una parte de la lógica decodificadora de la controladora se implementó en la propia unidad, lo que permitió elevar el ratio de transferencia a 10 Mbits por segundo. Asimismo, se incluyó un pequeño buffer de sectores que permitía transferir pistas completas en un único giro o revolución del disco.

No obstante, estas unidades no se extendieron demasiado, y únicamente compañías como IBM (muy aficionadas a tecnologías propietarias) fueron las que más lo emplearon en sus máquinas. Estas unidades no solían tener una capacidad superior a 630 Megas, y en cualquier caso se trató más bien de una tecnología de transición, ya que un tiempo después tuvo lugar el salto cuantitativo y cualitativo con la interfaz que detallamos a continuación.



El estándar IDE
“Integrated Drive Electronics”, o IDE, fue creado por la firma Western Digital, curiosamente por encargo de Compaq para una nueva gama de ordenadores personales. Su característica más representativa era la implementación de la controladora en el propio disco duro, de ahí su denominación. Desde ese momento, únicamente se necesita una conexión entre el cable IDE y el Bus del sistema, siendo posible implementarla en la placa base (como de hecho ya se hace desde los 486 DX4 PCI) o en tarjeta (equipos 486 VLB e inferiores). Igualmente se eliminó la necesidad de disponer de dos cables separados para control y datos, bastando con un cable de 40 hilos desde el bus al disco duro. Se estableció también el término ATA (AT Attachment) que define una serie de normas a las que deben acogerse los fabricantes de unidades de este tipo.

IDE permite transferencias de 4 Megas por segundo, aunque dispone de varios métodos para realizar estos movimientos de datos, que veremos en el apartado “Modos de Transferencia”. La interfaz IDE supuso la simplificación en el proceso de instalación y configuración de discos duros, y estuvo durante un tiempo a la altura de las exigencias del mercado.

No obstante, no tardaron en ponerse en manifiesto ciertas modificaciones en su diseño. Dos muy importantes eran de capacidad de almacenamiento, de conexión y de ratios de transferencia; en efecto, la tasa de transferencia se iba quedando atrás ante la demanda cada vez mayor de prestaciones por parte del software (¿estás ahí, Windows?). Asimismo, sólo podían coexistir dos unidades IDE en el sistema, y su capacidad (aunque ero no era del todo culpa suya, lo veremos en el apartado “El papel de la BIOS”) no solía exceder de los 528 Megas. Se imponía una mejora, y ¿quién mejor para llevarla a cabo que la compañía que lo creó?



Enhanced IDE
La interfaz EIDE o IDE mejorado, propuesto también por Western Digital, logra una mejora de flexibilidad y prestaciones. Para empezar, aumenta su capacidad, hasta 8,4 Gigas, y la tasa de transferencia empieza a subir a partir de los 10 Megas por segundo, según el modo de transferencia usado. Además, se implementaron dos sistemas de traducción de los parámetros físicos de la unidad, de forma que se pudiera acceder a superiores capacidades. Estos sistemas, denominados CHS y LBA aportaron ventajas innegables, ya que con mínimas modificaciones (aunque LBA exigía también cambios en la BIOS del PC) se podían acceder a las máximas capacidades permitidas.

Otra mejora del EIDE se reflejó en el número de unidades que podían ser instaladas al mismo tiempo, que se aumentó a cuatro. Para ello se obligó a fabricantes de sistemas y de BIOS a soportar los controladores secundarios (dirección 170h, IRQ 15) siempre presentes en el diseño del PC pero nunca usados hasta el momento, de forma que se pudieran montar una unidad y otra esclava, configuradas como secundarias. Más aún, se habilitó la posibilidad de instalar unidades CD-ROM y de cinta, coexistiendo pacíficamente en el sistema (más sobre esto en el apartado “Otros términos”). A nivel externo, no existen prácticamente diferencias con el anterior IDE, en todo caso un menor tamaño o más bien una superior integración de un mayor número de componentes en el mismo espacio.



Modos de transferencia
Los dispositivos IDE pueden transferir información principalmente empleando dos métodos: PIO y DMA; el modo PIO (Programmed I/O) depende del procesador para efectuar el trasiego de datos. A nivel de rendimiento no hay mayor problema, ya que los micros actuales tienen la suficiente capacidad para gestionar estas operaciones y alternarlas con otras, por supuesto. El otro método es el DMA; así la CPU se desentiende de la transferencia, teniendo ésta lugar por mediación de un chip DMA dedicado. Con el IDE original se usaban los modos PIO 1 y 2, que podían llegar a unos 4 Megas por segundo de transferencia; el modo DMA del IDE original no superaba precisamente esa tasa, quedándose en unos 2 o 3 Megas por segundo.

Hay que decir que existe una variante de la transferencia DMA, y es la BusMaster DMA; esta modalidad aprovecha las ventajas de los chipsets de las placas base, cada vez más optimizados para estas laboras. Además de liberar al procesador, puede obtener por parte de éste un control casi total, de forma que la información sea transferida con la máxima prioridad. Aunque se pueden alcanzar 16 Megas por segundo, la última modalidad Ultra DMA logra llegar a los 33,3 Megas/s, aprovechando las bondades del nuevo chipset TX de Intel. No obstante, para disfrutar de esta técnica es precioso contar con los correspondientes controladores, suministrados normalmente por el fabricante de la correspondiente placa base.

No hay comentarios:

Publicar un comentario