Los discos duros

Un disco duro se compone de varios elementos; citaremos los más importantes de cara a entender mejor su funcionamiento. El lugar donde la información es almacenada son 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.

Cada uno de los discos 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. Estos cabezales generan señales eléctricas que alteran los campos magnéticos del disco, dando forma a la información, con lo cual 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.

Como hemos comentado los discos giran continuamente a gran velocidad; 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 las 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, de 10.000 rpm.

Componentes disco duro

La estructura lógica del disco.en 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.

Un cluster se trata de una agrupación de varios sectores para formar una unidad de asignación. Normalmente, el tamaño de cluster en la FAT del DOS o de Windows 95 es de 32 Kb; esto no tendría importancia si no fuera porque un cluster es la mínima unidad de lectura o escritura, a nivel lógico, del disco. Es decir, cuando grabamos un archivo, por ejemplo de 12 Kb, estamos empleando un cluster completo, lo que significa que se desperdician 20 Kb de ese cluster. Imaginaos ahora que grabamos 100 ficheros de 12 Kb; perderíamos 100x20Kb, son 2 Megas. Por ello, el OSR2 de Windows 95 y Windows 98 implementan una nueva FAT, la FAT 32, que subsana esta limitación, además de otros problemas.

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 por lo general siempre vienen escritos en una etiqueta pegada en la parte superior del disco duro.

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 tasa 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 RLLESDI Con esta interfaz, Enhanced Small Devices Interface que traducido al castellano es 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 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.

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 . Asimismo, sólo podían coexistir dos unidades IDE en el sistema, y su capacidad no solía exceder de los 528 Megas.

Enhanced IDE.

La interfaz E IDE 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 E IDE 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 . 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.

De los modos de transferencia tenemos los dispositivos IDE que 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.

DMA

Y el otro método es el DMA; en el cual 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.

E IDE amplió los modos PIO al 3, y estableció el MultiWord DMA 1; con ello se logró una tasa de 11 o 13 Megas/s, dando lugar al términoFast ATA. Con posterioridad, se definió la norma Fast ATA-2, para IDEntificar aquellos productos que se acogían a los modos PIO 4 y MultiWord DMA 2, que permiten alcanzar un máximo de 16,6 Megas/s.

Existe otro método de transferencia propio del Fast ATA, y es la múltiple lectura/escritura; es decir, la capacidad de leer o escribir varios sectores lo normal hasta 32 en una sola interrupción, lo que permite optimizar la transferencia incluso en buses lentos, como ISA.Conviene resaltar que las tasas de transferencia citadas se consiguen en el mejor de los casos, y no siempre son sostenidas, es decir, que suelen ser picos de transferencia.

Es preciso también abordar en esta introducción a los discos duros otro término muy conocido; ya hemos comentado que E IDE amplió la flexibilidad en el conexionado, permitiendo la coexistencia de discos duros con unidades de cinta y de CD-ROM, usando el estándar IDE. Para ello se IDEó la norma ATAPI (ATA Packet Interface), una extensión del protocolo ATA creada con el fin de aportar un único conjunto de registros y mandatos, y de esta forma facilitar la coexistencia de estas unidades. Los dispositivos de este tipo también pueden, por tanto, beneficiarse de todas las ventajas de los modos PIO y DMA.

Prácticamente todos los discos duros incluyen una memoria buffer, en la que almacenan los últimos sectores leídos; ésta, que puede ser desde 2 Kb hasta 512 Kb, es importantísima de cara al rendimiento, e incluso imprescindible para poder mantener altas cotas de transferencia. Se la denomina caché cuando incluyen ciertas características de velocidad; concretamente, los procesos se optimizan cuando el sistema vuelve de una operación de copiado de datos a la unidad sin esperar a que ésta haya finalizado.

También utilizan otra técnica diferente consistente en que la unidad informa de la finalización de una operación de escritura en el momento de recibir los datos, antes de comenzar a grabarlos en el disco. De esta manera no se producen estados de espera; tras todo lo comentado hasta este momento, podemos decir, resumiendo, que un caché amplio en un disco duro es absolutamente imprescindible.

