Vous êtes sur la page 1sur 6

Informacin til Sobre Discos Duros

SOBRE VELOCIDAD EN DISCOS


ltimamente el mercado nos est inundando con informaciones sobre discos: ATA 66, ATA 100, 7200 RPM
(revoluciones por minuto), discos SCSI a 10.000 revoluciones LVD y lo ltimo, los discos SCSI a 15.000 RPM.
Vamos a intentar centrar el tema de los accesos a disco, como lo realizan los sistemas operativos normalmente, y cul es el disco ideal para cada sistema. No vamos a tratar en este artculo sobre las caractersticas de
RAID, etc. que quedarn fuera de este mbito y que merecen un estudio ms detallado en algn artculo posterior. El tema bsico de este artculo, es a nivel elemental y como tal debe tomarse.

Existen bsicamente dos tipos de discos: IDE y SCSI. Las controladoras IDE son las que normalmente
encontramos integradas en la placa madre y son las de uso ms normal en los ambientes domsticos.
Las controladoras SCSI, son controladoras profesionales, orientadas normalmente al mbito profesional, y los discos y tecnologas SCSI son las punteras. Los discos salen en tecnologa SCSI y uno o dos
aos ms tarde, se implementan en tecnologa IDE. Es decir, los SCSI llevan un par de aos de diferencia en avance tecnolgico siempre con respecto a los IDE.

DISCOS IDE
Discos IDE. Son los orientados normalmente al consumo domstico. Existen dos tcnicas de acceso a estos
discos. Son los modos PIO y los modos DMA.

Modos PIO: En los discos antiguos, el acceso a disco se hacia mediante tcnicas PIO (Program Input/Output). Estos tipos de acceso, implican mucho trabajo a la CPU (constantemente interrogando a
los puertos de comunicaciones con el disco), y poca velocidad de transferencia, ya que lo mximo que
poda traerse la CPU del disco es de dos en dos bytes por cada operacin PIO. Los modos PIO son de
PIO 1 a PIO 4, siendo el ms rpido este ltimo.

Modos DMA. Evidentemente el modo anterior queda obsoleto desde el momento en que las tecnologas de las placas madre y de los buses de las placas madre, permiten la tcnica del bus mastering. Esta
tcnica consiste en que el dispositivo puede tomar el control del bus, desconectando del bus a la CPU,
y durante esa fraccin de tiempo hacer llegar datos a la memoria del ordenador de una manera masiva.
En ese momento el procesador est inoperativo, pero la velocidad de transferencia conseguida por la
electrnica del disco y de la controladora supera con creces la parada de la CPU.

En los modos DMA, rpidamente se implement el modo UDMA-2 o UDMA 33, siendo tericamente el ancho
de banda de 33 MegaBytes por segundo. Este modo est soportado perfectamente por todos los sistemas
Windows, es automtico en Windows 2000 y manual en los Windows 9X o Windows ME, siendo necesario
activar el casillero de acceso a DMA en el disco en el Administrador de Dispositivos de Windows.
Posteriormente ha surgido la tecnologa UDMA-4. ( 66 MBytes/segundo). Estos discos son compatibles con
UDMA-2, por lo que funcionarn en las controladoras de disco antiguas. Pero para sacar realmente su rendimiento, es necesario utilizar controladoras y BIOS que soporten este modo, y adems utilizar un cable IDE
especial de 80 hilos. Igualmente, este cable debe estar correctamente conectado a la placa madre, es decir el
conector de color azul, debe ir a la placa madre y los otros dos conectores a los dos discos o dispositivos IDE
que puede utilizar cada canal. Se pueden mezclar dispositivos, es decir, podemos tener un disco UDMA 4 y
otro UDMA 2 en el mismo canal sin problemas.
Esta es la conexin fsica, pero pasemos ahora al sistema operativo. El sistema operativo debe soportarlo, y
para ello hay dos componentes del sistema operativo en s que intervienen en ello: el controlador de bus mastering inherente al propio sistema operativo debe ser capaz de activar el modo de transferencia de 66 MegaBytes/segundo. Igualmente, el fabricante de la controladora IDE, debe darnos un controlador de disco duro que
sea capaz de manejar este modo de transferencia. Pasemos ahora a ver en detalle estos dos componentes.
Empecemos por el fcil: el controlador de disco duro que nos da el fabricante. Con este componente, normalmente no hay ningn problema. La mayora de fabricantes nos suministran dicho controlador.

