Por qué a tu disco duro le faltan gigabytes. Origen del kibibyte.

¿Alguna vez te has preguntado por qué tu memoria USB de 32 GB recién comprada tiene realmente solo 29.8 GB?


Sucedió en 1998 y desde entonces, vender un disco duro con menos capacidad de la que debería tener, no solo es lo más natural del mundo sino que no hay nada de irregularidad en ello.

Siempre había sido así, pero fue la Comisión Electrotécnica Internacional (IEC), el organismo que define a nivel mundial los estándares de la electrónica y la electricidad, quien oficializó los discos duros que casi tienen la capacidad que deberían tener.

Crearon nuevas unidades de almacenamiento de información y alteraron el significado de las que ya existían, desconcertando a los usuarios y causando malestar en la comunidad IT.

Y todo esto para evitar dar un tirón de orejas a los fabricantes de memorias y discos duros por no vender la capacidad real que anunciaban.

¿Por qué existen Kilobytes (KB) y Kibibytes (KiB)?

¿Por qué los discos duros y memorias tienen menos capacidad de la anunciada? ¿Y por qué Windows lo detecta y lo muestra utilizando las viejas unidades?

¿Por qué más de 20 años después muchos consumidores no saben nada de esto? ¿Y por qué 20 años después una mayoría del sector IT reniega de los Kibibytes, los Mebibytes y los Gibibytes?

¿Qué es (o era) exactamente un kilobyte?

En el mundo del diseño informático se trabaja en base binaria, con potencias de 2. Lo que en lenguaje callejero suele denominarse «unos y ceros». No es ninguna extravagancia, ya que el diseño de los sistemas digitales se simplifica sensiblemente por el hecho de estar basados en lógica binaria. Los medios de almacenamiento no son una excepción.

La unidad básica de información es el bit; un uno o un cero. Y a cada grupo de 8 bits lo llamamos byte.
Aplicando a los bytes nuestra lógica binaria basada en potencias de 2, lo más cercano a 1000 que obtendremos es 1024 bytes, que serían un Kilobyte (KB)

Parece un número raro ese 1024, pero echando un vistazo a la secuencia de potencias de 2 la cosa se explica sola:
2-4-8-16-32-64-128-256-512-1024
2 elevado a 10 es 1024

Aplicando este criterio, tenemos que:
1024 bytes  = 1 Kilobyte (KB)
1024 Kilobytes = 1 Megabyte (MB)
1024 Megabytes = 1 Gigabyte (GB)
1024 Gigabytes = 1 Terabyte (TB)

Al menos, esto fue así hasta 1998.

La industria de los medios de almacenamiento de datos

La honestidad y el rigor científico nunca fueron una prioridad para los fabricantes de diskettes, discos duros y memorias.

Cuando compramos 1 Megabyte (de los de antes), cada Megabyte debería tener 1024 Kilobytes y cada Kilobyte 1024 bytes. Nuestro megabyte debería constar de 1024 * 1024 bytes, o sea 1.048.576 bytes.
En cambio lo que realmente venden los fabricantes son 1.000.000 bytes.
Es decir, nos dan 0,95 Megabyte por cada Megabyte que venden.

Al aumentar el tamaño y pasar a usar Gigabytes, la cantidad de bytes perdidos resulta mayor:
Por cada 1.073.741.824 bytes el fabricante pone solo 1.000.000.000 bytes en su disco o memoria.
0,93 Gigabytes como si fuera 1 Gigabyte.

Y con los Terabytes…
1.000.000.000.000 en lugar de 1.099.511.627.776 bytes.
Cada Terabyte vendido es en realidad 0,91 Terabyte.

Esto ha sido así desde los diskettes de 5.25″ hasta los actuales discos de casi 20 Terabytes. Y seguirá siendo así, gracias a la IEC.

La resolución de la IEC

En 1998 la IEC interviene para estandarizar el uso de las unidades de almacenamiento de datos. Pero ¿qué fue exactamente lo que hicieron?

¿Recomendar a los fabricantes el empleo riguroso de las unidades existentes?
Podría haber sido algo como «Oigan señores, si en la caja ponen que son 4 gigabytes, que sean 4 gigabytes de verdad, de los que usan los informáticos»

No, no fue esa la solución.

¿Quizás estandarizar una nueva medida para que los fabricantes pudiesen seguir vendiendo como más les convenía?
Algo en plan «Oigan señores, esos gigabytes que venden no son los auténticos, tienen que utilizar los cutrebytes que es una medida que hemos estandarizado para que ustedes puedan seguir vendiendo gigabytes encogidos.»

Pues no, tampoco esa fue la solución.

La solución de la IEC fue decir a la comunidad IT algo así como «Escuchen, que a lo que ustedes han estado llamando manzanas desde hace décadas son en realidad peras y lo que venden los fabricantes de discos eso sí son manzanas»
Porque claro, los profesionales de la informática no tenían ni idea de manzanas. Lo grave de esto es, que las manzanas que no son manzanas son la base del diseño de los sistemas digitales.