Más de 520 Megas… Seguro que muchos de vosotros habéis vivido el caso o al menos habéis sido testigos de al ir a instalar un disco duro de alta capacidad, y encontraros con que de esos 1080 Megas sólo alcanzáis 528 Megas. Se trata de una nefasta limitación, que curiosamente no está impuesta ni por la BIOS (Basic Input/Output System) ni por el estándar IDE ; en realidad, viene dada por ambos.

La capacidad de un disco duro se mide en tres valores: número de sectores por pista, número de cabezas y número de cilindros (notación CHS); el estándar IDE soporte 65.536 cilindros, 16 cabezas y 255 sectores por pista, lo que nos da una capacidad bestial, alrededor de 137 Gigas.

Por su parte, la BIOS del PC soporta 1.024 cilindros, 255 cabezas y 63 sectores; ya que ambos deben funcionar en conjunción, es el mínimo común denominador de ambos el que marcará la capacidad definitiva, que será de 1.024 cilindros (máximo de la BIOS), 16 cabezas (máximo del IDE) y 63 sectores (máximo de la BIOS), lo que nos va a dar un total de 528 Megas.

Para superar esta traba, la BIOS debe implementar el modo de trabajo conocido como LBA (Logical Block Adreesing), que traduce el esquema CHS a otro de direccionamiento lógico. Esta operación es totalmente transparente al sistema operativo y al software en general, y aporta la evidente ventaja de poseer acceder a todo el espacio disponible del disco duro del ordenador.

Cuando una BIOS no soporta esta técnica, es preciso emularla por software; para ello, el fabricante de la unidad suele poner a disposición del usuario utilidades especiales que, en forma de driver residente, logran engañar al sistema y obtener el mismo efecto que el LBA por BIOS.

La norma SCSI. Hasta el momento hemos estado comentando los estándares ST506, MFM, RLL, IDE y EIDE, pero nos hemos saltado uno que, tan veterano como los anteriores, ha ido evolucionando (hasta hace poco en otros segmentos de mercado) de forma paralela a ellos. Nos referimos, por supuesto, a SCSI; demos un breve paseo por sus características.La interfaz SCSI Small Computer System Interface; ha sido tradicionalmente relegada a tareas y entornos de ámbito profesional, en los que prima más el rendimiento, la flexibilidad y la fiabilidad.

Para empezar, SCSI es una estructura de bus separada del bus del sistema. De esta forma, evita las limitaciones propias del bus del PC. Además, en su versión más sencilla esta norma permite conectar hasta 7 dispositivos SCSI (serían 8 pero uno de ellos ha de ser la propia controladora) en el equipo; y las ventajas no se reducen al número de periféricos, sino también a su tipo: se puede conectar prácticamente cualquier dispositivo (escáneres, impresoras, CD-ROM, unidades removibles, etc.) siempre que cumplan con esta norma.

Otra enorme ventaja de SCSI es su portabilidad; esto quiere decir que podemos conectar nuestro disco duro o CD-ROM (o lo que sea) a ordenadores Macintosh, Amiga, etc., que empleen también la norma SCSI. Un detalle a resaltar que todos los periféricos SCSI son inteligentes; es decir, cada uno posee su propia ROM donde almacena sus parámetros de funcionamiento. En especial, es la controladora el dispositivo más importante de la cadena SCSI, que al poseer su propia BIOS puede sobrepasar limitaciones de la ROM BIOS del sistema.

Posiblemente lo que hace destacar a SCSI en su rendimiento, bastante superior a IDE al no depender del bus del sistema; no obstante, no todo iban a ser ventajas: SCSI es más caro que IDE, y en la mayoría de las ocasiones, más complejo de configurar, aunque esto último es cada vez menos problemáticos, ya que es preciso resaltar que la norma SCSI también ha evolucionado y mejorado; citaremos a continuación sus diferentes modalidades.

