stringtranslate.com

Sector de culata

Cilindro, culata y sector de un disco duro.

El sector de culata ( CHS ) es uno de los primeros métodos para proporcionar direcciones a cada bloque físico de datos en una unidad de disco duro .

Es un sistema de coordenadas 3D formado por un cabezal de coordenadas vertical , un cilindro de coordenadas horizontal (o radial) y un sector de coordenadas angular . Head selecciona una superficie circular: un plato en el disco (y uno de sus dos lados). Cilindro es una intersección cilíndrica a través de la pila de platos en un disco, centrada alrededor del eje del disco. Combinados, el cilindro y la culata se cruzan en una línea circular, o más precisamente: una franja circular de bloques de datos físicos llamada pista . El sector finalmente selecciona qué bloque de datos en esta pista se va a abordar, ya que la pista se subdivide en varias porciones del mismo 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. .

Las direcciones CHS quedaron expuestas, en lugar de direcciones lineales simples (yendo de 0 al recuento total de bloques en el disco - 1 ), porque los primeros discos duros no venían con un controlador de disco integrado , que ocultaría el diseño físico. Se utilizó una tarjeta controladora genérica separada, de modo que el sistema operativo tenía que 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 cabezas (pistas/cilindro) × 1024 cilindros, lo que resulta en un límite de 8032,5 MiB para la capacidad total de un disco.

A medida que la geometría se volvió más complicada (por ejemplo, con la introducción de la grabación de bits de zona ) y el tamaño de las unidades creció 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 distribuirse con un controlador de disco integrado [1] que tenía un buen conocimiento de la geometría física; sin embargo, informarían una geometría falsa a la computadora, por ejemplo, un número mayor de cabezas que las realmente presentes, para ganar más espacio direccionable. Estos valores lógicos de CHS serían traducidos por el controlador, por lo que el direccionamiento de CHS ya no corresponderí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 direccionamiento de bloques lógicos (LBA), pero muchas herramientas para manipular la tabla de particiones del registro de arranque maestro (MBR) todavía alineaban las particiones con los límites de los cilindros; por lo tanto, a finales de la década de 2000 todavía se veían artefactos del direccionamiento CHS en el software de partición. [2]

A principios de la década de 2010, las limitaciones de tamaño de disco impuestas por MBR se volvieron problemáticas y la tabla de particiones GUID (GPT) se diseñó como reemplazo; Las computadoras modernas que usan firmware UEFI sin soporte MBR ya no usan ninguna noción de direccionamiento CHS.

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 culata y cilindro. Los términos se explican de abajo hacia arriba, ya que el disco que se dirige al 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 (internas), los formatos de disco físico no son necesariamente cilíndricos y los números de sector en una pista pueden estar sesgados.

Sectores

Los disquetes y los controladores habían utilizado tamaños de sectores físicos 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 hoy en día 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 el direccionamiento CHS, los números de sector siempre comienzan en 1 , no hay ningún sector 0 , [1] lo que puede generar confusión ya que los esquemas de direccionamiento de sectores lógicos generalmente comienzan a contar con 0, por ejemplo, direccionamiento de bloque lógico (LBA) o "direccionamiento de sector relativo". " utilizado en DOS.

Para geometrías de 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 el BIOS de máquinas compatibles con IBM-PC, el número de sector se codificó en seis bits, lo que resultó en un número máximo de 111111 (63) sectores por pista. Este máximo todavía está en uso 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. Con respecto a las geometrías de los discos, los términos pista y cilindro están estrechamente relacionados. Para una pista de disquete de una o dos caras es el término común; y para más de dos cabezas cilindro es el término común. Estrictamente hablando, una pista es una combinación determinada que consta 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 usa en el modo de direccionamiento CHS de un disco de arquitectura de bloque fijo o en el modo de direccionamiento de registro de culata de cilindro (CCHHR) de un disco CKD .

El concepto consiste en 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 pista en cada plato, abarcando todas esas pistas en cada superficie del plato que puede almacenar datos (sin importar 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 dispositivo de almacenamiento de acceso directo (DASD), como los dispositivos de memoria de tambor o la celda de datos IBM 2321 , pueden proporcionar direcciones de bloques que incluyen una dirección de cilindro, aunque la dirección del 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 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 cabeza, como ocurre con los medios extraíbles de una unidad de disquete ).

El direccionamiento admitido en el código de BIOS compatible con IBM-PC utilizaba ocho bits para un máximo de 256 cabezales contados como cabezales 0 hasta 255 ( ). 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 se encuentren volúmenes con 256 cabezales [2] . Por lo tanto, todos los BIOS compatibles utilizarán asignaciones con hasta 255 cabezales ( ), incluidas las geometrías virtuales.CHSFFh00h..FEh255×63

