为什么硬盘驱动器的大小是 100 的倍数,而闪存驱动器的大小通常是 2 的倍数?

Bem*_*est 5 memory ssd hard-drive

为什么硬盘驱动器的大小是 100 的倍数,而闪存驱动器的大小通常是 2 的倍数?

我看到的每个 HDD 都有类似 100GB、250GB、500GB、2000GB 的容量——数字以零结尾。

但是基于闪存的设备几乎总是大小为 2 的倍数,例如 64GB、128GB

直到最近我才看到一些 120GB 或 200GB 大小的 SSD。

是否有一个原因?我一直想知道为什么,但从来没有机会找出答案。

Jam*_*han 5

RAM 的大小是 2 的幂有一个很好的理由,因为它的制造方式和处理方式。(我知道,你问过闪存驱动器。请耐心等待。)它通过出现在 CPU 输出的总线上的二进制数进行寻址,并且所有 RAM 模块都连接到总线中的所有位。

假设您在一个模块中有 4 GB RAM。地址从 0 到 FFFFFFFF 十六进制(连续 32 个 1)。如果您添加另一个 4 GB 模块,那当然会使您拥有的数量增加一倍。由于每个二进制数字代表乘以 2(就像每个十进制数字代表乘以 10),因此最大地址现在只是 1FFFFFFFF。您的内存控制器可以通过将地址 0 到 FFFFFFFF 发送到第一个模块,并将 100000000 到 1FFFFFFFF 发送到第二个模块来处理此问题。(实际上并不是那么简单,但这就是想法。)它在 RAM 模块中的工作方式相同,因为芯片承载的容量越来越大。系统中的所有 RAM 都可以轻松组合成一个连续的地址块,这非常方便,

硬盘驱动器的扇区数与 2 的幂相关并没有相应的原因。可记录表面的数量、每磁道的扇区数和每表面的磁道数不是基于二进制的;它们只是“适合的任何东西”。(在早期的 PC 硬盘驱动器中,每磁道 17 个扇区是一个常见的数字。)在现代硬盘驱动器中,从最外层磁道到最内层磁道,每磁道的扇区数甚至都不相同。

因此,硬盘驱动器没有内部理由采用 1024 次幂的容量。至于跨多个驱动器寻址,由于卷和文件系统的工作方式,完全没有必要将系统中的所有磁盘存储聚合到一个具有一组连续块地址的块阵列中。即使这是可取的,操作系统中存储驱动程序堆栈中的软件也不会在跟踪“块 0 到 3906259999 位于驱动器 0 上,3906260000 到驱动器 1 上的任何内容”等方面存在任何问题。事实上,有许多存储软件系统现在都这样做(例如,Windows 中的动态磁盘和存储空间),从具有任意大小的磁盘驱动器集合中创建一个“卷”。

现在在解释闪存大小之前,我们必须确保我们清楚有关 RAM 和硬盘驱动器大小的更多细节:

您可能知道 RAM 大小几乎总是使用“二进制前缀”引用,这意味着例如“4 GB RAM”意味着 2 到 30 的 4 倍 - 或者更方便的是,4 倍 1024 的 3 次方,即 4 x 1024 x 1024 x 1024 = 4,294,967,296。但是当您购买硬盘时,“GB”的意思是 1,000,000,000 字节。

顺便说一句,这并不是硬盘制造商最近试图以更高的成本向我们出售更少的容量的改变。硬盘驱动器总是以这种方式引用;在 RAM 甚至以兆字节为单位之前,硬盘驱动器使用“十进制兆字节”,千兆和兆兆字节也是如此。第一个硬盘驱动器 IBM 350 RAMAC 的容量为 5,000,000 个字符,存储在50 个盘片上。看,当你有像“5”这样的质因数时,很难有纯二的幂。但除此之外...

这套牌中的小丑是固态驱动器,包括 USB“钥匙”、SD 卡等:是的,“单位之前的数字”通常是 2 的小幂,例如 64。但“G”的意思是1,000,000,000,就像在硬盘上一样。

如果您不相信这一点,请将一个插入您的计算机并让它告诉您驱动器上有多少字节,没有前缀。如果您的“64 GB”闪存驱动器实际上是 64 二进制 GB,则数字将为 68,719,476,736(Windows 将其显示为“64 GB”)。但是制造商的细则会说“1 GB = 10 亿字节”或类似的字样,所以它实际上只有 64,000,000,000 保证,而 Windows 会说它是 59.6 GB(因为 Windows 使用二进制前缀作为硬盘驱动器,即使它不应该)。但是,实际上,如果您记得那里的“G”表示 1024 的立方,或 1,073,741,824,那么 59.6 GB 是正确的。

现在,奇怪的是:额外的容量在哪里?请看,USB 密钥和 mSATA 设备中的闪存 RAM 芯片都具有“二进制大小”。因此,在“64 GB”闪存驱动器中,实际闪存 RAM 可能有“64 GiB”(二进制 GB)。但是您只能使用 64,000,000,000 个字节。剩下的在哪里?嗯,闪存需要大量的备用空间才能工作。“64 GB”闪存驱动器使用68,719,476,736 和64,000,000,000 之间的差异作为备用空间。

是的,最近的闪存驱动器,尤其是 HD 替代品,正以类似硬盘驱动器的大小出现。我想象他们正在使用额外的空间来获得更多的空闲空间,从而延长他们的使用寿命。例如,“120 GB”闪存驱动器为用户提供 120,000,000,000 字节,但芯片的容量可能为 137,438,953,472 字节。这比驱动器向用户公开 128,000,000,000 的空闲空间要多得多。