El surtido SCSI. La primera norma, SCSI-1, lograba un máximo de 3 Megas por segundo de transferencia, a una anchura de 8 bits en el bus de datos.

La posterior SCSI-2 introdujo mejoras en el control de los dispositivos, inclusión de mejoras de caché y otras, subiendo a 5 Megas de ratio, con la misma anchura de bits que su predecesora. Luego se presentó la variante Fast SCSI-2, que lograba los 10 Megas por segundo, manteniendo esos 8 bits en el bus de datos.

El modo WIDE se unió después al Fast, resultando el Fast/WIDE SCSI-2, con el que se amplió a 16 bits el ancho de banda del bus de datos, lográndose hasta 20 Megas/s de transferencia y permitiendo un soporte de hasta 15 dispositivos en cadena.Lo último ha sido el Ultra SCSI, con el que se ha conseguido llegar a 40 Megas por segundo a 16 bits y 20 Megas a 8 bits, aunque no debemos pasar por alto la inclusión de la norma SCAM (SCSI Configured Automatically), alo parecido al Plug & Play, que nos libera de la clásica dificultad de configuración de las cadenas SCSI, aunque para ello los dispositivos también deben contemplar el SCAM.

Por diversos motivos, SCSI siempre ha sido la alternativa profesional, pero cada vez podemos verla con más frecuencia en el ámbito doméstico; no hay que olvidar que periféricos como unidades Zip o Jaz, magneto-ópticos y escáneres vienen cada vez de forma más frecuente en SCSI, así como el progresivo abaratamiento al que se ven sometidos este tipo de componentes.

Si hay algo que resulta evidente, es que el disco duro siempre almacena una valiosa información, y de su buen funcionamiento depende la integridad de los datos. Si esto es importante en el ámbito particular, imaginad a un nivel de entidades bancarias, grandes empresas, administraciones públicas o ejército, cuyas instalaciones informáticas normalmente son redes basadas en un servidor central. Si ese disco duro falla, el resultado puede ser catastrófico.

Por este motivo, surge el término SFT Sistema tolerante a fallos, o System Fault Tolerance; se basa en el concepto de mantener tanto la integridad de los datos cómo el correcto funcionamiento del sistema, en el caso de un fallo de hardware.

Este concepto aporta un nuevo término, RAID Redundant Array of Inexpensive Disks; se puede traducir como Matriz Redundante de Discos Baratos, y sus diferentes modos de implementación forman las llamados niveles RAID. Aunque existen multitud de niveles, tocaremos más bien el concepto genérico; este se basa en utilizar varios discos duros, conectados entre sí (aunque el sistema cree que sólo existe uno), y que almacenan duplicados de la información principal.

Por tanto, si uno de ellos cae, el sistema no se paraliza puesto que tenemos otros discos para sustituirlo, y, además, con la información totalmente intacta.Existen numerosísimas formas de implementar la tolerancia a fallos, tanto por hardware como por software; podemos citar por ejemplo, el Disk Striping ;que divide los datos en bloques de 64 Kb y los distribuye entre los diferentes discos instalados, el Disk Mirroring que crea una copia exacta, un espejo, del disco principal en otro secundario y su variante Disk Duplexing que añade una controladora para gestionar el disco secundario y así reducir el tráfico o el Disk Striping with Parity una variante del Striping, que añade también información de paridad a los datos guardados, empleada para recuperar la información en una hipotética pérdida de la misma. Por último, la técnica de Sector Sparing consiste en, tras la detección de un sector defectuoso del disco, sacar la información del mismo, colocarla en un sector bueno y marcar como defectuoso el sector erróneo.

Por supuesto, todas estas técnicas se efectúan en tiempo real, y normalmente son los sistemas operativos de red, como Windows NT Server o Novell Netware los encargados de soportarlas. Asimismo, se emplean casi siempre discos SCSI debido a sus características, como flexibilidad o capacidad de ampliación; incluso técnicas como el Sector Sparing deben ser usadas en discos SCSI, puesto que es imposible aplicarlas con dispositivos IDE.