Esta rareza histórica puede afectar el tamaño máximo del disco en el código BIOS INT 13h antiguo , así como en PC DOS antiguos 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 arroja lo que se conoce como límite de 8  GB . [7] En este contexto, la definición relevante de 8  GB = 8192  MB es otro límite incorrecto, porque requeriría CHS 512×64×256con 64 sectores por pista.

Las pistas y los cilindros se cuentan desde 0, es decir, la pista 0 es la primera pista (la más externa) en un disquete u otro disco cilíndrico. El antiguo código BIOS admitía diez bits en el direccionamiento CHS con hasta 1024 cilindros ( ). Agregar seis bits para sectores y ocho bits para cabezales da como resultado los 24 bits admitidos por la interrupción 13h del BIOS . Restar el número 0 del sector no permitido en las pistas corresponde a 128  MB para un tamaño de sector de 512 bytes ( ); y confirma el límite de (aproximadamente) GB . [8]1024=2101024×256128 MB=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 cabezas. Los valores CHS utilizados para especificar la geometría de un disco deben contar el cilindro 0 y la cabeza 0, lo que da como resultado un máximo ( 1024/256/63o) 1024/255/63para 24 bits con (256 o) 255 cabezas. En CHS, las tuplas que especifican una geometría S en realidad significan sectores por pista, y donde la geometría (virtual) aún coincide con la capacidad que el disco contiene C×H×Ssectores. A medida que se empezaron a utilizar discos duros más grandes, un cilindro se convirtió también en una estructura de disco lógica, estandarizada [ cita necesaria ] 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 da como resultado un límite de aproximadamente 128  GB ; en realidad, 65536×16×255=267386880sectores correspondientes a 130560  MB para un tamaño de sector de 512 bytes. [7] Los 28=16+4+8bits 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 vencido. [10]

Con un límite antiguo de BIOS de 1024 cilindros y el límite ATA de 16 cabezales [11], el efecto combinado fue 1024×16×63=1032192de sectores, es decir, un límite de 504  MB 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 mediante el uso de 128 o 240 en lugar de 16 cabezales, reduciendo simultáneamente el número de cilindros y sectores que caben 1024/128/63(límite ECHS: 4032  MB ) o 1024/240/63(límite ECHS revisado: 7560 MB) para el número total dado de sectores en un disco. [7]

Bloques y clusters

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

Los clústeres 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 cerca del final de una pista determinada y terminar en un sector de la pista física o lógicamente siguiente.CHCH

Mapeo de CHS a LBA

En 2002, la especificación ATA-6 introdujo un direccionamiento de bloque lógico de 48 bits opcional y declaró el direccionamiento CHS como obsoleto, pero aún permitía implementar las traducciones ATA-5. [13] Como era de esperar, la fórmula de traducción de CHS a LBA que se proporciona a continuación también coincide con la última traducción de ATA-5 CHS. En la especificación ATA-5, la compatibilidad con CHS era obligatoria para hasta 16 514 064 sectores y opcional para discos más grandes. El límite ATA-5 corresponde a CHS 16383 16 63o capacidades de disco 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:

donde A es la dirección LBA, N cabezas es el número de cabezas en el disco, N sectores 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 proporcionada anteriormente: Dirección de bloque lógico y El 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 cabezas y el número de sectores por pista en la geometría del disco, porque la misma tupla CHS aborda diferentes números de sectores lógicos dependiendo del 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 secuencia de sectores en un modelo LBA lineal, tenga en cuenta que:

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

Historia

El formato de registro de culata ha sido utilizado por los discos duros Count Key Data (CKD) en los mainframes de IBM desde al menos la década de 1960. Esto es en gran medida comparable al formato del sector de culata utilizado por las PC, salvo 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 el uso contemporáneo, la geometría del disco presentada al mainframe es emulada por el firmware de almacenamiento y ya no tiene ninguna relación con la geometría del disco físico. [ cita necesaria ]

Los discos duros anteriores utilizados en PC, como los discos MFM y RLL , dividían cada cilindro en un número igual de sectores, por lo que los valores de CHS coincidían con las propiedades físicas del disco. Una unidad con una tupla CHS 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 ). [ cita necesaria ]

