问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

存储虚标的历史

创作时间:
作者:
@小白创作中心

存储虚标的历史

引用
CSDN
1.
https://blog.csdn.net/bugsycrack/article/details/144899985

在程序圈,存储的虚标和房地产的套内面积、公摊面积、实际面积的噱头一样历史悠久。
现在我们购买存储或含有存储功能的设备时,只要是大学毕业,基本都知晓其容量会缩水。比如 512 GB 的硬盘,在系统中查看,仅有 460+ GB 的可用空间,大家都习以为常了。那么这个问题的来源是什么呢?为什么会有这种差异?

在计算机刚开始发展的时候,大概在上世纪五六十年代,存储器还是KB级别的。根据存储电磁结构的设计,那么存储设计天然采用二进制其实更便。比如在 KB 时代,想用较小的颗粒要凑出 128 KB的内存,那么两枚 64 KB就能凑出 128 KB。当时生产内存的公司,一起建立了 JEDEC 存储器标准。该标准借用了国际单位的前置词 kilo-、mega- 和 giga-,但 JEDEC 知道国际单位都是十进制,可能引起误会,所以只用大写的简称:KB、MB 和 GB,不使用全称,用这种方法来与十进制区别。 JEDEC 想用这种方式表示KB、MB 和 GB为二进制单位。

随着历史的发展, JEDEC 的这些单位都推广开,大家并没有完全接受,存储设备制造商显然没有认可 JEDEC 设计的二进制单位,存储设备制造商直接使用十进制单位。这就出现了存储领域的“公摊面积”,也就是存储设备制造商说的容量和实际二进制容量不符的情况。

对此,国际电工委员会(IEC)在 1997 年发布了指导标准 IEC 60027-2,重新定义了二进制的单位前缀为 kibi-、mebi- 和 gibi-(缩写为 Ki-、Mi- 与 Gi)。从设计的角度来说,这很优美。如果需要,就连二进制的距离,也能用 Kim、Mim 和 Gim 来表示。

因为IEC 60027-2标准是滞后出现的,而储存厂商与 JEDEC 双方,都不想放弃自己的单位定义,都觉得自己的单位更有用,这导致二者混淆的局面一直延续到现代。Windows 开发者 Raymond Chen 认为 IEC 的二进制前缀几乎没人遵守,所以 Explorer 也继续沿用JEDEC的写法,使用KB、MB 和 GB为二进制单位。

但存储设备制造商也很倔强(利益相关),明知道 PC 系统占有量最大的 Windows 使用二进制单位,也不愿在产品包装上注明自己的容量相当于多少 GiB(小字也行)。所以时至今日,存储设备制造商默认 1GB = 1,000,000,000 bytes,而JEDEC 的标准,1GiB=1024MiB=1048576KiB=1073741824bytes,存储设备制造商故意利用这种差异,将“公摊面积”合法化了,合法虚标历史悠久。

最后,再说个计算机发展史上的老古董1.44 MB 软盘,1.44 MB 软盘的内存是 1440 KiB,从名字就能看出存储大小,这算是历史上唯一不虚标的特例,可惜退出历史舞台了,很多00后新生代根本不知道软盘,笔者大学时代还要用软盘交作业^_*。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号