El segundo componente, ya no nos lo puede suministrar el fabricante: la posibilidad de bus mastering en modo
66 MB/s. Este componente es inherente al sistema operativo, por lo cual vamos a describir que sistemas operativos de Microsoft lo soportan o no.
Empecemos primero a ver el soporte que Microsoft en general da a los chipset y controladoras de la placa madre: Microsoft nicamente da soporte a los chipset Intel. No da soporte en nativo a los chipset VIA hasta el
momento. Lo empezar a dar en el siguiente sistema operativo: WindowsXP.
Por tanto, no es posible la activacin del modo UDMA 66 con chipset VIA, ni tan siquiera con los drivers de VIA.
Con respecto al soporte actual en los chipset Intel, Microsoft nicamente da soporte a ellos en modo UDMA 66
en Windows 2000. Adems para que este soporte quede activado, es necesario modificar una clave en el registro, segn est documentado en: http://support.microsoft.com/support/kb/articles/q247/9/51.asp
Fijmonos que este es el nico artculo de Microsoft que habla de la UDMA 66 en sus sistemas operativos. De
ello podemos deducir perfectamente que es en el nico caso en que da soporte ya que de otra manera estara
totalmente documentado y ampliamente anunciado.
Como conclusin podemos afirmar que:



nicamente existe soporte para UDMA 66 en W2000 y para chipset Intel.


No existe soporte para otros tipos de chipset, ya que aunque los fabricantes nos den el driver, Microsoft
todava no ha sacado ningn Service Pack que active esta transferencia a nivel del sistema operativo.

La tecnologa ha seguido avanzando y en la actualidad ya existen discos ATA 100 o UDMA-5. Estos discos,
igualmente necesitan que la controladora hardware lo soporte, y necesitan que el sistema operativo y los controladores de disco duro tambin lo soporten.
Con respecto al sistema operativo, Microsoft ha anunciado soporte a UDMA 100 en el siguiente Service Pack
(SP2) de W2000. No existe ningn anuncio sobre los sistemas Windows 9X y Windows ME, e igualmente el
soporte en W2000, no est especificado si es para chipset Intel nicamente.

VELOCIDAD DE TRANSFERENCIA
A pesar de los comentarios anteriores, podemos observar que la velocidad de los discos actuales IDE es superior y aparentemente existe una inconsistencia con las matizaciones dadas anteriormente. Veamos que no es
as.
Anticipemos que los discos actuales, tienen normalmente una mayor velocidad de rotacin. Han pasado en los
discos IDE de 5400 revoluciones/minuto a 7200 RPM. Igualmente, tienen una mayor capacidad, lo que da una
mayor "densidad" de grabacin por pista.
Esto ltimo implica que se tarda menos tiempo en leer una vuelta completa (una pista), y adems que se leen
ms datos (al ser mayor la densidad). Por tanto, lo normal, y mientras no se sature el bus de datos, es que
apreciemos sensiblemente un aumento de velocidad.

PARMETROS IMPORTANTES DE UN DISCO