Las unidades ATA/IDE eran mucho más eficientes a la hora de almacenar datos y han sustituido a las ahora arcaicas unidades MFM y RLL. Utilizan grabación de bits de zona (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 cercanas al eje, porque hay más espacio físico dentro de una pista determinada cerca del borde del plato. Por 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 de un plato. Debido a esto, muchas unidades todavía tienen un excedente de sectores (menos de 1 cilindro de tamaño) al final de la unidad, ya que el número total de sectores rara vez, o nunca, termina en un límite de cilindro. [ cita necesaria ]

Una unidad ATA/IDE se puede configurar en el BIOS del sistema con cualquier configuración de cilindros, cabezales y sectores que no excedan la capacidad de la unidad (o del BIOS), ya que la unidad convertirá cualquier valor CHS dado en una dirección real para su configuración de hardware específica. Sin embargo, esto puede causar problemas de compatibilidad. [ cita necesaria ]

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

Ver también

Referencias

  1. ^ "Descripción general e historial de la interfaz IDE/ATA". La guía de PC . 17 de abril de 2001. Archivado desde el original el 4 de febrero de 2019.
  2. ^ ab Jonathan de Boyne Pollard (2011). "La generación en la alineación de la partición del disco" . Consultado el 21 de noviembre de 2022 .
  3. ^ abc "Volumen y estructura de archivos de cartuchos de disco para intercambio de información". Norma ECMA-107 (2ª ed., junio de 1995) . ECMA . 1995 . Consultado 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 desde el original el 31 de enero de 2009 . Consultado el 4 de junio de 2023 .
  5. ^ "Formato avanzado de Western Digital: comienza la transición del sector 4K". AnandTech . 18 de diciembre de 2009 . Consultado el 29 de julio de 2011 .
  6. ^ "Resumen de tecnología de formato avanzado" (PDF) . Hitachi . 2010. pág. 1. Archivado desde el 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. ^ abc Andries Brouwer (1 de noviembre de 2004). "Historial de límites de BIOS e IDE". Disco grande HOWTO v2.5 . Consultado el 30 de julio de 2011 .
  8. ^ "Windows NT 4.0 admite un máximo de particiones del sistema de 7,8 GB". Microsoft . 23 de febrero de 2007 . Consultado el 30 de julio de 2011 .
  9. ^ "Revisión 1.2 de la especificación OEM SATA 5K500.B" (PDF) . Hitachi . 17 de marzo de 2009. p. 51. Archivado desde el original (PDF) el 27 de septiembre de 2011.
  10. ^ "ATA-2" (PDF) . X3T10/0948D . Comité Técnico INCITS T13 AT Anexo. 18 de marzo de 1996. Archivado desde el original (PDF) el 28 de julio de 2011.
  11. ^ "ATA-1" (PDF) . X3T10/791D . Comité Técnico INCITS Interfaces de Almacenamiento SCSI T10. 1994. Archivado desde el original (PDF) el 21 de marzo de 2012.
  12. ^ "Notas de la versión de Util-linux 2.25". Los archivos del kernel de Linux . Consultado el 24 de marzo de 2016 .
  13. ^ "ATA-6" (PDF) . T13/1410D . Comité Técnico INCITS T13 Interfaz de Almacenamiento ATA. 2002. pág. 22. Archivado desde el original (PDF) el 28 de julio de 2011 . Consultado 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 se define en ATA/ATAPI-5.
  14. ^ "ATA-5" (PDF) . T13/1321D . Comité Técnico INCITS T13 Interfaz de Almacenamiento ATA. 2000. pág. 19. Archivado desde el original (PDF) el 28 de julio de 2011 . Consultado 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 admitirá la traducción CHS.
  15. ^ ab "Tecnología de la información: estructura de archivos y volumen de cartuchos de disco para el intercambio de información". ISO/CEI 9293:1994 . Catálogo ISO . 1994 . Consultado el 6 de enero de 2012 .
  16. ^ ab "Procesamiento de información: estructura de archivos y volumen de cartuchos de discos flexibles para el intercambio de información". Norma ISO 9293:1987 . Catálogo ISO . 1987 . Consultado el 6 de enero de 2012 .
  17. ^ "KB931760". Soporte para 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 1 en adelante. Sin embargo, existen algunos formatos de disquete extraños (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 las computadoras comienzan a contar en 0, DOS comenzaría a contar en 1. Para hacer esto, DOS agregaría un 1 al recuento de personas antes de mostrarlo en la 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 agregó el 1. Esto desbordaría un recuento de 255 ( ) en 0 ( ) en lugar de 256. eso sería de esperar. Esto se solucionó con DOS 8, pero para entonces, se había convertido en un estándar de facto no utilizar un valor principal de 255.0xFF0x100 & 0xFF = 0x00