Y así fue como los Kilobytes se convirtieron en lo que los fabricantes quisieron.
El Kilobyte de 1024 bytes desapareció de la noche a la mañana, pasando a ser Kilobyte de 1000 bytes.
Gacias a la IEC existe un Kilobyte «de antes» y uno «de ahora». Fantástico.

A partir de 1998 los kilobytes, megabytes, gigabytes y terabytes cambian su significado:

1 Kilobyte (KB) = 1000 Bytes
1 Megabyte (MB) = 1000 Kilobytes
1 Gigabyte (GB) = 1000 Megabytes
1 Terabyte (TB) = 1000 Gigabytes

Al mismo tiempo que el Kilobyte pasa a tener 1000 bytes, la IEC inventa los prefijos binarios. Aparece el Kibibyte (KiB) que este sí tiene 1024 bytes. Y aparecen también sus amigos mebi, gibi y tebi:

1 Kibibyte (KiB) = 1024 Bytes
1 Mebibyte (MiB) = 1024 Kibibytes
1 Gibibyte (GiB) = 1024 Mebibytes
1 Tebibyte (TiB) = 1024 Gibibytes

Fácil ¿no?

Conclusiones

El hecho de que la IEC llame a tu puerta, para decirte que llevas décadas trabajando con una unidad de medida que no es la que tienes que usar y que, casualmente la unidad de medida que hasta ahora usabas pase a ajustarse a los parámetros de venta de los fabricantes de discos duros, es ¿sospechoso? ¿descarado? ¿indecente?

El concepto de las nuevas unidades binarias (el Kibibyte o ‘kilo-binary-byte’) es redundante. ¿No es un byte algo intrínsecamente binario? Entonces si digo Kilobyte ¿quién necesitaba más explicación?

El cambio y las nuevas unidades se llevaron a cabo para estandarizar algo que no necesitaba ser estandarizado, ya que los únicos fuera de ese estándar eran los fabricantes.

Los fabricantes de medios de almacenamiento de datos no necesitaban explicación porque lo sabían de sobra, pero cuando hay intereses en juego merece la pena hacerse el sueco. Fueron los únicos que no quisieron entender el estándar y al final de todo, son los únicos a los que nada de todo esto les afectó. Nada ha cambiado para ellos desde los años 80 y parece como si alguien velase por sus intereses por encima de todo.

22 años después, buena parte de la comunidad IT sigue rechazando e ignorando (a partes iguales) estos cambios y trabajando con los tradicionales Kilobytes de 1024 bytes. La comunidad informática no fue consultada sobre los cambios que implementó la IEC en 1998, y si lo fue no trascendió a los niveles que debería haberlo hecho.

Windows hasta su versión 10 sigue mostrando las capacidades de los discos y memorias calculadas con Kilobytes de 1024 bytes, dejando cada vez más en evidencia a los fabricantes de discos y memorias, a medida que los estándares de tamaño de almacenamiento van creciendo.

Detalle de las propiedades de disco que muestra Windows 10. Se puede ver claramente cómo un disco de 10 Terabytes tiene realmente tan solo 9,09 Terabytes

Los usuarios que compramos un disco de 10 terabytes veremos en Windows que tiene poco más de 9 terabytes. Esto sucede con todos los discos y memorias, aumentando la pérdida de bytes a medida que el tamaño del disco o soporte es mayor.
Por cada terabyte comprado se evaporan 92 gigabytes. En un disco de 6 teras estaremos perdiendo 552 gigas. En el futuro, cuando ya sea posible comprar un disco de un petabyte, la pérdida ascenderá a 111 terabytes.

La tabla refleja la pérdida de capacidad real debida a la transformación a decimal que hacen los fabricantes de discos duros.

Yo me gradué en informática en el 99 sin saber nada de los kibis-mebis-gibis hasta años después. Y me consta que muchos colegas míos desconocen la cuestión de la pérdida de gigabytes en cualquier disco o memoria que compren, de modo que cabe suponer que la mayoría de los consumidores probablemente tampoco saben nada de esto.

Las nuevas unidades binarias no aportaron nada a nadie y en cambio sí crearon un mar de confusión donde nadie antes había dudado

El hecho de existir dos escalas de unidades de almacenamiento, una decimal y otra binaria, hace que para alguien ajeno al mundo profesional informático sea de locos tratar de entender las diferentes formas de especificar las capacidades de almacenamiento.

Y para los profesionales, más unidades no significaron más precisión sino más confusión.

Las nuevas unidades de medida y el cambio de las unidades tradicionales, no aportaron nada a nadie. Ni siquiera a los fabricantes, que siguen haciendo lo mismo que hicieron siempre.
En cambio, sí crearon un mar de confusión donde nadie antes había dudado.