A pesar que nunca hayamos desmontado un disco para ver su interior, podemos suponer que estos constan de
un plato (o varis platos) giratorios y una cabeza de lectura que se mueve transversal al disco y se posicione en
cualquier parte de l.
Efectivamente, esta imagen intuitiva es la correcta. En la actualidad, los discos duros constan de un solo plato
con dos superficies magnticas, la superior y la inferior, y poseen dos cabezas, una para cada superficie.
La geometra "real" del disco, es entonces de dos cabezas. Esto choca muchas veces con la idea que tenemos
de los discos (idea que se transmite desde los antiguos discos de muchos platos), e incluso con la idea que los
fabricantes nos transmiten al hablarnos de 8400 cilindros, 16 cabezas y 63 sectores (por ejemplo).
Bien, esta ltima, es la geometra que el disco "aparenta" tener y es la que transmite al sistema operativo. Evidentemente no puede ser cierta, ya que si tuviese 16 cabezas, indica que tendra 8 platosII. Y en los discos
actuales, no "caben" 8 platos.
Aunque el sistema operativo se refiera a esa geometra, es decir, le indique al disco: lee del cilindro 1417, cabeza 14, sector 50; en ese momento, la electrnica integrada en el propio disco, se encarga de "traducir" esas
direcciones por las direcciones "reales" en el disco de acuerdo con su geometra real. Este mecanismo se conoce como "traslacin lgica de bloques". Es lo que muchas veces denominamos LBA (Logical Block Address)
al referenciarlo en la BIOS de la maquina.
Factores de velocidad
Independientemente de la introduccin anterior y que nos ha desviado un poco del tema, intentemos imaginar
cules son los parmetros de velocidad de un disco. Evidentemente uno de ellos, es la velocidad de la electrnica del propio disco y la posible velocidad de transmisin a travs del cable. Pero podemos intuir que estas
velocidades son infinitamente superiores a los verdaderos cuellos de botella: los componentes no electrnicos;
es decir: los componentes mecnicos.
Seek y Latencia de Rotacin
La pregunta es: Qu movimiento debe hacer la mecnica para leer un determinado sector de un disco?.
Sabemos que el disco est girando. Por tanto, una vez que la electrnica ha calculado en donde est el sector
a leer o escribir, debe mover lateralmente la cabeza de lectura hasta el cilindro en donde est el sector a buscar. Este movimiento se denomina Seek (posicionamiento).
Una vez que la cabeza est situada en dicho cilindro, y debido a que el disco est girando, nicamente debe
"esperar" a que el sector que busca pase por debajo de dicha cabeza, en cuyo momento lo leer. Evidentemente, una vez posicionada la cabeza, el sector a buscar puede estar en cualquier lugar del cilindro. En el peor
de los casos, el sector puede que justo acabe de pasar por la cabeza lectora, en cuyo caso hay que esperar a
que el disco gire una vuelta completa para que vuelva a pasar debajo de la cabeza lectora. O bien, podemos
estar en el mejor de los casos, es decir, que el sector que queramos leer vaya a pasar justo en ese momento
debajo de la cabeza lectora. Y puede que est en cualquier otra posicin. El tiempo que tarda en pasar se denomina Latencia de Rotacin. Estadsticamente, lo que tardar de promedio (average) en pasar, ser lo que
demore el disco en dar media revolucin.
Bien, acabamos de ver los dos nmeros maravillosos que aparecen muchas veces (y confusamente) en la documentacin de los fabricantes: Seek y Latencia de Rotacin.
Uno de los valores, la Latencia de Rotacin, depende nicamente de la velocidad de giro del disco. Cuanto
mayor sea la velocidad de giro, mas rpidamente encontrar un sector una vez que la cabeza lectora se haya
posicionado (Seek) en el correspondiente cilindro.
Las velocidades actuales para los discos IDE de ltima generacin son de 7200 rpm. Esto quiere decir:
7200 revoluciones por minuto = 7200 / 60 = 120 revoluciones por segundo.

Por tanto, en dar una vuelta completa tarda 1 /120 segundos = 0,00833 segundos. Es decir 8,33 milisegundos.
Su latencia de rotacin promedio ser la mitad: 4,16 milisegundos.
Como podemos suponer, este dato es "fijo" y no depende del fabricante ni de la calidad del disco. Depende
nicamente de la velocidad de rotacin.

Recordemos que los discos SCSI actuales, giran a 15000 rpm. Es decir su latencia de rotacin promedio ser la mitad, por tanto: el doble de rpidos con respecto a este parmetro.

Donde realmente encontramos la calidad de fabricacin est en el Seek. En el posicionamiento de cabeza.


Ese suele ser el dato que figura en las caractersticas de los fabricantes y muchas veces aade un punto de
confusin, debido a que algunos de ellos, lo denominan tambin average (esta vez, es promedio de los distintos tiempos de posicionamiento utilizados para moverse entre dos cilindros al azar).
Los discos normales en la actualidad, dan un Seek entre 8 y 10 milisegundos. Los discos buenos, bajan este
dato a 6, 5 o incluso 4 milisegundos (poqusimos fabricantes dan estos tiempos; en la actualidad nicamente
Seagate con su disco Cheetah). Aqu, en combinacin con la velocidad de rotacin, es donde verdaderamente
se ven las prestaciones de un disco.

No debemos llevarnos a engao, la velocidad de transferencia a travs del bus (ATA 66, 33, etcI)
nunca, o casi nunca, en un cuello de botella.

