Articulo de referencia

sector de la culata

Cilindro, cabezal y sector de un disco duro El sistema de cabezal de cilindro ( CHS , por sus siglas en inglés) es un método antiguo para asignar direcciones a cada bloque físic...

Cilindro, cabezal y sector de un disco duro

El sistema de cabezal de cilindro ( CHS , por sus siglas en inglés) es un método antiguo para asignar direcciones a cada bloque físico de datos en una unidad de disco duro .

Es un sistema de coordenadas 3D compuesto por un cabezal de coordenadas vertical, un cilindro de coordenadas horizontal (o radial) y un sector de coordenadas angular . El cabezal selecciona una superficie circular: un plato del disco (y uno de sus dos lados). El cilindro es una intersección cilíndrica a través de la pila de platos del disco, centrada alrededor del eje del disco. En conjunto, el cilindro y el cabezal se intersecan en una línea circular, o más precisamente: una franja circular de bloques de datos físicos llamada pista . El sector selecciona finalmente qué bloque de datos de esta pista se va a direccionar, ya que la pista se subdivide en varias porciones de igual tamaño, cada una de las cuales es un arco de (360/n) grados, donde n es el número de sectores en la pista.

Se expusieron direcciones CHS, en lugar de direcciones lineales simples (que van de 0 al número total de bloques en el disco - 1 ), porque los primeros discos duros no incluían un controlador de disco integrado que ocultara la disposición física. Se utilizó una tarjeta controladora genérica independiente , de modo que el sistema operativo debía conocer la "geometría" física exacta de la unidad específica conectada al controlador para direccionar correctamente los bloques de datos. Los límites tradicionales eran 512 bytes/sector × 63 sectores/pista × 255 cabezales (pistas/cilindro) × 1024 cilindros, lo que resultaba en un límite de 8032,5 MiB para la capacidad total de un disco.

A medida que la geometría se volvía más compleja (por ejemplo, con la introducción de la grabación de bits de zona ) y el tamaño de las unidades aumentaba con el tiempo, el método de direccionamiento CHS se volvió restrictivo. Desde finales de la década de 1980, los discos duros comenzaron a comercializarse con un controlador de disco integrado [ 1 ] que tenía un buen conocimiento de la geometría física; sin embargo, informaban una geometría falsa a la computadora, por ejemplo, un número mayor de cabezales del que realmente estaban presentes, para obtener más espacio direccionable. Estos valores lógicos CHS eran traducidos por el controlador, por lo que el direccionamiento CHS ya no correspondía a ningún atributo físico de la unidad. [ 2 ]

A mediados de la década de 1990, las interfaces de los discos duros reemplazaron el esquema CHS con el direccionamiento de bloques lógicos (LBA), pero muchas herramientas para manipular la tabla de particiones del registro de arranque maestro (MBR) seguían alineando las particiones con los límites de los cilindros; por lo tanto, a finales de la década de 2000 todavía se observaban vestigios del direccionamiento CHS en el software de particionamiento. [ 2 ]

A principios de la década de 2010, las limitaciones de tamaño de disco impuestas por MBR se volvieron problemáticas y se diseñó la tabla de particiones GUID (GPT) como reemplazo. GPT ya no utiliza CHS, excepto en MBR de protección.

Definiciones

Esquema de la geometría del disco duro

El direccionamiento CHS es el proceso de identificar sectores individuales (también conocidos como bloques físicos de datos) en un disco por su posición en una pista , donde la pista está determinada por los números de cabezal y cilindro . Los términos se explican de abajo hacia arriba; para el direccionamiento de discos, el sector es la unidad más pequeña. Los controladores de disco pueden introducir traducciones de direcciones para mapear posiciones lógicas a físicas; por ejemplo, la grabación de bits de zona almacena menos sectores en pistas más cortas (internas), los formatos de disco físico no son necesariamente cilíndricos y los números de sector en una pista pueden estar desfasados.

Sectores

