it-swarm-es.com

¿Por qué los discos duros nunca son tan grandes como se anuncia?

Desde todos los discos duros que he comprado, nunca parecen ser tan grandes como el tamaño anunciado; A partir de 320 GB hasta 290 GB, desde 500 GB hasta 450 GB, etc. ¿Hay alguna razón técnica para esto?

18
Sam152

La razón técnica es que los fabricantes de disco duro le venden capacidades en unidades métricas. Así que un GB = 1,000,000,000 bytes por el sistema métrico. Sin embargo, las computadoras miden el tamaño de la unidad en los poderes de 2. SO 1GIB = 1,024MIB, 1MIB = 1,024KIB, etc. Lo que esto significa es que 1gib = 1,073,741,824 bytes, una diferencia de 73,741,824.

Entonces, cuando instala su unidad de 1 GB (por ejemplo,), el sistema operativo solo ve 0.93GIB, y esta es la causa de la discrepancia.

(Si nunca ha visto la abreviatura GiB antes, es una nueva notación adoptada para denotar poderes de 1024 en comparación con 1000. Sin embargo, la mayoría de los sistemas operativos informarán GiB Como GB, confundiendo este problema aún más)

29
Kyle Cronin

Originalmente, esta fue la respuesta a esto Pregunta (fusionada) aproximadamente 4GB Pen Drive.

Empezamos desde la declaración: " El sistema humano se basa en el poder de 10, binario en el poder de 2"
Lo que sigue puede dar una primera respuesta a su pregunta.