nicamente puede ser cuello de botella la velocidad de transmisin del bus, en el caso de lectura secuencial de
un archivo. En este caso, una vez que la cabeza se ha posicionado, lee secuencialmente, y por tanto, sin movimiento de translacin los datos. Por tanto, en este caso, nicamente influye la velocidad de rotacin. Si la
velocidad de rotacin es capaz de suministrar datos a mayor velocidad de lo que el bus puede transmitirlos,
evidentemente estaremos perdiendo prestaciones del disco. En la actualidad, a 7200 revoluciones, un disco de
alta densidad (30 gigas), est en el lmite de ATA 33. Es decir, en lectura secuencial es capaz la mecnica de
leer unos 35 megas por segundo. Por tanto, si este disco estuviese funcionando en una controladora ATA 33
normal, nicamente perderamos unos 2 megas por segundo.
Si tuvisemos ms de un disco, y ambos estuviesen leyndose "simultneamente" y en ambos, la lectura fuese
secuencial (totalmente improbable tal y como veremos a continuacin), nicamente en este caso y para no
saturar el bus, es cuando sera necesaria una controladora ATA 66.
Las ATA 100 carecen de sentido en la actualidad hasta que los discos no alcancen mayor densidad de grabacin, o mayor velocidad de giro.

Tiene ms sentido en la actualidad los discos SCSI de velocidades de 160 MB/seg. Aunque estas velocidades, y por el mismo razonamiento anterior, no son alcanzables, recordemos que las controladoras
SCSI llevan hasta 15 dispositivos. Por tanto, s que pueden existir cuellos de botella en la transmisin
del bus, si este no tiene velocidades altas como por ejemplo 160 o las ltimas a 320 MB/seg.

FUNCIONAMIENTO REAL
Cmo se lee un fichero? Esta es la pregunta importante para entender el funcionamiento de un disco.
Vamos a estudiarlo en el sistema de archivos ms simple que hay: el sistema FAT o FAT 32. Introduciremos un
poco posteriormente el funcionamiento en el sistema NTFS.
Vamos a ceirnos a un caso tpico de un disco de 8 GB, formateado en FAT32. Recordemos que la estructura
de un disco en FAT 32, consta de un directorio principal de tamao fijo, por tanto limitado a un nmero mximo
de archivos ya que un directorio o carpeta no es nada ms que un archivo.
Igualmente consta de dos tablas llamadas tablas FAT. Cada tabla consta, en el ejemplo de un disco de 8GB,
de 1.048.000 elementos, cada uno de 4 Bytes (FAT 32). Cada elemento de esta tabla referencia a un cluster
(agrupacin de sectores) del disco. En un disco de 8GB, cada cluster es de 8192 bytes (es decir, de 16 sectores de 512 bytes).
Estas cifras pueden verse en el caso real de nuestro disco, si ejecutamos el comando: chkdsk.

Qu hemos querido decir con las cifras anteriores?. Bien, pues que el primer elemento de esa tabla de
1.048.000 elementos, apunta (o referencia) al primer cluster de datos, el segundo elemento, al segundo cluster de datos, y as sucesivamente. Evidentemente hay unos elementos reservados al principio de dicha tabla
para referencias a los cluster ocupados por el directorio raz del disco.
Imaginemos que definimos que si un elemento de la tabla contiene en binario una determinada marca (por
ejemplo, el hexadecimal xFFFFFFFF, es decir, todo a unos binarios), esto indica al sistema operativo que ese
cluster del disco est libre.
Veamos ahora como se guarda un archivo:
1. El sistema operativo calcula cuntos clusters va a ocupar. Para ello, divide el tamao del archivo entre
el tamao del cluster, y al dato obtenido lo redondea a la unidad superior.
Por ejemplo, si tenemos un archivo de 20.000 bytes, en nuestro ejemplo el clculo realizado es 20000 /
8192 = 2,4414. Redondeado a la unidad superior, es un 3. Por tanto nuestro archivo va a ocupar tres
clusters en el disco.
2. Una vez calculados el nmero de clusters a ocupar, el sistema operativo, lee la FAT, buscando un cluster libre. Es decir, lee cada elemento de la FAT hasta que encuentra la marca xFFFFFFFF citada anteriormente. Imaginemos que lo encuentra en el elemento 537 de la FAT. Esto le indica que el cluster
537 del disco est libre.
3. En ese cluster graba los primeros 8192 bytes del fichero, y marca el elemento 537 de la FAT con un
cero (en binario).
4. Como le queda todava datos a grabar, vuelve a leer la FAT para localizar otro elemento con la marca
xFFFFFFFF. Imaginemos que es el elemento numero 612. Por tanto, le indica que el cluster 612 del
disco est libre. Ahora va a ese cluster, y graba los siguientes 8192 bytes del fichero.
Igualmente ahora, va a la FAT, y en 612, graba un cero. Hasta aqu, todo es igual que cuando ha grabado el primer cluster del fichero. Pero en este caso, adems de lo anterior, el sistema recuerda cual
es el ltimo elemento de la FAT grabado (el 537), y en ese elemento, le pone ahora el nmero 612 (del
cluster actual).
5. Queda todava por grabar un cluster. Bien, volvemos a repetir los clculos: se vuelve a leer la FAT para
localizar otro cluster libre (xFFFFFFFF). Imaginemos que es el elemento 1020.
6. En ese cluster graba por fin los ltimos 8192 bytes del fichero, y marca el elemento 1020 de la FAT con
un cero (en binario). Ahora va al elemento anterior (el 612) y all graba el nmero 1020.
7. Por ultimo, guarda en el directorio raz del disco el nombre de archivo, y adems all se guarda la fecha, el tamao, y lo que es ms importante: el nmero del primer elemento de la FAT que apunta al fichero guardado, es decir: 537.
Bien, despus de toda esta historia, veamos como est ahora nuestro fichero en disco:

A nivel del directorio principal, tenemos su nombre, y un nmero mgico: 537. Esto indica que el archivo empieza en el cluster 537. Igualmente, el elemento de la FAT 537, contiene el segundo nmero mgico: 612. Esto indica que el siguiente cluster del archivo es el cluster numero 612. Y adems, el elemento de la FAT 612, contiene el siguiente nmero mgico: 1020. Esto indica que el tercer cluster del
fichero est en el cluster 1020. Y precisamente, el elemento 1020 de la FAT, si repasamos la secuencia anterior de grabacin, vemos que contiene un cero: esto indica que ya no queda nada ms que
hacer. Es decir, acabamos de leer los tres cluster del disco que contienen los datos de nuestro fichero.

Sencillo no?......

Lo anterior, nos debe hacer meditar en un tema muy importante. Cualquier cosa que hagamos para
leer o grabar un fichero, en principio implica un montn de lecturas en el disco. Adems como la FAT
est al principio del disco, esto implicar que la cabeza lectora, tiene que pegar muchos saltos entre la
FAT y el cluster de datos a leer para ir trayndose poco a poco los datos a memoria. Y estos "saltos"
de la cabeza, son saltos muy caros en tiempos de proceso.

Es verdad que los sistemas operativos, intentan tener la FAT en memoria para ahorrar accesos a disco. Pero
en nuestro caso, la FAT es de 1.048.000 elementos de 4 bytes, es decir, la FAT ocupa 4 MegaBytes!. Como
hay dos FAT y el sistema operativo, cuando grabamos un archivo, utiliza las dos por motivos de seguridad (es
decir, una de ellas, es backup de la otra), seran en total 8 Megas de memoria principal de nuestra mquina,
utilizados nicamente para tener la FAT y por tanto ahorrar accesos a disco. Pensemos tambin, que en el
caso de estar grabando un fichero, una vez modificada la FAT en memoria, el sistema la intentar grabar en
disco rpidamente, ya que si se pierde la actualizacin de la FAT, es como si hubisemos perdido el fichero.
Este consumo de memoria por intentar realizar los accesos lo ms rpido posible, empieza a ser molesto
cuando tenemos muchos discos o particiones. En mi caso, por ejemplo, tengo 12 discos (grandes, de hasta 75
GB) y las particiones necesarias hasta ocupar la letra Z:. Por tanto, el consumo de memoria real que el sistema
operativo intenta tener para ahorrar los accesos a disco, aumenta de una manera brutal.
Por ello, cuantos ms discos o particiones tengamos y estemos trabajando con ellos, indicar que debemos
tener ms memoria fsica para poder ejecutar programas, o el bien, el rendimiento de la mquina decaer en
gran medida.

Fuente: http://www.seguridadysistemas.com/modules.php?name=Sections&op=printpage&artid=25
Revisin: Ing. Alejandro Schmoker

Notas finales:

El sistema NTFS es un sistema de archivos especial que histricamente proviene del sistema de archivos nativo de la casa Digital. Recordemos que los desarrolladores de Digital, son los nicos desarrolladores en el mundo que tienen derecho a "sus" patentes de desarrollo. Por tanto, si un empleado de Digital se va de la Empresa, se va tambin con el derecho a usar sus conocimientos y sus patentes en
otro sitio. Recordemos que para el desarrollo del primer NT, Billy Gates consigui que unos de los ingenieros de Digital, dejase su empresa y fichase por Microsoft.

Este sistema de archivos, mucho ms robusto que el sistema FAT y que adems permite definir ACL
(listas de control de acceso, para seguridad), est basado en i-nodos y se sale del alcance del presente
documento.

Vous aimerez peut-être aussi