Los disquetes y controladores habían utilizado tamaños de sector físico de 128, 256, 512 y 1024 bytes (por ejemplo, PC/AX), pero los formatos con 512 bytes por sector físico se volvieron dominantes en la década de 1980. [ 3 ] [ 4 ]

El tamaño de sector físico más común para los discos duros actuales es de 512 bytes, pero también ha habido discos duros con 520 bytes por sector 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 ) [ 5 ] desde 2010, pero también podrán emular sectores de 512 bytes ( 512e ) durante un período de transición. [ 6 ]

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

En CHS, al abordar los números de sector , siempre se empieza por 1 ; no existe el sector 0 .

Para geometrías de disco físico, el número máximo de sectores viene determinado por el formato de bajo nivel del disco. Sin embargo, para el acceso al disco mediante la BIOS de máquinas compatibles con IBM PC, el número de sectores se codificaba en seis bits, lo que resultaba en un máximo de 111111 (63) sectores por pista. Este máximo se sigue utilizando para geometrías CHS virtuales.

Pistas

Las pistas son las delgadas franjas circulares concéntricas de sectores. Se requiere al menos un cabezal para leer una sola pista. En cuanto a la geometría 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 cabezales, el término común es cilindro . Estrictamente hablando, una pista es una combinación dada de sectores, mientras que un cilindro consta de sectores.CHSPTSPT×H

Cilindros

Un cilindro es una división de datos en una unidad de disco , como se utiliza en el modo de direccionamiento CHS de un disco con arquitectura de bloque fijo (FBA) o en el modo de direccionamiento de registro de cabezal de cilindro (CCHHR) de un disco CKD .

El concepto consiste en secciones cilíndricas huecas y concéntricas que atraviesan los discos físicos ( platos ), reuniendo las pistas circulares correspondientes 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 pista en cada plato, abarcando todas las pistas de dicha superficie en cada plato que puede almacenar datos (independientemente de si la pista está defectuosa o no). Los cilindros se forman verticalmente mediante pistas . En otras palabras, la pista 12 del plato 0 más la pista 12 del plato 1, etc., forman el cilindro 12.

Otras formas de dispositivos de almacenamiento de acceso directo (DASD), como los dispositivos de memoria de tambor o la celda de datos IBM 2321 , pueden asignar direcciones a los 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.

Cabezas

Un dispositivo llamado cabezal lee y escribe datos en un disco duro manipulando el medio magnético que compone la superficie del plato del disco. Naturalmente, un plato tiene dos caras y, por lo tanto, dos superficies sobre las que se pueden manipular los datos; normalmente hay dos cabezales por plato, uno por cada cara. (A veces se usa el término " cara" en lugar de "cabezal", ya que los platos pueden separarse de sus cabezales, como ocurre con los disquetes ).

El direccionamiento admitido en el código BIOS compatible con IBM-PC utilizaba ocho bits para un máximo de 256 cabezales contados como cabezal 0 hasta 255 ( ). Sin embargo, un error en todas las versiones de MS-DOS / IBM PC DOS hasta la 7.10 inclusive provocará que estos sistemas operativos fallen al arrancar cuando encuentren volúmenes con 256 cabezales.CHSFFhPor lo tanto, todas las BIOS compatibles utilizarán asignaciones con hasta 255 cabezales ( 00h..FEh) solamente, incluso en geometrías virtuales 255×63. Esta peculiaridad histórica puede afectar el tamaño máximo del disco:

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

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

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

El direccionamiento CHS con 28 bits ( EIDE y ATA-2 ) permite ocho bits para sectores que aún comienzan en 1, es decir, sectores 1...255, cuatro bits para cabezales 0...15 y dieciséis bits para cilindros 0...65535. [ 9 ] Esto resulta en un límite de aproximadamente 128 GB 65536×16×255=267386880 ; en realidad, sectores que corresponden a 130560 MiB para un tamaño de sector de 512 bytes. [ 7 ] Los bits en 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 este estándar ahora caducado. [ 10 ] 28=16+4+8

