Cilindro-cabeza-sector

Esquema de la geometría del disco duro

El direccionamiento del SCD es el proceso de identificación de sectores individuales (aka. bloque físico de datos) en un disco por su posición en una pista, donde la pista está determinada por los números de cabeza y cilindro. Los términos se explican de abajo hacia arriba, para el direccionamiento del disco el sector es la unidad más pequeña. Los controladores de disco pueden introducir traducciones de direcciones para asignar posiciones lógicas a físicas, por ejemplo, la grabación de bits de zona almacena menos sectores en pistas más cortas (interiores), los formatos de disco físico no son necesariamente cilíndricos y los números de sector en una pista pueden estar sesgados.

SectoresEditar

Los discos flexibles y los controladores utilizan tamaños de sectores físicos de 128, 256, 512 y 1024 bytes (por ejemplo, PC/AX), mientras que los formatos con 512 bytes por sector físico se convirtieron en los dominantes en la década de 1980.

El tamaño del sector físico más común para los discos duros hoy en día es de 512 bytes, pero ha habido discos duros con 520 bytes por sector también para máquinas no compatibles con IBM. En 2005, algunos discos duros personalizados de Seagate utilizaban tamaños de sector de 1024 bytes por sector. Los discos duros de formato avanzado utilizan 4096 bytes por sector físico (4Kn) desde 2010, pero también podrán emular sectores de 512 bytes (512e) durante un período de transición.

Las unidades magneto-ópticas utilizan tamaños de sector de 512 y 1024 bytes en unidades de 5.25 pulgadas y 512 y 2048 bytes en las unidades de 3,5 pulgadas.

En el direccionamiento CHS los números de sector siempre empiezan en 1, no hay sector 0, lo que puede llevar a confusión ya que los esquemas de direccionamiento lógico de sectores suelen empezar a contar por 0, por ejemplo, el direccionamiento lógico de bloques (LBA), o el «direccionamiento relativo de sectores» utilizado en el DOS.

Para las geometrías de los discos físicos el número máximo de sectores está determinado por el formato de bajo nivel del disco. Sin embargo, para el acceso al disco con la BIOS de las máquinas compatibles con IBM-PC, el número de sector se codificaba en seis bits, lo que daba como resultado un número máximo de 111111 (63) sectores por pista. Este máximo se sigue utilizando para las geometrías virtuales de CHS.

TracksEdit

Los tracks son las finas tiras circulares concéntricas de sectores. Se requiere al menos un cabezal para leer una sola pista. Con respecto a las geometrías de los discos, los términos pista y cilindro están estrechamente relacionados. Para un disquete de una o dos caras, el término común es pista; y para más de dos cabezas, cilindro. En sentido estricto, una pista es una combinación determinada de CH que consta deSPT sectores, mientras que un cilindro consta deSPT×H sectores.

CilindrosEditar

Un cilindro es una división de datos en una unidad de disco, tal como se utiliza en el modo de direccionamiento CHS de un disco de arquitectura de bloques fijos o en el modo de direccionamiento cilindro-cabeza-registro (CCHHR) de un disco CKD.

El concepto es de cortes concéntricos, huecos y cilíndricos a través de los discos físicos (platos), recogiendo las respectivas pistas circulares alineadas a través de la pila de platos. El número de cilindros de una unidad de disco es exactamente igual al número de pistas en una sola superficie de la unidad. Comprende el mismo número de pistas en cada plato, abarcando todas esas pistas a través de cada superficie del plato que puede almacenar datos (sin tener en cuenta si la pista es «mala» o no). Los cilindros están formados verticalmente por pistas. En otras palabras, la pista 12 del plato 0 más la pista 12 del plato 1, etc., es el cilindro 12.

Otras formas de dispositivos de almacenamiento de acceso directo (DASD), como los dispositivos de memoria de tambor o la célula de datos IBM 2321, pueden dar direcciones de bloques que incluyen una dirección de cilindro, aunque la dirección de cilindro no selecciona una porción cilíndrica (geométrica) del dispositivo.

CabezalesEditar

Un dispositivo llamado cabezal lee y escribe datos en un disco duro manipulando el medio magnético que compone la superficie de un plato de disco asociado. Naturalmente, un plato tiene 2 lados y, por tanto, 2 superficies en las que se pueden manipular los datos; normalmente hay 2 cabezales por plato, uno por lado. (A veces el término lado se sustituye por cabeza, ya que los platos pueden estar separados de sus conjuntos de cabezas, como con los medios extraíbles de una unidad de disquete.)

