El volumen de un disco duro (también se utilizan los términos tamaño y capacidad) es la cantidad máxima de información que puede contener un disco duro .
A medida que los discos duros han evolucionado, su capacidad máxima se ha disparado. Ha habido obstáculos para este crecimiento de vez en cuando: limitaciones de las interfaces de software y hardware ampliamente utilizadas, métodos de direccionamiento utilizados, así como características del software . Esta lista proporciona límites (principalmente históricos) que existen o han existido en computadoras personales sobre el tamaño de los discos duros, particiones y/o sistemas de archivos .
Limitación | Descripción |
---|---|
8 MB | Límite de disco en CP/M OS (cuando el número total no supera los 16 discos). |
10,4 MB | Tamaño de disco fijo en PC/XT : 306 cilindros, 4 cabezales, 17 sectores por pista. |
15 MB | Tamaño máximo de partición para MS-DOS 1 y 2 en tamaño de sector estándar. [una] |
16 MB | Límite de tamaño para FAT12 . [2] |
32 MB | Límite de tamaño de partición para MS-DOS 3 para el sistema de archivos FAT16 : tamaño de clúster de 2 KB, no más de 16 384 clústeres. [2] |
128 MB | Límite de tamaño FAT16 en MS-DOS 4: hasta 65 526 clústeres, tamaño de clúster de 2 KB. [2] |
504 MB | Restricción del esquema de direccionamiento CHS (ver más abajo ). |
2GB _ | El tamaño máximo de un sistema de archivos FAT16 para un clúster de 32 KB. Para Windows NT, este valor debido a los clústeres de 64 KB es de 4 GB. [3] |
2,1 GB | Algunas placas base asignaron 12 bits para almacenar el número de cilindros (4095 × 16b × 63 → 2,1 GB). [cuatro] |
3,2GB | Un error en algunas BIOS de Phoenix (4.03 y 4.04) que provoca un bloqueo en la configuración de CMOS si el disco tiene más de 3277 MB. [cuatro] |
4 GB | Límite de tamaño de partición FAT16 en Windows NT. |
Límite de partición creado por Windows NT 3.51/4.0 Workstation durante la instalación [5] (debido al hecho de que durante la instalación se crea una partición FAT16, que luego se convierte a NTFS ). | |
4,2 GB | La transmisión en vivo del número de sectores/cabezales reduciendo sucesivamente el número de cilindros en 2 veces y duplicando el número de cabezas (el llamado Large o ECHS (Extended CHS)) llevó a un límite de 1024 cabezas: 1024 × 128 × 63 × 512 → 4,2 GB. [cuatro] |
7,8GB | Límite de tamaño de disco del sistema de Windows NT 4.0 . [6] |
7,9GB | Cuando el número de cabezales se redujo a 15, el modo ECHS (ECHS revisado) permitió que el método de duplicación obtuviera una configuración con 15 × 2 × 2 × 2 = 240 cabezales, lo que daba un límite de 7,9 GB. |
8,4GB | Limitación del BIOS (ver más abajo ). |
32 GB | Limitación artificial del tamaño de la partición FAT32 en Windows 2000 , XP . El sistema se negó a formatear particiones más grandes. [7] [8] La razón es el uso racional de los recursos: FAT32 con un tamaño de partición más grande pierde rendimiento, y NTFS, por el contrario, con un tamaño de partición pequeño (~10 GiB) es demasiado derrochador. |
Tamaño máximo de disco admitido Windows 95 . [9] | |
33,8GB | Los discos grandes reportan 16 cabezas, 63 sectores y 16.383 cilindros. Cuando se utiliza para calcular el número real de cilindros (capacidad dividida por 16 × 63), el número de cilindros es superior a 65 535, lo que hace que algunos BIOS se congelen. Fue por este problema que muchas unidades de la época tenían puentes para limitar la capacidad a 32 GB. |
128 GB 137 GB [4] |
Limitación de estándares de ATA-1 a ATA/ATAPI-5 (ver más abajo ). |
Límite en Windows XP SP1 en el tamaño de una partición NTFS (corregido en SP2). | |
Tamaño máximo FAT32 creado por Windows 98. [7] | |
El tamaño máximo de SFS en el sistema operativo de la familia Amiga. | |
2TB _ | El tamaño máximo de todo el disco (sin incluir las particiones) admitido por el MBR . Límites de MBR: tamaño de la partición, así como la distancia desde el comienzo de la partición hasta el contenedor (al comienzo del disco en el caso de una partición primaria, al comienzo de una partición extendida en el caso de volúmenes lógicos) - un número de sectores de 32 bits, es decir, ambos parámetros no pueden superar los 2 TB. |
El tamaño máximo de un sistema de archivos ext3 en una arquitectura de 32 bits. | |
Tamaño máximo de partición para arrancar Windows XP, Windows Vista, Windows 7 (debido a restricciones de MBR). | |
4TB | tamaño máximo del elemento de matriz mdraid cuando se usa el formato de metadatos 0.9 (2^32-1 sectores) |
8TB | Límite FAT32 . [ocho] |
16TB | El tamaño máximo de ext3 en una arquitectura de 64 bits (bloque de 4 KB), en Alpha con un bloque de 8 KB puede ser de hasta 32 TB. |
Tamaño máximo de NTFS para un clúster de 4 KB. | |
El tamaño máximo de un sistema de archivos ReiserFS es 3.6. [diez] | |
El tamaño máximo de un sistema de archivos ISO 9660 (utilizado en discos ópticos). | |
64TB | Límite en el tamaño de una matriz de discos distribuidos en Windows 2003 . [once] |
256TB | El tamaño máximo del sistema de archivos NTFS (para un clúster de 64 KB) en implementaciones de 32 bits existentes. [7] [11]
Un LBA de 48 bits es capaz de direccionar hasta bytes, que son 256 TiB. A finales de 2011, no había más de 4 TB de discos duros internos en el mercado. |
512TB | El tamaño máximo recomendado para un sistema de archivos exFAT . [12] |
4 PB | Límite de JFS en bloque de 4 KB. [diez] |
8 PB | límite NFS . [diez] |
137 PB | Límite de direccionamiento de sector ATA-6 (LBA de 48 bits). |
1 EB | El tamaño máximo de ext4 . [13] |
8 EB | Límite XFS . [diez] |
16 EB | Límite HFS+ . |
64 EB | El tamaño máximo teórico de un sistema de archivos exFAT . [12] |
256 ZiB | El tamaño máximo de un sistema de archivos ZFS . |
1 BI | Límite teórico de NTFS en bloques de 64 KB y direccionamiento de 64 bits (actualmente se usa 32 bits). [7] |
El límite de MS-DOS en el número permitido de cabezas es 16 (1024 cilindros, 63 sectores por pista, 16 cabezas, 512 bytes por sector). [4] [14]
El software de principios de la década de 1990 , como MS-DOS, usaba la llamada Int 13h para trabajar con el disco duro .
El direccionamiento de bloques de disco en la llamada Int 13h se parece a los números del cilindro ( cilindro en inglés ), cabeza ( head ) y sector ( sector ) - C/H/S. Al mismo tiempo, se asignan 10 bits a C , 8 a H y 6 a S.
El manejador Int 13h en el BIOS escribe estos números en los registros de control del controlador IDE . En estos registros, se asignan 16 bits a C, 4 a H y 8 a S.
La combinación de ambos conduce a una limitación general de C/H/S = 10/4/6 bits (20 bits en total), lo que permite direccionar sectores [15] . Con un tamaño de sector de 512 bytes, esto da 528 482 304 bytes (504 MB).
Máximo | BIOS | IDE | Restricción general |
---|---|---|---|
Sectores por pista | 63 | 255 | 63 |
Superficies (cabezas) | 256 | dieciséis | dieciséis |
Pistas | 1024 | 65536 | 1024 |
Volumen | 8,064 megabytes | 127,5GB | 504 MB |
Esta limitación se hizo evidente en 1994-1995, en la época de los primeros microprocesadores Pentium . Para eludirlo, se inventó la traducción de los valores CHS en el código del controlador Int 13h en el BIOS . Entre los algoritmos de traducción estaba LBA ( English Linear Block Addressing ), cuando la dirección CHS se convierte en una dirección lineal, que ya se transmite al controlador de disco.
En teoría, diferentes métodos de traducción deberían dar el mismo resultado; sin embargo, debido a las peculiaridades de algunas implementaciones de traducción, así como a la organización de las estructuras de datos ( particiones ) en los discos, la información escrita en el disco en una traducción podría no estar disponible en otras traducciones. . Para cambiar el modo de traducción del disco, era necesario “reparticionar” el disco (recrear la tabla de particiones ), lo que significaba la pérdida de información ya escrita en el disco.
El valor máximo posible para interrumpir INT 13 es 1024 cilindros, 63 sectores, 255 cabezas. Una limitación de muchas BIOS de la época (P1-P2), al intentar detectar una unidad de más de 8 GB, dichas BIOS se bloqueaban porque la cantidad de cabezales debe ser inferior a 256. [4]
En la interfaz Int 13h , se asignan 10 bits para el número de cilindro , 8 para el número de cabeza y 6 para el número de sector , un total de 24 bits. Esto permite direccionar sectores [15] , que para un tamaño de sector de 512 bytes da 8.455.716.864 bytes (8064 MB, 7.875 GB).
En el momento en que esto se convirtió en un problema, alrededor de 1997-1998, los sistemas operativos multitarea completos como GNU/Linux, FreeBSD y Windows NT estaban en uso generalizado. Dado que el código Int 13h en el BIOS nunca se diseñó teniendo en cuenta la multitarea (en particular, carga el procesador con un bucle sin fin mientras espera una interrupción del controlador), estos sistemas operativos no podían usar Int 13h en su trabajo. En cambio, ellos, al igual que Novell NetWare antes , incluyeron un controlador IDE que accede directamente al hardware del controlador. Esto eliminó las restricciones asociadas con Int 13h cuando se ejecuta un sistema operativo ya cargado, pero el problema con el arranque (iniciar el cargador de arranque del sistema desde una partición de disco ubicada más allá del límite accesible del BIOS) permaneció.
Para resolver el problema, los desarrolladores de BIOS ampliaron Int 13h con nuevas subfunciones que aceptaban el número de sector como un número entero de 64 bits ( LBA ) sin dividirlo por C/H/S. Los desarrolladores de sistemas operativos introdujeron soporte para esta innovación en los cargadores de arranque (en Windows, este es uno de los paquetes de servicio para Windows NT 4.0 en 1997 ), después de lo cual el problema dejó de existir.
La interfaz de registro de hardware de un controlador IDE de ATA-1 a ATA/ATAPI-5 usa 16 bits para el número C, 4 para H y 8 para S, para un total de 28 bits. Esto permite direccionar sectores [15] , que con un tamaño de sector de 512 bytes da 136.902.082.560 bytes (127,5 GB).
La solución al problema con tal limitación solo es posible a nivel de hardware (y actualizando los controladores para usar nuevas funciones de hardware). Fue adoptado en el estándar ATA/ATAPI-6 en forma de envío de la dirección al controlador dos veces en una secuencia determinada (LBA de 48 bits). [dieciséis]
En la familia de Windows, se agregó compatibilidad con LBA de 48 bits en SP4 para Windows 2000 y SP2 para Windows XP . Además, Windows 2000 también requiere que habilite explícitamente este soporte a través de una edición del registro . [17]
Además de las limitaciones de las interfaces IDE y BIOS, había otras barreras: errores y limitaciones en los programas, el sistema operativo y el código BIOS.
Por ejemplo, DOS no admite más de 255 cabezas, por lo que una geometría con 256 cabezas no es aceptable en este sistema operativo.Esto significa que en las computadoras donde el BIOS no admitía la traducción de 256 a 255 a discos más grandes que los sectores era cuestionable. Con un tamaño de sector de 512 bytes, esto da 4.227.858.432 bytes (4032 MB, 3,94 GB).