Con un antiguo límite de BIOS de 1024 cilindros y el límite de ATA de 16 cabezales [ 11 ] el efecto combinado era 1024×16×63=1032192sectores, es decir, un límite de 504 MiB  para un tamaño de sector de 512. Los esquemas de traducción de BIOS conocidos como ECHS y ECHS revisado mitigaron esta limitación al usar 128 o 240 en lugar de 16 cabezales, reduciendo simultáneamente la cantidad de cilindros y sectores que deben ajustarse a 1024/128/63(límite de ECHS: 4032 MiB ) o (límite de ECHS revisado: 7560 MiB ) para la cantidad total de sectores dada en un disco. [ 7 ] 1024/240/63 

Bloques y clústeres

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, [ 12 ] mostraba los tamaños de partición usando bloques de 1024 bytes .

Los clústeres son unidades de asignación de datos en diversos sistemas de archivos ( FAT , NTFS , etc.), donde los datos consisten principalmente en archivos. Los clústeres no se ven afectados directamente 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 pista determinada y terminar en un sector de la pista siguiente, ya sea física o lógicamente .CHCH

Mapeo de CHS a LBA

En 2002, la especificación ATA-6 introdujo un direccionamiento de bloque lógico (LBA) opcional de 48 bits y declaró obsoleto el direccionamiento CHS, pero aún permitía implementar las traducciones de ATA-5. [ 13 ] Como era de esperar, la fórmula de traducción de CHS a LBA que se muestra a continuación también coincide con la última traducción CHS de ATA-5. En la especificación ATA-5, la compatibilidad con CHS era obligatoria para hasta 16  514  064 sectores y opcional para discos de mayor capacidad. El límite de ATA-5 corresponde a 16383 16 63capacidades de disco CHS o equivalentes (16514064 = 16383 × 16 × 63 = 1032 × 254 × 63) y requiere 24 = 14 + 4 + 6 bits ( 16383 + 1 = 2 14 ). [ 14 ]

Las tuplas CHS se pueden asignar a direcciones LBA utilizando la siguiente fórmula:

A=(do×nortehmiads+h)×nortesmidotors+(s1),{\displaystyle A=(c\times N_{\mathrm {heads} }+h)\times N_{\mathrm {sectors} }+(s-1),}

donde A es la dirección LBA, N heads es el número de cabezales en el disco, N industries es el número máximo de sectores por pista y ( c , h , s ) es la dirección CHS.

Una fórmula de número de sector lógico en los estándares ECMA -107 [ 3 ] e ISO / IEC  9293:1994 [ 15 ] (que reemplaza a ISO  9293:1987 [ 16 ] ) para sistemas de archivos FAT coincide exactamente con la fórmula LBA dada anteriormente: Dirección de bloque lógico y número de sector lógico (LSN) son sinónimos. [ 3 ] [ 15 ] [ 16 ] La fórmula no utiliza el número de cilindros, pero requiere el número de cabezales y el número de sectores por pista en la geometría del disco, porque la misma tupla CHS apunta a diferentes números de sector lógico dependiendo de la geometría.

Ejemplos :

Para la geometría 1020 16 63de un disco con 1028160 sectores, CHS 3 2 1es LBA 3150 = ((3 × 16) + 2) × 63 + (1 – 1) ;
Para la geometría 1008 4 255de un disco con 1028160 sectores, CHS 3 2 1es LBA 3570 = ((3 × 4) + 2) × 255 + (1 – 1)
Para la geometría  64 255 63de un disco con 1028160 sectores, CHS 3 2 1es LBA 48321=((3 × 255) + 2) × 63 + (1 – 1)
Para la geometría 2142 15 32de un disco con 1028160 sectores, CHS 3 2 1es LBA 1504 = ((3 × 15) + 2) × 32 + (1 – 1)

Para ayudar a visualizar la secuenciación de sectores en un modelo LBA lineal, tenga en cuenta lo siguiente:

El primer sector LBA es el sector n.° cero, el mismo sector en un modelo CHS se llama sector n.° uno.
Todos los sectores de cada cabezal/pista se cuentan antes de pasar al siguiente cabezal/pista.
Se cuentan todas las cabezas/pistas del mismo cilindro antes de pasar al siguiente.
La mitad exterior de un disco duro completo sería la primera mitad del disco.

Historia

El formato de registro de cabezal de cilindro (CKD) se ha utilizado en discos duros de datos de clave de conteo (CKD) en mainframes de IBM desde al menos la década de 1960. Este formato es muy similar al formato de sector de cabezal de cilindro utilizado por las PC, con la excepción de que el tamaño del sector no era fijo, sino que podía variar de una pista a otra según las necesidades de cada aplicación. En la actualidad, la geometría del disco que se presenta al mainframe es emulada por el firmware de almacenamiento y ya no guarda relación con la geometría física del disco.

Los discos duros anteriores utilizados en la PC, como los discos MFM y RLL , dividían cada cilindro en un número igual de sectores, por lo que los valores CHS coincidían con las propiedades físicas del disco. Un disco con una tupla CHS de 500 4 32tendría 500 pistas por lado en cada plato, dos platos (4 cabezales) y 32 sectores por pista, con un total de 32  768  000 bytes (31,25 MiB ). 

Las unidades ATA/IDE eran mucho más eficientes en el almacenamiento de datos y han reemplazado a las ahora obsoletas unidades MFM y RLL. Utilizan la grabación de bits por zonas (ZBR), donde el número de sectores que dividen cada pista varía según la ubicación de los grupos de pistas en la superficie del plato. Las pistas más cercanas al borde del plato contienen más bloques de datos que las pistas cercanas al eje, porque hay más espacio físico dentro de una pista dada cerca del borde del plato. Por lo tanto, el esquema de direccionamiento CHS no puede corresponderse directamente con la geometría física de dichas unidades, debido al número variable de sectores por pista para diferentes regiones en un plato. Debido a esto, muchas unidades todavía tienen un excedente de sectores (de menos de un cilindro de tamaño) al final de la unidad, ya que el número total de sectores rara vez, o nunca, termina en el límite de un cilindro.

En la BIOS del sistema, se puede configurar una unidad ATA/IDE con cualquier número de cilindros, cabezales y sectores que no supere la capacidad de la unidad (ni la de la BIOS), ya que la unidad convertirá cualquier valor CHS en una dirección real para su configuración de hardware específica. Sin embargo, esto puede causar problemas de compatibilidad.

Para sistemas operativos como Microsoft DOS o versiones anteriores de Windows , cada partición debe comenzar y terminar en el límite de un cilindro. Solo algunos sistemas operativos relativamente modernos (incluido Windows XP) pueden ignorar esta regla, pero hacerlo aún puede causar problemas de compatibilidad, especialmente si el usuario desea realizar un arranque dual en la misma unidad. Microsoft no sigue esta regla con las herramientas internas de partición de disco desde Windows Vista . [ 17 ]

Véase también