El direccionamiento CHS soportado en el código de las BIOS compatibles con IBM-PC utilizaba ocho bits para – teóricamente hasta 256 cabezas contadas como cabeza 0 hasta 255 (FFh). Sin embargo, un error en todas las versiones de Microsoft DOS/IBM PC DOS hasta la 7.10 inclusive hará que estos sistemas operativos se bloqueen al arrancar cuando encuentren volúmenes con 256 cabezas. Por lo tanto, todas las BIOS compatibles utilizarán mapeos con hasta 255 cabezas (00h..FEh) solamente, incluso en geometrías virtuales 255×63.

Esta rareza histórica puede afectar al tamaño máximo del disco en el antiguo código INT 13h de la BIOS, así como en el antiguo PC DOS o sistemas operativos similares:

(512 bytes/sector)×(63 sectors/track)×(255 heads (tracks/cylinder))×(1024 cylinders)=8032.5 MB, pero en realidad 512×63×256×1024=8064 MB produce lo que se conoce como límite de 8 GB. En este contexto, la definición pertinente de 8 GB = 8192 MB es otro límite incorrecto, porque requeriría un CHS 512×64×256 con 64 sectores por pista.

Las pistas y los cilindros se cuentan desde 0, es decir, la pista 0 es la primera (la más externa) en los disquetes u otros discos cilíndricos. El antiguo código de la BIOS soportaba diez bits en el direccionamiento CHS con hasta 1024 cilindros (1024=210). Añadiendo seis bits para los sectores y ocho bits para los cabezales se obtienen los 24 bits soportados por la interrupción 13h de la BIOS. Restando el número de sector 0 no permitido en las pistas 1024×256 corresponde a 128 MB para un tamaño de sector de 512 bytes (128 MB=1024×256×(512 byte/sector)); y 8192-128=8064 confirma el límite (aproximado) de 8 GB.

El direccionamiento CHS comienza en 0/0/1 con un valor máximo 1023/255/63 para 24=10+8+6 bits, o 1023/254/63 para 24 bits limitados a 255 cabezas. Los valores CHS utilizados para especificar la geometría de un disco tienen que contar el cilindro 0 y la cabeza 0 resultando en un máximo de (1024/256/63 o) 1024/255/63 para 24 bits con (256 o) 255 cabezas. En las tuplas CHS que especifican una geometría S en realidad significan sectores por pista, y donde la geometría (virtual) todavía coincide con la capacidad el disco contiene C×H×S sectores. A medida que se han ido utilizando discos duros de mayor tamaño, un cilindro se ha convertido también en una estructura lógica de disco, estandarizada en 16 065 sectores (16065=255×63).

El direccionamiento CHS con 28 bits (EIDE y ATA-2) permite ocho bits para los sectores que siguen comenzando en 1, es decir, los sectores 1…255, cuatro bits para las cabezas 0…15, y dieciséis bits para los cilindros 0…65535. Esto da como resultado un límite de aproximadamente 128 GB; en realidad 65536×16×255=267386880 sectores que corresponden a 130560 MB para un tamaño de sector de 512 bytes. Los bits 28=16+4+8 de la especificación ATA-2 también están cubiertos por la Lista de Interrupciones de Ralf Brown, y se publicó un antiguo borrador de trabajo de esta norma ya caducada.

Con un antiguo límite de BIOS de 1024 cilindros y el límite ATA de 16 cabezas el efecto combinado era de 1024×16×63=1032192 sectores, es decir, un límite de 504 MB para un tamaño de sector de 512. Los esquemas de traducción de la BIOS conocidos como ECHS y ECHS revisado mitigaban esta limitación utilizando 128 o 240 en lugar de 16 cabezas, reduciendo simultáneamente los números de cilindros y sectores para que cupieran en 1024/128/63 (límite ECHS: 4032 MB) o 1024/240/63 (límite ECHS revisado: 7560 MB) para el número total de sectores dado en un disco.

Bloques y clustersEditar

Las comunidades Unix emplean el término bloque para referirse a un sector o grupo de sectores. Por ejemplo, la utilidad fdisk de Linux, antes de la versión 2.25, mostraba los tamaños de las particiones utilizando bloques de 1024 bytes.

Los clusters son unidades de asignación de datos en varios sistemas de archivos (FAT, NTFS, etc.), donde los datos consisten principalmente en archivos. Los clústeres no se ven directamente afectados por la geometría física o virtual del disco, es decir, un clúster puede comenzar en un sector cercano al final de una determinada CH pista, y terminar en un sector de la siguiente CH pista física o lógica.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.