El métrico Los prefijos son potencia de 10, 1000 o 10 ^ 3 son k , 10 ^ 6 es [~ # ~] m [~ # ~] , 10 ^ 9 [~ # ~] g [~ # ~] ...
El Binario Los prefijos son potencia de 2 (2 ^ 10 = 1024 no tan lejos de 1000 pero diferentes, 2.4%).

4000000000/1024/1024/1024  Your 4GB are 4 000 000 000 Bytes
3.72529029846191406250     That becames around 3.73 GiB 

Vendedores y leyes : Los vendedores se comportan después de las reglas del mercado, cuando las leyes no los obligan a hacer lo contrario. 4 vende mejor que 3.78. Por las mismas razones, los proveedores de Internet a menudo hablan de BPS y que le permiten entender BPS. Hay un factor 8: un byte ( [~ # ~] b [~ # ~] ) es de 8 bits ( B ).

El problema es que las leyes existen, pero no en todas las naciones son las mismas.

El SISTEMA INTERNACIONAL , OR [~ # ~] SI [~ # ~], es el más utilizado en el mundo para el comercio y la ciencia (se publicó en 1960 y en la actualidad, están parcialmente fuera, solo Estados Unidos que está adoptando, Birmania y Liberia).
Establece no solo las unidades de medición, sino también las prefijos .

Dado que es ¡Natural En el mundo de la computadora el uso de una base numérica en el poder de 2 (y no 10 como en Mundo humano) Se introdujo en 1998. El sistema de los prefijos binarios . Aquí directamente la tabla . Hoy en día encontramos en la situación que

the International Electrotechnical Commission (IEC) and several other standards
(NIST...) and trade organizations approved standards and recommendations 
for a new set of binary prefixes that refer unambiguously to powers of 1024

Cuando lees 1GB debería ser 1 000 000 Bytes,
En su lugar, cuando lees 1GiB debería ser 1 073 741 824 Bytes.

¿Por qué todavía debería ser y no es? Debido a que depende de cómo se produce el legislador de la nación en el que se produce el artículo y el legislador de la nación en el que se importan el artículo adopta y transforma en la ley la directiva de las comisiones internacionales.

Así que mantén tus ojos bien abiertos.

(Incluso porque en varias naciones se prescribe para escribir las informaciones para cumplir con los deberes de la ley en una etiqueta adhesiva. Por lo general, es tan poco que tú ¿De verdad necesidad de mantener Bien abierto Sus ojos para leer leíjalo)


Referencias adicionales

9
Hastur

Cuando un fabricante de accionamiento crea una unidad de capacidad de 500 GB, tiene una capacidad de 500,000,000,000 bytes, y seguramente lo anunciarán como tal. Las computadoras, siendo dispositivos binarios, prefieren los poderes de dos, con un conjunto diferente de prefijos, por lo que es lo que utilizan para la medición del espacio de almacenamiento:

1 kibibyte = 2 ^ 10, 1 mebibyte = 2 ^ 20, 1 gibibyte = 2 ^ 30, etc.

Por ejemplo, tengo una unidad de 300 GB adjunta a esta máquina y Windows muestra lo siguiente para la capacidad:

Capacity:          300,082,855,936     279 GB

300,082,855,936/2 ^ 30 = ~ 279. Lo que realmente está mostrando es el tamaño de la unidad en Gibi Bytes, no GIGA Bytes. Entonces, debería leer:

Capacity:          300,082,855,936     279 Gi

Uno podría decir que esto es un defecto en las ventanas, pero aparentemente no hay un estándar definitivo para los significados de prefijo de capacidad de almacenamiento. Mucha más buena información, incluida una sección sobre "Confusión al consumidor", en este artículo de Wikipedia .

7
raven

Ver este artículo para una explicación.

Básicamente, hay dos definiciones de un "gigabyte". Una definición es que 1GB = 10243 bytes. Esta es la definición que informa la computadora (por razones técnicas).

La otra definición (de las unidades SI) es que 1GB = 10003 bytes. Esto es lo mismo que cualquier otra unidad métrica (1 gigámetro = 10003 metros).

Dado que la definición de métrica de un gigabyte es menor de lo que la computadora considera un gigabyte, los fabricantes de un disco duro utilizan la definición de métrica porque pueden imprimir una mayor capacidad en la caja.

El propio sistema de archivos también utiliza una pequeña cantidad de espacio, pero la mayor parte de la capacidad faltante es de la definición de un gigabyte.

4
Stephen Jennings

Si desea estar seguro de lo grande que es realmente, averigüe qué tamaño del sector utiliza y el número total de sectores. Luego multiplica estos dos números para obtener el tamaño total en bytes. Este es el verdadero tamaño! En cualquier sistema operativo! También se conoce como disco capacidad.

T = b x S

Where T is the total disk size in bytes,
b is the sector size in bytes,
and S is the total number of sectors.

Número de sectores

A menudo encontrará el número de sectores impresos en una etiqueta en el propio dispositivo. Si no, mira la hoja de datos para su modelo. Este es un documento que especifica todo tipo de detalles técnicos sobre su modelo. En un mundo conectado a Internet, encontrará esto en el sitio web del fabricante, ya sea en algún tipo de tabla en una página web o como un archivo que puede descargar (comúnmente PDF) para el estudio y la referencia. En la vejez (antes de que haya una web), es posible que haya recibido una copia impresa cuando haya comprado la unidad de disco duro.

Tamaños del sector

Hay dos tipos de sectores: físicos y lógicos. Más comúnmente, el tamaño del sector físico es de 512 bytes en un disco estándar. El tamaño del sector no se encuentra en la etiqueta de una unidad de disco duro moderna. Para entender por qué es así, debe comprender la diferencia entre los sectores lógicos y físicos. Intentaré explicar esto brevemente.

Disco lba

Las unidades de disco duro modernas utilizan sectores lógicos. Verá esto referido como LBA (direccionamiento de bloques lógicos). De hecho, cuando busque el número total de sectores en la etiqueta, verá el número de sectores denominados LBA, por lo que dirá algo como LBA: 123456789. Este es su número total de sectores. Estos son los sectores lógicos en el disco, y se escriben y se leen de usar el método de direccionamiento de LBA. Este método permite que el sistema operativo use un formato del sistema de archivos (por ejemplo, NTFS, FAT32) con AN Unidad de asignación que es más grande que el tamaño del sector físico.

wdmaxtor

Unidad de asignación

La ¿Unidad de asignación es similar en concepto a a tamaño del sector, pero añade algún nivel de flexibilidad en el que puede cambiar su tamaño, sin cambiar el tamaño de El sector físico. Si ha comprado e instalado, y luego formatee más de una unidad de disco duro en su vida, entonces, sin duda, ha encontrado este término. Los tamaños de la unidad de asignación más frecuente para una unidad de disco duro formateada NTFS hoy en día son 4K, 8K y 16K. Digo "Hoy" debido a los tamaños de disco que las unidades de disco duro están disponibles en estos días.

Es decir, qué tamaño de la unidad de asignación es apropiado para una unidad de disco duro puede no ser apropiada para otra. Depende de lo grande que sea. Los más pequeños están mejor con tamaños de unidad de asignación más pequeños, y los más grandes están mejor con los tamaños de la unidad de asignación más grandes. Sin embargo, eso no le impide utilizar un tamaño de unidad de asignación grande en una pequeña unidad de disco duro. ¡De lo contrario! Gracias a la naturaleza lógica de la unidad de asignación, se puede configurar durante el proceso de formato, y se puede configurar para ser más grande que el sector físico. En una pequeña unidad de disco duro, una gran unidad de asignación tiende a dar un ligero aumento de rendimiento, a través del gasto del espacio en disco.

Esta es la razón por la que Microsoft ha cambiado la terminología, del tamaño del sector, a la unidad de asignación. Esto sucedió varias versiones de Windows de vuelta. Si recuerdo correctamente, fue con una de las 9X familias de ventanas que comenzaron a usar este término.

La unidad de asignación se traduce y se asigna internamente a uno o varios sectores físicos en el disco. Esta tarea es realizada por el controlador de accionamiento. El controlador es la PCB en la parte posterior de la unidad de disco duro. En las primeras unidades de disco duro ATA (ahora conocido como Parallel ATA o PATA), la placa del controlador se conoció como IDE (electrónica de accionamiento integrado). Históricamente, las unidades de disco duro no siempre tuvieron el controlador integrado en ellos. En su lugar, esta era una interfaz separada.

El tamaño del sector físico más común en una unidad de disco duro dirigida por LBA es de 512 bytes. Pero desde el año 2010, muchas nuevas unidades de disco duro son ahora del Formato avanzado Tipo. Esto simplemente significa que utiliza tamaños del sector que son más grandes que 512 bytes. Actualmente, el tamaño del sector más grande es 4K, o 4096 byte.

El punto principal es: el tamaño del sector físico en una unidad de disco duro moderna tiene poca o ninguna relevancia para el usuario. Los tamaños del sector físico se organizan en sectores lógicos y unidades de asignación, y se eliminan del usuario. Incluso hay una capa más de abstracción con los discos de formato avanzado, porque esos discos pueden emular sectores de 512 bytes, pero usan 4096 sectores físicos. Por esta razón, el tamaño del sector generalmente no se imprime en la etiqueta de una unidad de disco duro direccionada LBA, y más aún para los discos avanzados de formato. Pero ellos tienen tamaños del sector físico, sin embargo. Encontrará este detalle en la hoja de datos para cada modelo, o utilizando un software de utilidad en un sistema en ejecución.

CHS Disco

Este tipo de discos prefatea las unidades de disco dirigidas LBA. Utilizan un método llamado CHS (sector principal del cilindro) que se dirige a la lectura y la escritura. El usuario tiene acceso directo a sectores físicos. A diferencia de LBA, no hay una capa de abstracción del sector. El tamaño del sector en estos discos está casi garantizado para ser de 512 bytes. Pero podría ser cambiado por el usuario.

¿Alguna vez has oído hablar de "Formato de bajo nivel"? Aquí es donde se deriva ese término. Como resultado del acceso directo a los sectores físicos, es posible cambiar el tamaño del sector. Esto permite al usuario formar un formato "de bajo nivel" en el disco, lo que significa volver a escribir los sectores físicamente en el disco. Esto fue a veces útil cuando hubo un problema con el disco. Era un medio para refrescar el disco. El verdadero formato de nivel bajo ya no es posible con las unidades de disco duro modernas. Esto no debe confundirse con el formato del sistema de archivos.

quantumibm

Los discos CHS siempre tenían la cantidad de sectores por pista (SPT) impresos en la etiqueta, entre otros detalles. Si no hubo mención del tamaño del sector, se suponía que era de 512 bytes. Los otros detalles son el número de cilindros y el número de cabezas. Esos fueron los tres principales. De ahí el nombre, el sector principal del cilindro. También hubo una buena razón para esto. Debido a que en las unidades de disco duro realmente tempranas que utilizaban la dirección CHS, todos estos parámetros tuvieron que configurarse manualmente en el programa de configuración del BIOS del sistema. ¡Esto fue parte del proceso de instalación! Así que esta fue una información clave para instalarla correctamente. A medida que la plataforma PC evolucionó, incluidas las mejoras de BIOS, la unidad de disco y las innovaciones de la interfaz, era posible conectar la unidad de disco duro y el sistema lo detectaría y la configuraría automáticamente.

Es posible que haya notado que escribo sobre estos discos en tiempo pasado. Esto se debe a que están obsoletos, y están (casi) a ninguna parte. A excepción de los museos técnicos tal vez.

Tamaños de bytes de prefijo

Algunos básicos primero en las mediciones:

  • Un dígito binario (bit) es la unidad más pequeña de medición en una computadora binaria. Es un 1 o un 0. (o ambos en una computadora cuántica)
  • Un bit se abrevia con un minúscula B , o se explica como bit.
  • La siguiente unidad es un byte.
  • Un byte se abrevia con una caja en mayúscula [~ # ~] b [~ # ~] , o explicado como byte o byte.
  • Un byte es exactamente de 8 bits.
  • La siguiente unidad es una palabra, y generalmente se acaba de deletrear como Word.
  • La longitud de la palabra depende de la arquitectura del procesador. Es comúnmente 8 bits, 16 bit o 32 bits, o 64 bits.
  • La siguiente unidad después de eso es un múltiplo de una palabra, como una palabra doble o una palabra quad.
  • Una palabra doble se abrevia como DWORD o DW, y una palabra quad está abreviada como QWord o qw.

Esas son las mediciones básicas, pero no se encontrará con palabras a menos que sea un programador. Tamaños de disco, particiones y archivos están usando bytes. Un byte es la medición más práctica para trabajar. Un sector en un disco es un bloque de bytes. Por convención, esto es más comúnmente 512 bytes, que es un múltiplo de 2.

2^0 = 1 byte
2^1 = 2 byte
2^2 = 4 byte
2^3 = 8 byte
2^4 = 16 byte
2^5 = 32 byte
2^6 = 64 byte
2^7 = 128 byte
2^8 = 256 byte
2^9 = 512 byte

Estos tamaños de bytes más pequeños se pueden expresar fácilmente con números solamente. Pero el 20 múltiplo de 2 es 1048576, y el 30º múltiplo es 1073741824. Si esto representa bytes, podemos usar un prefijo para expresar el mismo valor más simplemente. Por eso tenemos prefijos como Kilo, Mega y Giga. Pero el problema es que estos son los SI (Système International) prefijos que se utilizan en el sistema de medición decimal métrico. Cada prefijo en este sistema representa un valor que es un múltiplo de 10. Si bien una computadora binaria usa una base de 2 para medir la información.

unit 10^0 = 1
kilo 10^3 = 1000
mega 10^6 = 1000000
giga 10^9 = 1000000000

Es por esta razón que IEC, un organismo de normas internacionales, ha introducido el concepto de prefijos binarios. Los nombres kilome, mega, giga, etc., han cambiado ligeramente en este sistema para reflejar que se deben usar con mediciones binarias.

kibi 2^10 = 1024 = 1024^1
mebi 2^20 = 1048576 = 1024^2
gibi 2^30 = 1073741824 = 1024^3

Los nombres son concatenaciones de su nombre respectivo en el sistema SI, y la palabra binaria. Por ejemplo, Kibi, se forma a partir de ki LO y BI Nary.

Si digo que un objeto tiene una masa de 5000 gramos, puedo expresar ese valor con un prefijo como 5 kg (kilogramo). Lo estoy dividiendo por mil para eliminar los ceros finales. Debido a que se conoce el valor del prefijo, una segunda persona no necesita preguntarme cuántos gramos me medí la primera vez. Simplemente invierte el proceso, tomando mi notación de 5 kg y multiplicándola por mil para convertirlo en gramos. Kilo significa mil, por lo que 5 x 1000 = 5000.

Los primeros 30 sectores en un disco son 15360 bytes, si cada sector es de 512 bytes. Para expresar esto más simplemente, podría dividirlo en 1000. El resultado es de 15.36 kilobytes, o 15.36 KB. Si tuviera que rodearlo al número entero más cercano, sería de 15 kb. Si otra persona miró este número, asumiría que 15 KB era la medida exacta y se multiplicaría con 1000 para convertirla en bytes. Entonces, que serían 15000 bytes, lo que no es correcto, porque la medición original fue de 15360 bytes. Por otro lado, si tuviera que dividir 15360 byte por 1024, obtendría exactamente 15 kIB! Eso es kibibyte. ¡No hay expansión decimal! Dado que dice "Kib" y no "KB", otra persona sabría que se multiplicaría por 1024, y no 1000, para obtener el valor original.

De manera similar, cuando un fabricante imprime 8 GB en un dispositivo, están usando prefijos decimales. Los que tienen valores cero que se arrastran! Entonces, 8 GB no es 8 GiB (gibibyte) u 8 x 2 ^ 30, pero 8 x 10 ^ 9 = 8 000 000 000 bytes. Sin embargo, Windows está utilizando cálculos de tamaño binario (potencias de 2) Con lo que parece prefijos decimales (es decir, "GB"). Entonces, en Windows, estos 8 000 000 000 bytes están divididos por 2 ^ 30 (o 1024 ^ 3) para obtener 7.450580597 "GB" (en realidad gib). Esta se redondea al centro de centésimas más cercanos, por lo que se mostrará como 7.45 "GB" en Windows. Sigo citando "GB" porque Microsoft debería estar usando GiB para este significado, no GB. Esto solo Anuncios a un tema ya confuso.

Ejemplos de trabajo

Ahora ejecutaré algunos ejemplos, utilizando la información de la etiqueta de las unidades de disco duro en las imágenes. Echemos un vistazo al disco de 500 GB primero.

Capacity: 500 GB
LBA: 976773168
976773168 x 512 = 500107862016 bytes
500107862016 / 1024^3 = 465.761741638 ≈ 466 GiB

Así que esto es de 466 gib, o 466 GB en términos de Microsoft (y JEDEC). Tenga en cuenta que el número ni siquiera fue después de la división. Creo que esto se debe a que hay más sectores de lo que el usuario puede usar para almacenar datos. Algunos sectores están protegidos y algunos se utilizan para re-mapeo. Algunos sectores se vuelven malos con el tiempo, por lo que esto es cuando los otros sectores se utilizan como reserva. La unidad de disco duro marca y realiza un seguimiento de los sectores defectuosos y deja de usarlos.

Si solo toma el número de capacidad y la convierte en GiB, se verá así.

500 GB = 500 x 10^9 = 500000000000 byte
500000000000 byte = 500000000000 / 1024^3 = 465.661287308 ≈ GiB

Puedes ver que es un número algo más pequeño, pero aún así se redondea a 466 gib. Pero en bytes exactos, esto está más más cerca de cuánto puede usar realmente. De esta manera, no necesita saber el tamaño del sector. La capacidad exacta aún se calcula utilizando el número LBA y el tamaño del sector. Eso es lo que usaré en el resto de los ejemplos.

Capacity: 320 GB
LBA: 632672208
632672208 x 512 = 323928170496 bytes
323928170496 / 1024^3 ≈ 302 GiB

Por último, aquí hay uno de los discos CHS. La idea básica es muy similar. Se supone que el tamaño del sector es de 512 bytes si no se indica de otra manera. Voy a mirar el disco cuántico. Puedes hacer el IBM tú mismo. El disco cuántico no dice nada sobre su capacidad.

C: 2484
H: 16
S: 63
2048 x 16 x 63 x 512 = 1056964608 bytes
1056964608 bytes = 1056964608 / 1024^2 = 1008 MiB
1056964608 bytes = 1056964608 / 1024^3 = 0.984375 ≈ 0.98 GiB

¡Ahí vas! ¡Una friolera de 0.98 GB! ¡Perdóname! ¡Me refiero a 0.98 gib! ;-)

Márketing

Hay algo llamado "sectores garantizados". Encontrará esto impreso en la etiqueta de algunas unidades de disco duro, o en su hoja de datos. Este es el resultado de la disputa en curso entre usuarios/consumidores y los proveedores de dispositivos de almacenamiento. Esta confusión todavía está presente hoy, en la era de la computación en la nube y en un mundo donde los discos de estado sólido se han convertido en una tecnología general y están reemplazando gradualmente a las unidades de disco duro antiguas.

Yo diría que el marketing tiene muy poco, en todo caso, para ver con esto. Es puramente un problema de matemáticas, y no es un problema con las matemáticas en sí, sino con las personas. Todo es solo una gran confusión que se le ha permitido continuar. Al menos, Microsoft debe denotar prefijos binarios como KIB, MIB y GIB. Windows sigue siendo el principal sistema operativo en PC hoy.

4
Samir

En realidad, generalmente son tan grandes como se anuncian, pero:

  1. Siempre (que yo sepa) usan 1000 en lugar de 1024 al hacer B a KB y así sucesivamente.
  2. El sistema de archivos utiliza una pequeña cantidad de espacio para realizar un seguimiento de todo.

pueden ser otras razones también, pero esas son las principales que conozco

3
Svish

En los viejos tiempos de las computadoras, cada cálculo fue caro (en el sentido de desempeño). Los programadores utilizaron todo tipo de accesos directos para hacer lo más pequeños como los pocos cálculos. Uno de esos trucos fue almacenar la parte del año de una fecha como solo dos dígitos, lo que finalmente condujo al problema de Y2K. Otro truco fue que definieron 1k (kilo) para no significar 1000 como lo hicieron todos los demás en el mundo civilizado, sino para significar 1024 en su lugar. Esto les permitió cortar algunas esquinas al hacer los cálculos de tamaño. Ese hábito se atascó y todavía se está utilizando hoy, aunque los cálculos de computadora se han vuelto tanto más baratos.

El fabricante de hardware le está dando el tamaño adecuado donde K = 1000, M = 1000000 y G = 1000000000. Es el software que le da valores falsos.

Los fabricantes de software están cambiando sus hábitos hoy en día. OSX, por ejemplo, muestra el tamaño adecuado.

3
Dennis Janssen