11. ¿Cómo están construidos, protegidos, y se accede a los discos flexibles?
Un disco flexible o "disquete" o "floppy", como quiera llamarse, consiste en un disco de material plástico tipo mylard, cubierto con una capa de material magnetizable en ambas caras (figura 2.4). Está contenido en un sobre que sirve para protegerlo del polvo, rayaduras, huellas digitales y golpes (figuras 2.18 y 2.19).
Los disquetes son removibles de la disquetera (designadas A ó B) en la que están insertados.
Cuando un disquete se introduce en una disquetera, puede ser accedido en cualquiera de las dos- caras por la correspondiente cabeza, pero una sola cara será leída o escrita por vez. Mientras no se dé una orden de escritura o lectura, el disquete no gira, y las cabezas no tocan sus caras. Si tal orden ocurre, luego de una espera de casi medio segundo, para que tome velocidad, el disco gira (a razón de 300 r.p.m. en el interior del "sobre" protector, con la consiguiente elevación de temperatura). Sólo gira mientras lee o escribe, rozando entonces cada cabeza la pista accedida. Esto, sumado a las partículas de polvo siempre presentes, hace que la vida útil de un disco flexible común sea corta en comparación con la de un disco rígido.' La flexibilidad de un disquete ayuda a que no sea afectado cuando las cabezas tocan sus caras. Se estima que la información almacenada en un disquete puede mantenerse con seguridad en el mismo durante 3 ó 4 años, siendo conveniente re-escribirla una vez por año, pues la magnetización de las pistas se va debilitando con el tiempo.
Un disquete no debe exponerse al calor, campos magnéticos (de transformadores, fotocopiadoras, teléfono, monitor), ni ser doblado. Las etiquetas deben escribirse antes de ser adheridas.
Los disquetes de 5 ¼ pulgadas conocidos como "floppys" (figura 2.18) están contenidos en un sobre cuyo interior está recubierto por una capa de teflón para disminuir los efectos del rozamiento.
El sobre presenta aberturas para distintos fines. Las aberturas de lectura/ escritura permiten que, dentro de la disquetera, la cabeza correspondiente a cada cara pueda acceder a cualquier pista de la misma. El agujero central servirá para que en la disquetera un eje ("spindle") lo tome y haga girar. Si se cubre con cinta adhesiva la muesca de protección contra escritura, no podrán grabarse nuevos datos en los archivos almacenados por accidente o error. En estas condiciones el disquete sólo puede ser leído.
Al girar un disquete, cada vez que coincide un agujero existente en el mismo con otro agujero "índice" del sobre, es indicación de comienzo de cualquier pista que se quiera escribir o leer.
Existen distintos tipos de discos de 5 ¼" de distinta capacidad, antes descriptos.
El disquete de 3 ½ pulgadas, (figura 2.19) está dentro de un sobre de plástico rígido que lo protege mejor del polvo, humo, etc. Este en su parte superior tiene un obturador de protección con resorte, que dentro de la disquetera de 3 ½" se abre, para que las dos cabezas accedan al disco flexible.
Estas mejoras hacen que los disquetes de 3 ½" duren más que los de 5 ¼". La protección contra escritura indebida se realiza con otro obturador de dos posiciones, deslizable por el usuario según indican dos flechas que vienen dibujadas en el plástico. Si el pequeño agujero cuadrado está abierto, el disquete está protegido; si se lo ve cerrado, el disquete podrá escribirse. En ambos casos siempre podrá leerse.
12. ¿Qué funciones cumple una unidad de disquetes ("Floppy Disk Drive")?
Anteriormente se hizo mención al posicionamiento de las cabezas sobre el cilindro al cual se quiere acceder (figuras 2.4 y 2.7) cuando el disquete está girando, y a las corrientes eléctricas que circulan en la cabeza que está escribiendo o leyendo (figura 2.5), etc.
Estas acciones básicas de la "unidad de disquete" o "disquetera" ("drive" A 0 B) sirven a su objetivo de escribir o leer una pequeña superficie (sector) del disquete inserto en este periférico (figura 2.21) Para tales acciones la disquetera presenta en esencia:
- Mecanismos de sujección y eyección del sobre protector (con el botón frontal), y para desplazar la ventana de protección.
- Motor para girar el disco.
- Otro motor "paso a paso"', para hacer avanzar de pista en pista (de un cilindro al siguiente), a la armadura que porta las dos cabezas (ampliada más en detalle y abierta a la derecha de la figura 2.21). Las cabezas así se mueven en movimiento radial rectilíneo -hacia delante o atrás- hasta el cilindro seleccionado.
- Sensores para detectar presencia de disquete, y si está protegido contra escritura en su cubierta.
- Bus de conexión a su interfaz, conocida como "controladora".
- Circuitos que constituyen la electrónica de este periférico, para accionar los elementos anteriores, conforme a las señales eléctricas que recibe de la controladora (interfaz) de las disqueteras (A y B), a través de conductores del bus de conexionado citado.
Las señales que llegan a la disquetera desde la interfaz (figura 2.21) ordenan, entre otras acciones:
- Poner en marcha el motor de giro de la unidad seleccionada (sea la A ó B).
- Posicionar (mediante el motor paso a paso) la armadura en un determinado cilindro del disquete.
- Seleccionar cuál de las dos cabezas se activará.
A su vez por cables de dicho bus de conexión, la electrónica puede enviar hacia la interfaz señales, como:
- Aviso de inicio de pista (cuando el agujero correspondiente del disquete coincide con el del sobre).
- Aviso de escritura protegida.
- Aviso que datos leídos son enviados a la interfaz.
Como resultado de estas señales, si todo está en orden, puede tener lugar la transferencia serie de bits leídos en un sector de un disquete hacia la interfaz (o en sentido contrario en una escritura de un sector) a través de uno de los cables del bus de conexionado citado.
13. Aspectos particulares de discos rigidos y unidades de disco rigido
Temas anteriores ponían de manifiesto características comunes de disquetes y discos rígidos. En lo que sigue se tratan aspectos propios de los rígidos.
Los discos magnéticos rígidos o duros difieren de los disquetes por su gran capacidad de almacena miento, por la mayor rapidez con que se accede a los datos, y por la mayor velocidad con que se los transfiere desde o hacia la memoria. Ello es fruto de su mayor densidad superficial (más bits por pista y más pistas por centímetro radial), de su mayor velocidad de rotación, de un sistema más veloz de posicionamiento del cabezal, y de una controladora más inteligente.
Por ser de material duro, un rígido no presenta las deformaciones de un disquete y permite una mayor precisión en el acceso a cada pista. Al respecto, un servomecanismo permite ubicar y seguir cada pista, lo cual permite una mayor contabilidad, dada la proximidad entre las pistas contiguas.
El término "duro" ("hard disk" = HD) se refiere a que está constituido por platos rígidos de aluminio, o de vidrio con implante cerámico en el presente. Existen discos rígidos fijos como los que están en una caja hermética en el interior del gabinete de una PC, y también los hay removibles, los cuales son transportables. Las unidades de disco, según el tipo que sean, pueden contener uno o más discos (figura 2.6). Típicamente en una PC de escritorio son uno o dos platos, de un diámetro de 3 ½ pulgadas.
Por fabricarse los platos bajo normas estrictas, y variar muy poco de tamaño con la temperatura, el material magnético que los recubre permite 3000 tpi o más, a la par que 50.000 o más bytes por pista (o sea 100 ó más sectores por pista). También ha influido en esto la aplicación de magnetización perpendicular a la superficie de la capa magnetizable (figura 2.23), en lugar de la polarización de superficie (figura 2.5). Resulta así una elevada capacidad de almacenaje (500 MB – 1 GB o más) en uno o dos platos pequeños, y unidades compactas. Además, por la gran velocidad de giro, y por tener el cabezal movimiento rápido en discos de pequeño radio, se tiene comparativamente cortos tiempos de acceso. Más sectores por cilindro posibilitan que un archivo entre en un solo cilindro, para que el cabezal en lo posible no deba cambiar a otro cilindro, resultando más rápida la escritura y posteriores lecturas; a la par que reduce la fragmentación de archivos en varios cilindros, con la pérdida de tiempo que ello ocasiona.
Las cabezas "magneto-resistivas" (MR) basadas en una resistencia variable con el campo magnético del disco, no usan bobina, y permiten mayor densidad de grabación.
Los discos rígidos de las XT de la década del ‘80 al presente han aumentado su capacidad de 10 MB a 2 Gigas o más; y su velocidad de transferencia de 100 KB a 10 MB por seg. Han disminuido su tiempo de acceso, de casi 100 mseg a menos que 10 mseg. Su costo por MB almacenado pasó de U$S 150 a centavos de dólar.
La estructura en cilindros, pistas y sectores, así como la escritura o lectura de las mismas es similar a la de los disquetes, y de hecho se han tratado al describir los disquetes. Pero en los discos duros cada cabeza se sitúa a unas pocas millonésimas de milímetro (menos que el grosor de un cabello) por sobre la pista que recorre, sin rozarla. Así se evita el desgaste de la superficie del disco debido a la fricción de la cabeza. Cada cabeza flota como un navío catamarán en un colchón de aire producido por la gran velocidad de giro de los platos. Se reservan pistas de un cierto cilindro para estacionar las cabezas cuando el motor se detiene. Actualmente existen discos con cabezas de semicontacto, o de proximidad, que están en contacto con la superficie de la cara durante cortos tiempos, para sensar mejor variaciones de campos magnéticos.
En los discos, el "tiempo medio entre fallas (MTBF)" es una estimación estadística de cuánto en promedio durará antes de que falle. Por ejemplo, si MTBF = 87.600 horas implica que podría llegar a funcionar 10 años sin parar, libre de fallas que impidan su funcionamiento, aunque la garantía de devolución por este tipo de fallas, es típicamente de un año; siendo además que un disco se puede volver obsoleto en 2 ó 3 años.
El hecho de que un rígido esté contenido en una caja cerrada y sobrepresurizada, evita en gran medida que queden partículas abrasivas de suciedad entre una cabeza y una cara, que reducen su vida útil.
Otra diferencia con las disqueteras, es que los platos de un rígido deben girar sin parar mientras el disco está en uso, aunque no se lean o escriban archivos. Puesto que las cabezas no tocan las caras, no hay problemas de desgaste, y tampoco se pierde tiempo hasta que los platos alcancen la velocidad de rotación requerida.
En un disco con varios platos, la forma de numerar los cilindros y caras es similar a la descripta antes para un disquete. Igualmente como en éste, las cabezas de escritura/lectura se mueven al unísono, y sólo se puede escribir o leer una pista de una cara por vez, seleccionando la cabeza correspondiente a esa cara.'
También existen diferencias entre rígidos y disquetes en relación con ciertos campos de las pistas y sectores, aunque en esencia la organización de cilindros, pistas y sectores se conserva.
En el presente, los siguientes parámetros sirven para comparar y decidir el tipo de disco a usar:
- Capacidad de almacenamiento
- Fabricante
- Tipo de unidad (IDE, SCSI)
- Tiempo promedio de posicionamiento de una pista a otra al azar
- Velocidad de transferencia
- Revoluciones por minuto (la latencia a 7200 r.p.m. dura la mitad que a 3600 r.p.m.)
- Tamaño y performance del caché para disco incorporado a la unidad
- Costo por MB almacenado
14. ¿Qué significa que un disco está muy fragmentado?
El DOS va llenando un disco con archivos, intentando ocupar sectores sucesivos de un mismo cilindro, aunque "no sabe" si esto ocurre realmente, o si un archivo está parte en un cilindro y parte en el siguiente, dado que el DOS ignora que un disco tiene cilindros y pistas, como se explicó antes.
Esto trae aparejado más demoras en la lectura y escritura de archivos, las cuales se incrementan si un archivo está distribuido en varios cilindros distintos (pues el cabezal debe realizar muchos movimientos de posicionamiento para ir de un cilindro a otro). Asimismo, una vez que un disco fue escrito hasta el final, el DOS amplía archivos en sectores que fueron dejados libres por haberse borrado en forma total o parcial otros archivos.
Resulta así una distribución azarosa de porciones de archivos por distintos cilindros, conocida como "fragmentación" externa. Esta tiene lugar al cabo de cierto tiempo, cuando se guardan, borran, y vuelven a escribir archivos, e inevitablemente cuando un disco está por colmar su capacidad. En definitiva, el DOS fue pensado para aprovechar al máximo la capacidad de un disco, dejando en segundo lugar la optimización del tiempo de lectura de los archivos.
Si un disco está muy fragmentado, cuando se debe leer un archivo se pierde mucho tiempo, pues el cabezal debe ir de un cilindro a otro donde están grabados sectores de dicho archivo.
Esto no ocurre si todos los sectores de un archivo están en un mismo cilindro. Para lograr esta distribución con todos los archivos de un disco, se recurre a un programa para "desfragmentar", cuando se nota que un disco duro se ha vuelto muy lento.
15. ¿Cómo están en el presente organizados físicamente los sectores en las pistas de los discos rígidos?
La organización de la figura 2.3 con igual número de sectores en cada pista, desperdicia capacidad de almacenamiento, pues las pistas exteriores podrían tener más que el doble de sectores que las más internas, de menor radio. La mayor densidad de bits de éstas (bpi) determina y limita el número de sectores que tendrán otras pistas más alejadas del centro.
En la mayoría de las unidades de disco actuales (tipo IDE o SCSI) se emplea igual densidad de grabación en todas las pistas (constant density recording = CDR), y "grabación zonal" ("zone recording'), que consiste en formar desde el centro del disco hacia afuera, varias zonas de cilindros, cada una con más sectores por pista que la mas interna anterior. Así se logra hasta un 50%, más de capacidad que con la otra disposición.
16. En un disco rígido actual, ¿cómo localiza el cabezal más rápidamente un cilindro?
Hoy día las unidades de disco rígido de más de 80 MB, no usan como las disqueteras un motor paso a paso para ubicar el cabezal en cada pista de un cilindro. El cabezal (figura 2.10.a) no avanza en línea recta, sino que gira alrededor de un eje, como el brazo de los tocadiscos con púa. La armadura se mueve de forma parecida al de la bobina de un parlante ("voice coil" identifica este sistema de posicionamiento). Sobre la armadura se tiene una bobina, la cual está sometida a un fuerte campo magnético creado por un imán permanente que está fijo fuera de la armadura. Cuando el sistema de control envía una determinada corriente por la bobina, ésta también genera un pequeño campo magnético, que al accionar con el campo existente, creado por el imán permanente, hace mover bobina, y por ende la armadura hasta la pista (cilindro) seleccionada. Si la cabeza no se encuentra justo sobre dicha pista, tiene lugar un ajuste fino automático de su posición, merced a la existencia de información extra de servocontrol escrita (servowriter) antes de cada sector o en una cara de un plato dedicada a esa información, donde no se almacenan archivos. Si estas señales al ser sensadas no tienen la amplitud suficiente, la controladora varía la corriente de la bobina hasta que el cabezal esté justo sobre la pista. Esto permite la localización exacta de cada pista, con independencia de cualquier variación de las dimensiones de los platos por la temperatura. Resulta así que las cabezas hacen un "seguimiento" de las pistas, de donde deviene su denominación "track following system". A tal efecto el sistema realiza en forma automática periódicas autocalibraciones (cada 5 ó 25 minutos) con los discos girando, actualizando datos sobre variaciones en la memoria de la controladora IDE o SCSI.
Cuando la unidad de disco se apaga, el cabezal se estaciona automáticamente (automatic head parking) fuera de las pistas con datos, merced a que un resorte lleva la armadura a una posición fija, que el campo del imán permanente ayuda a mantener. Al encender el equipo, la fuerza que se origina al circular corriente por la bobina de la armadura (para posicionar el cabezal) estira dicho resorte y mueve la misma.
17. ¿Qué funciones realiza una unidad de disco inteligente ATA-IDE o FAST ATA?
Unidades de discos rígidos anteriores, adecuadas al estándar ST506, requerían una interfaz – controladora cuya circuitería estaba en una plaqueta insertable en un zócalo ("slot"), con funciones análogas a las descriptas al tratar la interfaz – controladora de disquetera (figuras 2.22 a y b). Los discos con unos 30 MB de capacidad podían compartir una plaqueta con las unidades de disquetes; pero capacidades mayores requerían una plaqueta dedicada, que ocupaba un zócalo más.
Por las razones que se expondrán, fue necesario que la interfaz – controladora esté localizada junto a la unidad de disco rígido, integrada con la electrónica de este periférico (figuras 2.25), de donde provienen las siglas IDE de "integrated drive electronics". Las siglas ATA – AT Attachment son sinónimas de IDE. Dadas las actuales capacidades de los discos rígidos, y las velocidades de acceso y de transferencia de una unidad de disco rígido (drive), se requiere que la electrónica ligada a ella sea "inteligente", conteniendo un microcontrolador, con un programa en su ROM, y una RAM veloz para buffer del periférico.
El microcontrolador maneja los sistemas con servowriter citados anteriormente, corrige sobre la marcha errores de lectura de un sector, maneja un caché de disco, simula hacia el exterior un disco compatible con el sistema operativo y BIOS existentes, y realiza rápidamente otras tareas complejas. También incluye la mayoría de las funciones de la interfaz controladora descriptas anteriormente para la unidad de disquetes. La proximidad física entre la interfaz y las cabezas evita retardos e interferencias (ruidos eléctricos) en la lectura o escritura, que se produciría si se quiere transmitir a gran velocidad información entre la electrónica de la unidad de disco y una interfaz más alejada, como la existente para una unidad ST506.
Una unidad IDE es una buena solución de compromiso entre velocidad y costo para sistemas monotarea corrientes. No requiere de una plaqueta interfaz especial en la "mother" como la SCSI. Acorde con lo anterior, la electrónica de una unidad "inteligente" de disco IDE incorpora funciones tratadas en la interfaz – controladora de disquetera, en particular en lo concerniente a la existencia de registros direccionables ("ports") para enviarle un block de comandos y para recabar el estado de la unidad' mediante la ejecución de subrutinas del BIOS. El microcontrolador de la unidad de disco detecta y lleva a cabo estos comandos (del tipo posicionar las cabezas en un cilindro, leer o escribir un sector, etc.) mediante la ejecución de instrucciones contenidas en su ROM.
Como se anticipó, debido a las limitaciones en la velocidad de los buses, a fin de lograr una mayor velocidad de transferencia de datos entre memoria principal y el port de datos o viceversa, ésta no se hace por ADM, sino por AIM, a través del registro AX, opción conocida como Programmed Input/Output (PIO). Para tal fin, se deben ejecutar instrucciones de subrutinas del BIOS.
En relación con el port de datos, en la electrónica de la unidad existe un "sector buffer", o sea un buffer con capacidad para un sector del disco, para dar tiempo a la corrección de datos leídos, que realiza el microcontrolador, usando el área ECC del sector (figura 2.24). Sólo si los datos son correctos, se realiza la transferencia hacia memoria, para lo cual la circuitería que cumple funciones de interfaz controladora activa una línea IRQ, para que una subrutina -mediante AIM sucesivos de 2 bytes (hoy pueden ser 4 bytes)- pase los 512 bytes de datos.
Según se planteó, luego de acceder al disco para leer un sector solicitado, y sin que se mueva el cabezal, se van leyendo los siguientes sectores de la pista o cilindro (pues es probable que luego se solicita su lectura), los cuales pasan al cache de disco, constituido por una memoria DRAM manejada por el microcontrolador. Si se ordena escribir un sector, por sucesivos AIM llegan desde memoria al "sector buffer" 512 bytes para ser escritos, a través del port de datos citado. En caso que se envíen datos para ser escritos en sectores sucesivos, los mismos pueden guardarse transitoriamente en el caché citado.
Una unidad IDE realiza funciones de interfaz (figuras 2.25), siendo conectada a las líneas de datos, direcciones e IRQ del bus, mediante un cable plano terminado en un conector con agujeros para 40 terminales, para conectarse a igual número de "agujas" ("pines") vinculadas a chips de adaptación al bus ("host adapter"). Dichas "agujas" pueden estar en la plaqueta "multifunción" que también contiene la controladora de disquetera, citada al tratar ésta, o en la "mother", según sea el modelo de esta última.
El bus ISA, tratado en la Unidad 1, puede enviar como máximo menos de 8 Mbytes/seg. en grupos de 2 bytes, lo cual no es apto para las unidades IDE actuales, pues limita la velocidad de transferencia. Hoy día pueden transferirse grupos de 4 bytes.
Esta velocidad puede aumentarse si se conecta un drive IDE preparado para un bus como el PCI, a la "mother" directamente, o usando la plaqueta "multifunción" para dicho bus. La electrónica IDE se presenta ante la ROM BIOS como una unidad ST-506 normalizada, y permite operar más de un disco rígido.
Mas en detalle (figura 2.25.a), a la electrónica IDE le llegan comandos, que ordenan leer o escribir un sector, del cual se indican sus números de CHS. Merced a la ejecución de subrutinas del BIOS estos comandos que estaban en memoria principal, pasan al registro AX de la UCP, y de éste a los registros "ports de comandos" de la interfaz IDE, a través del bus de datos que llega a ésta.
La electrónica IDE, después de recibir estos comandos realiza las siguiente acciones (figura 2.25.b):
- Traduce dichos comandos en señales para que el cabezal se posicione en el cilindro elegido; y que luego la pista correspondiente a la cabeza seleccionada sea leída por ésta hasta encontrar el sector buscado.
- La cabeza lee el número identificatorio de cada sector que encuentra en la pista que va leyendo, el cual es transmitido a la electrónica IDE, para determinar si es o no el comienzo del sector buscado, a fin de escribir o leer -según sea la orden- los datos en la zona correspondiente del sector buscado.
- Si es una orden de lectura, todos los bits del sector son leídos en serie por la cabeza. A medida que son leídos se realiza la verificación ECC (semejante a la CRC) y pasan al sector buffer de la electrónica, para ser corregidos de ser necesario.
- En caso de que dicha lectura sea correcta, la sección interfaz de la electrónica activa su línea IRQ del bus, para que la UCP interrumpa el programa en ejecución, y ejecute una subrutina del BIOS para hacer AIM, de modo de ir sacando del sector buffer los datos.
La ejecución de esta subrutina permite que por sucesivos AIM, los datos del sector buffer se transfieran (de a 2 bytes) a la zona buffer de memoria principal a través del bus, direccionando el port de datos.
- De manera inversa, luego de una orden de escritura, los bytes a escribir en el sector van llegando (de a dos) por el bus (desde la memoria) al port de datos, y de éste al sector buffer, luego de lo cual se activa la línea IRQ. Luego los bits pasan en serie hacia la cabeza, para que los escriba en el sector.
- A medida que escribe o lee los bits de un sector, realiza el cálculo del ECC (figura 2.24), cuyo valor graba a continuación de la zona de datos en una escritura.
- Realiza en una lectura o escritura, el manejo y control de errores, codificando en un registro port el tipo de error ocurrido.
En definitiva, subrutinas del BIOS al enviar comandos a los ports de la interfaz (IDE, SCSI u otra) dan origen a lecturas y escrituras en el disco, siendo que los tiempos de las señales involucradas están determinados por los circuitos de la interfaz Estos tiempos son más cortos en los últimos modelos.
El tiempo denominado "I/O read and write cycle time", es determinante de la velocidad de transferencia, siendo el mínimo lapso que puede mediar entre dos escrituras o lecturas sucesivas del registro port de datos de la interfaz ATA (IDE) de una unidad de disco rígido; registro que tiene un tamaño de 16 bits = 2 bytes.
Por ejemplo, de los 5 modos PIO (Programmed Input Output), para hacer AIM, en el PIO modo 0 que es el más lento, dicho tiempo de ciclo es de 600 nanoseg. Conocido este tiempo, puede deducirse que la máxima velocidad de transferencia para este modo es de 3,3 MB/seg., como se indica a continuación.
Suponiendo que teóricamente en forma ininterrumpida se leen o escriben 2 bytes del port de datos cada 600 nseg = 0,0000006 seg., en un segundo podrían hacerse 1/0,0000006 transferencias de 2 bytes por AIM. 0 sea, que podrían transferirse 2/0,0000006 bytes/seg. » 3.333.333,33 bytes/seg. » 3,3 MB/seg., dado que 1 MB = 1.048.576 bytes. Lo anterior equivale a decir que en un segundo se transferirían: 3,3 x 2048 sectores = 6758 sectores, siendo que 2048 sectores de 512 bytes = 0,5 KB conforman 1 MB. En el presente existen unidades IDE estándar ATA-2, con PIO modo 4, tiempo de ciclo de 120 nseg, lo cual implica una velocidad de transferencia máxima teórica de 16,5 MB/seg. (5 veces mayor que el modo 0).
Cabe mencionar que esta velocidad de transferencia máxima para PIO es la misma que para ADM modo 3, dado que depende del tiempo de ciclo con que opera la unidad IDE. Si en lectura o escritura deben mediar 120 nseg entre dos direccionamientos al port de datos de 16 bits, este tiempo de ciclo debe respetarse, ya sea que los direccionamientos se hagan para efectuar transferencias por AIM (PIO) o ADM (DMA).
Que la transferencia entre memoria y dicho port (o viceversa) convenga hacerla por AIM o ADM, dependerá del sistema operativo en uso, y si se trabaja o no en "multitasking".
Las unidades con electrónica que sigue el estándar E-IDE ó Fast ATA (1 ó 2) permiten además comandos para escritura o lectura múltiple, los que dan lugar al "Block Mode".
Enviando a los ports correspondientes uno de estos comandos y la cantidad de sectores a transferir (de 2 a 128) se evita que la electrónica active la línea de interrupción IRQ, con cada sector que debe ser pasado del sector buffer a memoria o en sentido inverso. Con esto se evitan las pérdidas de tiempo involucradas en cada interrupción (guardar registros de la UCP en la pila, llamar y ejecutar una subrutina, y volver a restaurar dichos registros en la UCP). Así, hasta 128 sectores pueden ser transferidos con un solo comando, con lo cual es factible ganar un máximo de 30% de tiempo.
Es factible conectar más de una unidad IDE a un bus de una PC (sean dos discos rígidos, un rígido y una lectora de CD, etc.), debiendo actuar el más rápido de ellos como "master", y el otro como "slave". Esto se define conectando los "jumpers" (puentes de contacto) como indica el manual de instalación.
Direccionando y escribiendo el valor (1 ó 0) de un bit del registro drive/head, se selecciona si un comando es para el "master" o el "slave".
Los adaptadores E IDE (Enhanced IDE, o sea IDE mejorado), permiten conectar cuatro unidades de disco (fijas o removibles), amen de tener mayor velocidad de transferencia.
18. ¿Qué son los números "lógicos" de cilindro, cabeza, sector y el LBA?
No hace mucho, el disco más grande que podía manejar una PC con interfaz IDE era de 500 MB. Correspondía a un disco de 1024 cilindros, 16 cabezas (heads) y 63 sectores de 512B = 0,5 KB, con lo cual la capacidad era exactamente de 1024 x 16 x 63 x 0,5 = 504 MB = 528 millones de bytes.
Este límite se debe en principio, a que por un lado, cuando la subrutina del BIOS debe enviar al drive IDE los números de cilindro, cabeza (head) y sector, abreviados en inglés CHS, para los mismos tiene establecidos 10, 8 y 6 bits, respectivamente, número de bits que también están reservados en la Tabla de Particiones. Por lo tanto, para el BIOS y la Tabla de Particiones, los números máximos que se pueden formar son:
210 = 1024 cilindros; 28 = 256 cabezas; 26 = 64 sectores, que son 63, pues el sector 0 no se usa.
A su vez, un drive IDE o EIDE para CHS está limitado a 16, 4 y 6 bits respectivamente. Resulta así, que los números máximos que puede manejar son:
216 = 65536 cilindros; 24= 16 cabezas; 26 = 64 sectores, que van hasta el número 63
Compatibilizando ambas limitaciones, resultan 1024 cilindros, 16 cabezas y 63 sectores, que hacen el límite de los 504 MB calculados; aunque El BIOS por separado permitiría 1024 x 256 x 63 x 0,5 = 8 GB, mientras que por su parte, una interfaz IDE permitiría una capacidad de hasta 65536 x 16 x 63 x 0,5 = 128 GB.
En 1994 las normas IDE de 1984 pasaron a ser las E-IDE. A fin de maximizar la compatibilización entre BIOS e IDE para poder operar con discos de mayor capacidad que 504 MB, se crearon algunos artificios matemáticos que pueden ser llevados a cabo por la UCP ejecutando subrutinas de un BIOS actualizado, o por el microprocesador de la unidad IDE ejecutando subrutinas de su firmware.
Para plantear esto, se denomina CHS lógico (cuyas siglas son L-CHS) a los números de CHS que se envían a una unidad de disco IDE (o SCSI), al ejecutarse una subrutina del BIOS. Este L-CHL al ser recibido por la unidad IDE debe ser convertido por ésta en un CHS físico (F-CHS o P-CHS en inglés), que son los números de CHS a partir de los cuales la unidad IDE accede al sector seleccionado.
En discos con capacidad menor o igual que 504 MB, coincidirán los números de L-CHS y de F-CHS. Esto es los números de CHS que surgen del BIOS son los mismos que usa la unidad IDE para ubicar un sector.
Una forma de compatibilizar discos de más de 504 MB es la siguiente. Sea un disco de 1 GB que físicamente presenta 2 platos (4 cabezas), y cuyas pistas tienen un número distinto de sectores, que aumenta desde el centro hacia el borde, superando los 63, como se trató más atrás. Este disco para la unidad IDE se caracterizaría físicamente como equivalente a un disco de 4096 cilindros, 4 cabezas, y 63 sectores de 0,5 KB por pista, dado que 8192 x 4 x 63 x 0,5 = 1 GB. La geometría del disco real resulta así invisible al exterior. Si se divide 8192 por N=8 resulta 1024, y si se multiplica 4 por N=8 resulta 32. De este modo, un disco que tuviera 1024 cilindros, 16 cabezas y 63 sectores por pista también tendría 1024 x 32 x 63 x 0,5 = 1 GB, pero los valores 1024 y 32 son compatibles para subrutinas del BIOS, según se describió.
La unidad IDE se encarga de trasladar cada número de sector, cabeza y sector del disco lógico que suponen las subrutinas del BIOS, en otro número de sector, cabeza y sector para el disco físico de 8192 x 4 x 63 x 0,5 También es factible que dicha traslación sea llevada a cabo por dichas subrutinas del BIOS actualizado. Esto se conoce como ECHS (Extended CHS translation) o "large". Existen varias formas de realizar esto.
No debe confundirse los números lógicos de cilindro, pista y sector -que simula el drive de un disco para un sistema operativo (y para la ROM BIOS)- con el formateo lógico, destinado a reservar sectores que serán usados por dicho sistema, ni con la estructura lógica con que el DOS "ve" a un disco (antes tratada).
El LBA es otro mecanismo para operar discos con más de 504 MB. Las unidades de disco SCSI y las IDE permiten que se identifique los sectores mediante números consecutivos, comenzando desde 0 (donde está la tabla de particiones), siendo que físicamente se tiene números de cilindro, cabeza y sector. Esto es, esas subrutinas en lugar de enviar números de cilindro, cabeza y sector para acceder a un sector, pueden enviar un número que lo identifica denominado LBA (Logic Block Address o sea dirección lógica del bloque). Una unidad IDE o EIDE con la opción de operar con CHS o LBA, requiere asignar LBA 0 al cilindro 0, cabeza 0, sector 1. En un disco de 504 MB el LBA del último sector sería 1.065. 456. La técnica LBA permite acceder a unos 228 sectores (de 0,5 KB), o sea 137 GB en un IDE. El uso de LBA puede implementarse en un BIOS actualizado o en una unidad IDE, y no siempre significa una mejor performance de un disco. Muchos sistemas operativos pueden operar directamente con LBA, pero el DOS y otros sistemas deben usar la geometría CHS.
19. ¿En qué consisten los métodos de grabación MFM y RLL?
Según se expuso antes (figuras 2.4 y 2.5), una cabeza (bobina) mientras graba magnetiza en la pista grupos de pequeñas partículas microscópicas de óxido de hierro (no una sola), dando lugar a pequeños imanes que originan campos magnéticos en la superficie del disco, cuya polarización (S-N o N-S) depende del sentido de la corriente de la bobina. En las figuras 2.26 b, e, h aparecen pistas grabadas dibujadas rectilíneas, siendo que en las mismas se enfrentan dos polos iguales cuando cambia de nivel la señal eléctrica que se aplica a la cabeza (figuras 2.26 a, d, g), lo cual hace cambiar el sentido de la corriente que circula.
Cuando la misma cabeza debe leer, sensa dichos campos, detectando campos magnéticos existentes debidos a imanes enfrentados (norte contra norte, sur contra sur). Vale decir, no detecta si existe o no campo magnético, sino inversiones en el flujo (campo) magnético, cuando se enfrentan dos polos iguales. En una lectura, al pasar la cabeza por cada una de estas inversiones, se genera en la bobina una corriente eléctrica que da lugar a una señal constituida por un breve pulso eléctrico (figura 2.26 c, f, i). Los pulsos así generados, al ser decodificados por la electrónica correspondiente, permiten reconstruir la señal que excitó la bobina de la cabeza durante la escritura de la pista, y así decodificar los ceros y unos en el sector leído.
El número máximo de inversiones sucesivas de flujo magnético por centímetro o pulgada cuadrada debe permitir escrituras o lecturas seguras. Está limitado por las características del material magnético, por el ancho del entrehierro, y la sensibilidad de la cabeza.
Para un número máximo dado de tales inversiones, de lo que se trata, en principio, es codificar la mayor cantidad de unos y ceros por centímetro de pista, habiéndose desarrollado para tal fin varios métodos, que implicaron sucesivas mejoras en la densidad de almacenamiento. En todos ellos -como se planteó- en una escritura, cada cambio de nivel de la señal eléctrica que se aplica a una cabeza, produce una inversión en el flujo magnético de la superficie de la pista que está siendo escrita. Por lo tanto, se busca codificar la mayor cantidad de unos y ceros con el menor número de cambios de nivel en dicha señal.
Los tres métodos de codificación que se discutirán tienen en común:
- Los unos y ceros a grabar están separados igual intervalo de tiempo entre sí; y
- Cada bit de valor uno a escribir le corresponde siempre en la pista una inversión del campo magnético; mientras que en correspondencia con cada cero a escribir, no existe ninguna inversión de campo. Pero esta convención sin más no permite en la lectura detectar cuántos ceros sucesivos han sido grabados.
Una codificación emplea inversiones de flujo extras para separar bits, y otra las usa sólo para separar ceros. Estas inversiones usadas para demarcar bits -que en correspondencia requieren cambios de nivel en las señales eléctricas que se aplican a una cabeza- se denominan "clocks", en el sentido que sirven para autosincronismo, a fin de poder determinar tiempos de duración de bits.
En la grabación de disquetes se usa principalmente el método de codificación conocido como MFM (Modulación de Frecuencia Modificada). En los rígidos la técnica anterior se ha reemplazado por otra conocida como RLL ("Run Lenght Limited", traducible como "longitud limitada de ceros corridos" o sea sucesivos), que permite hasta un 50% más de densidad de grabación. Ambas codificaciones son mejoras sucesivas del denominado método de grabación FM ("Frecuencia Modulada").
En la grabación FM (figuras 2.26 a, b, c) se emplea siempre una inversión de flujo antes de cada bit a escribir, sea uno o cero; y además se debe emplear otra inversión por cada bit de valor uno a escribir, inversión que se da a mitad de camino entre la inversión que indica su comienzo y la del comienzo del bit siguiente. 0 sea, que para escribir un uno se requiere dos cambios de nivel en la señal que recibe la cabeza: un cambio para indicar que empieza un bit, y otro para señalar que se trata de un uno. A diferencia, la escritura de un cero implica sólo un cambio de nivel, para indicar el comienzo de dicho bit, siendo que la ausencia de otro cambio inmediatamente después identifica que se trata de un cero. La denominación FM se debe a que en la codificación de unos sucesivos, resulta una frecuencia de pulsos mayor que la existente para ceros sucesivos, o sea que existen dos frecuencias distintas para unos y ceros.
Dado que en la codificación FM, para grabar un uno se necesita dos inversiones de campo magnético en la pista, fue reemplazada por la MFM, que pen-nite codificar un wio con una sola inversión de campo, siendo que sólo usa inversión para indicación de comienzo de bit, cuando un cero está precedido por otro cero.
Esta convención permite codificar, como se ejemplifica, la misma secuencia de unos y ceros como la ejemplificada (11111010000) con la mitad de inversiones de flujo que con FM. Por lo tanto en MFM se puede duplicar el número de bits por pulgada de pista, para una cantidad máxima de inversiones posibles por pulgada (que depende del material magnético usado).
Para los discos rígidos de gran capacidad fue necesario aumentar la densidad de grabación, para lo cual se creó la codificación RLL 2,7 que permite con un menor número de inversiones de flujo codificar una mayor cantidad de bits (hasta 50% más que con MFM). A tal fin, una sucesión de bits a escribir se descompone, a partir del primero, en sucesivos grupos de bits cuya codificación en RLL 2,7 se recuadra en la figura 2.26.
Esta recodificación el número de unos a grabar, y por ende, inversiones de flujo, siendo que en MFM también se necesitan inversiones cuando hay ceros consecutivos (en RLL sólo se usan para los unos). En nuestro ejemplo, los datos a escribir 11111010000 se descomponen en los grupos 11 11 10 10 000 codificados en la figura 2.26 g, como 100010000100010000010O. En RLL sólo se produce una inversión de flujo si hay un uno, sin emplear inversiones de comienzo de bit para los ceros en ninguna circunstancia.
La lectura de una pista exige una electrónica sofisticada, como la IDE o SCSI, para determinar correctamente, en función del tiempo transcurrido, cuántos ceros existen entre la detección de dos "unos".
La figura 2.26 g permite apreciar que si bien la codificación RLL requiere el doble de los bits originales a escribir, el número de inversiones de flujo es menor que en MFM, resultando en comparación una ganancia en la densidad de bits almacenados, que estadísticamente puede llegar al 50%.
Las siglas 2,7 de la codificación RLL 2,7 resultan de la tabla anterior. Después de un uno puede haber dos ceros como mínimo, y tres ceros como máximo. Antes de un uno como máximo pueden darse cuatro ceros. Por consiguiente, entre dos unos, como mínimo pueden haber dos ceros, y como máximo siete ceros. Ocho o más ceros seguidos, se descomponen en grupos de tres ceros, cada uno codificable como 000100. Existen también las codificaciones RLL 1,7 y RLL 3,9 también conocidas como ARLL (Advanced RLL), que permiten hasta un 90% de ganancia de densidad en relación con MFM.
20. ¿Qué es un disquete "floptical"?
Si bien la denominación "floptical" -proveniente de floppy y optical- parecería indicar un disquete flexible removible que es escrito o leído mediante láser, el floptical es un disquete flexible magnético, que se graba y lee de la forma vista (figura 2.5). O sea con una cabeza (figura 2.28) que para escribir cada pista genera campos magnéticos N-S y S-N según el sentido de la corriente que circula por una bobina; y que en una lectura detecta inversiones del campo sobre la superficie de una pista Dichas inversiones producen corrientes en la bobina, generándose tensiones eléctricas que permiten recuperar los unos y ceros almacenados.
La particularidad de un floptical es que usa láser y óptica auxiliar para posicionar el cabezal sobre cada pista (figura 2.28). Este, como se dijo, escribe o lee información por medios magnéticos, de la forma descripta.
Esta sofisticación es necesaria a los fines de poder operar con una densidad radial de 1245 t.p.i (pistas por pulgada) contra 135 t.p.i de los disquetes comunes de 1,44 MB, para que un floptical pueda guardar 21 MB Asimismo, un floptical se lee y escribe unas tres veces más rápido que un disquete común (floppy). Ello se debe a que es posible acceder a un cilindro (pista) del mismo en 65 mseg, contra 150 mseg del segundo (tiempos promedio), y que su velocidad de rotación es 720 r.p.m. (el doble que la de un floppy).
Por otra parte, una unidad para floptical también puede leer o escribir disquetes comunes, dado que cada cabeza presenta dos entrehierros: uno muy estrecho para disquetes floptical, y otro más ancho para floppys.
Para que el servo óptico posicione el cabezal en la pista seleccionada, al lado de cada pista magnética que almacena información (la cual puede ser formateada y reformateada), existe otra "servo pista" no borrable (grabada o estampada de fábrica) sobre la cual incide luz láser puntual. Parte de esta luz se refleja en dicha servo pista, y la información de control que ella contiene es enviada al servo sistema, para que posicione constantemente la cabeza en la pista magnética seleccionada.
Existen servos más elaborados, con seguimiento óptico por holografías en la superficie del floptical.
21. ¿Qué son los disquetes y unidades ZIP?
Las unidades ZIP (Zip Dlrive"), por las capacidades de sus disquetes, por su confiabilidad, y por su velocidad de transferencia están a mitad de camino entre las unidades de disquete y las de disco duro, aunque más próximas a esta última. Así, su velocidad de giro es del orden de 3000 r.p.m, lo cual redunda en una mayor velocidad de transferencia.
El gabinete del ZIP drive es externo al gabinete de la computadora (figura 2.29).
La conexión del ZIP drive generalmente se hace en el port paralelo que usa la impresora, debiéndose desconectar ésta de dicho port, y volverla a conectar al gabinete del ZIP drive en un conector preparado. Los disquetes para ZIP drive son flexibles, y pueden almacenar en sus dos caras magnetizables 100/200 MB, empleándose comúnmente para back-up del disco rígido. Las cabezas de escritura/lectura están en contacto con las superficies de ambas caras, siendo más pequeñas en tamaño que las usadas en una disquetera, lo cual permite grabar y sensar con densidades de grabación mayores.
- M. C. Ginzburg, Introducción general a la informática: Periféricos y redes locales.
Trabajo realizado y enviado por: Leandro Vanden Bosch Estudiante de Ing. en Sistemas; Universidad Abierta Interamericana; Buenos Aires, Argentina. 1999. lvbosch[arroba]usa.net
Página anterior | Volver al principio del trabajo | Página siguiente |