Referencias

  1. "Descripción general e historia de la interfaz IDE/ATA" . The PC Guide . 17 de abril de 2001. Archivado del original el 4 de febrero de 2019.
  2. 1 2 Jonathan de Boyne Pollard (2011). "The gen on disc partition alignment" . Recuperado el 21 de noviembre de 2022 .
  3. 1 2 3 "Estructura de volumen y archivos de cartuchos de disco para intercambio de información" . Norma ECMA-107 (2.ª ed., junio de 1995) . ECMA . 1995. Recuperado el 30 de julio de 2011 .
  4. "Formatos de disquete estándar compatibles con MS-DOS" . KB75131 . Base de conocimientos de Microsoft . 12 de mayo de 2003. Archivado del original el 31 de enero de 2009. Consultado el 4 de junio de 2023 .
  5. "Formato avanzado de Western Digital: Comienza la transición al sector 4K" . AnandTech . 18 de diciembre de 2009. Archivado del original el 4 de abril de 2010. Consultado el 29 de julio de 2011 .
  6. "Informe sobre tecnología de formato avanzado" (PDF) . Hitachi . 2010. pág. 1. Archivado del original (PDF) el 27 de septiembre de 2011. Consultado el 1 de agosto de 2011. La emulación de 512 bytes a veces se denomina 512e . 
  7. 1 2 3 Andries Brouwer (1 de noviembre de 2004). "Historia de los límites de BIOS e IDE" . Large Disk HOWTO v2.5 . Recuperado el 30 de julio de 2011 .
  8. "Windows NT 4.0 admite una partición del sistema de hasta 7,8 GB" . Microsoft . 23 de febrero de 2007. Consultado el 30 de julio de 2011 .
  9. "5K500.B SATA OEM Specification Revision 1.2" (PDF) . Hitachi . 17 de marzo de 2009. pág. 51. Archivado del original (PDF) el 27 de septiembre de 2011. 
  10. "ATA-2" (PDF) . X3T10/0948D . Comité Técnico T13 de INCITS , Anexo AT. 18 de marzo de 1996. Archivado del original (PDF) el 28 de julio de 2011.
  11. "ATA-1" (PDF) . X3T10/791D . Comité Técnico de INCITS , Interfaces de Almacenamiento SCSI T10. 1994. Archivado del original (PDF) el 21 de marzo de 2012.
  12. "Notas de la versión 2.25 de Util-linux" . Archivos del núcleo de Linux . Consultado el 24 de marzo de 2016 .
  13. "ATA-6" (PDF) . T13/1410D . Comité Técnico de INCITS , Interfaz de Almacenamiento ATA T13. 2002. pág. 22. Archivado del original (PDF) el 28 de julio de 2011. Recuperado el 30 de julio de 2011. En los estándares ATA/ATAPI-5 y anteriores , se definió una traducción CHS. Esta traducción está obsoleta, pero puede implementarse según lo definido en ATA/ATAPI-5. 
  14. "ATA-5" (PDF) . T13/1321D . Comité Técnico de INCITS Interfaz de almacenamiento ATA T13. 2000. pág. 19. Archivado del original (PDF) el 28 de julio de 2011. Recuperado el 30 de julio de 2011. Si la capacidad del dispositivo es mayor o igual a un sector y menor o igual a 16.514.064 sectores, entonces el dispositivo deberá admitir la traducción CHS. 
  15. 1 2 "Tecnología de la información: estructura de volumen y archivos de cartuchos de disco para el intercambio de información" . ISO/IEC 9293:1994 . Catálogo ISO . 1994. Consultado el 6 de enero de 2012 .
  16. 1 2 "Procesamiento de información: estructura de volumen y archivos de cartuchos de discos flexibles para intercambio de información" . ISO 9293:1987 . Catálogo ISO . 1987. Consultado el 6 de enero de 2012 .
  17. "KB931760" . Soporte de Microsoft Windows XP . Base de conocimientos de Microsoft . 23 de julio de 2009. Consultado el 30 de julio de 2011 .

Notas

1. Esta regla es válida al menos para todos los formatos donde los sectores físicos se denominan del 1 en adelante. Sin embargo, existen algunos formatos de disquete peculiares (por ejemplo, el formato de 640 KB utilizado por BBC Master 512 con DOS Plus 2.1), donde el primer sector de una pista se denomina "0" y no "1". 
2. ^ Mientras que las computadoras comienzan a contar desde 0, DOS comenzaba a contar desde 1. Para ello, DOS sumaba 1 al contador de cabeza antes de mostrarlo en pantalla. Sin embargo, en lugar de convertir primero el entero sin signo de 8 bits a un tamaño mayor (como un entero de 16 bits), DOS simplemente sumaba 1. Esto provocaba un desbordamiento del contador de cabeza de 255 ( ) en 0 ( ) en lugar del 256 esperado. Esto se corrigió con DOS 8 , pero para entonces, ya se había convertido en un estándar de facto no usar un valor de cabeza de 255.0xFF0x100 & 0xFF = 0x00