为什么SSD的尺寸怪异?


82

为什么SSD的大小约为240 GB或120 GB,而不是正常的256 GB或512 GB?这些数字比240或120有意义得多。


45
为什么这些数字更有意义?
马修·威廉姆斯

8
@MatthewWilliams,我想是因为它们是较大存储度量的小数部分。256 GB是TB的1 / 4,512 GB是1/2的,依此类推。
摩西

44
@MatthewWilliams我说过,由于以2为底的算术:2 ^ 8 =
256,2

17
期望将驱动器定为2的幂是很愚蠢的,因为驱动器基本上从来没有定为2的幂。一个1TB的驱动器不是2 40字节,通常是10 12字节。
Zoredache 2014年

7
@Zoredache这对于HDD有意义,但是我们正在谈论SSD。它的存储器基本上是只能保持2种状态的晶体管。因此,在我看来,SSD应该始终是基数2。尽管如此,答案仍有助于弄清歧义
Dudemanword 2014年

Answers:


101

尽管许多现代固态硬盘(如840 EVO系列)确实提供了您喜欢的大小(提到的256GB),但制造商过去常常保留一些存储空间,以应对性能下降和缺陷的机制。

例如,如果您购买了120GB的驱动器,则可以肯定地确定其内部确实是128GB。保留的空间只是为控制器/固件空间提供了诸如TRIM,垃圾回收和磨损均衡等功能。当SSD首次投放市场时,通常的做法是在控制器已经变得不可见的空间之上留出一些未分配的空间,但是算法已经变得更好,因此您不必做到这一点了。

编辑:关于这一现象的一些评论,必须用广告空间(以千兆字节(例如128x 10 ^ 9字节)表示)与操作系统显示的GibiByte值之间的差异来解释,这一事实是-大多数时间-2的幂,在本示例中为119.2 Gibibyte。

据我所知,这是上面已经解释过的事情的基础。虽然我当然不能说出确切的算法需要多少额外的空间,但计算结果保持不变。制造商组装的SSD确实使用了两个闪存单元(或其组合)的电源,尽管该控制器并未使所有空间对操作系统可见。剩下的空间被广告为GB,在此示例中为111 GB。


2
除了某些SSD现在使用TLC(三级)状态,并且由于更高的错误率之外,实际上需要比以前的驱动器更多的保留空间。建议在我进行三星EVO驱动器的Magician软件时保留更多空间。因此,它只有920 GB,而不是TB。
Zan Lynx 2014年

2
您是指技嘉与技嘉之间的差异吗?我对问题的理解有所不同,因为这种差异是120GB与128GB之间的差异所在。购买标称尺寸为120GB的SSD,您将获得的操作系统可用空间更少。
Patrick R.

4
@Matthew好,那是我想说的-我可以确认这还没有停止。我的512G三星840只能为我提供465G的可用空间。对困惑感到抱歉。因此,总而言之,标为120GB的SSD物理上可能具有128.000.000.000字节,120.000.000.000作为分区可使用的空间-导致OS显示约110。
Patrick R.

27
技术术语是预留空间
Ben Voigt 2014年

1
@ADTC为什么128GB中的8GB太多了?尤其是多级单元的寿命可能不长,只要您希望它们就可以。由于制造商不希望您在保修期内退还SSD,因此保留这么多的空间确实很有意义。虚假广告也已经讨论过,这是最重要的。您购买了120GB的广告,您将获得128x10 ^ 9 Byte,这使您可以在操作系统中看到的〜110 Gibibyte。
Patrick R.

23

机械和固态硬盘驱动器的原始容量均大于其额定容量。保留了“额外”容量来替换坏扇区,因此驱动器不必在下线时就完美无缺,因此可以在使用过程中将坏扇区重新映射到备用扇区。在工厂进行初始测试期间,所有坏扇区都将映射到备用扇区。使用驱动器时,它将监视扇区(使用纠错例程检测位级错误),并且当扇区开始变坏时,它将扇区复制到备用磁盘,然后重新映射。每当请求该扇区时,驱动器就会转到新扇区,而不是原始扇区。

在机械驱动器上,由于它们控制伺服,磁头和盘片编码,因此它们可以添加任意数量的备用存储,因此它们的额定存储容量为1 TB,另外还有1 GB的备用空间用于扇区映射。

但是,SSD使用闪存,闪存通常以2的幂进行制造。对于访问200字节的8位地址和访问256字节的8位地址,解码地址所需的硅片相同。由于硅的那部分大小没有变化,因此最有效地利用硅资源的方法是在实际闪存容量中使用2的幂。

因此,驱动器制造商的总原始容量为2的幂数,但是他们仍然需要留出一部分原始容量用于扇区映射。例如,这导致256GB的原始容量仅提供240GB的可用容量。


6

简而言之,所有SSD根本都不是它们宣传的内容。他们公布的是“可用”磁盘空间。对于大多数具有120个“可用” GB存储空间的驱动器,基本驱动器实际上是128 GB驱动器。如前所述,为某些特定的后台管理任务保留了8 GB的空间。

现在,从技术上讲,他们可以在一块芯片上再贴一块芯片,以为您提供128 GB的“可用”空间,但这会花费更多的钱。驱动器制造公司已经意识到,人们比驱动器的可用空间实际上是2的倍数更关心驱动器的大小。

旁注-实际上,有几种方法可以编写所需的系统代码,这就是为什么您会看到来自不同制造商的120、124和128 GB驱动器的原因。它们都具有128 GB的“原始”空间,但是它们以不同的方式处理所需的背景材料。在大多数情况下,没有一个驱动器编码版本比其他任何版本都好。您可能会注意到性能基准上的细微差别,但是除非您的计算机执行了一些繁重的工作并且您知道要查找的内容,否则您不太可能注意到它。


5
不是多个的2,但功率的2
Keltari

2

由2的幂次幂增长是一个严格的数学概念,可以轻松地在基于两种状态的计算机中采用数学快捷方式。也就是说,计算机可以像将数字乘以10或除以整数一样轻松地执行整数乘法或除以2的操作。您只需简单地向左或向右移动数字,而不必实际执行计算。

每一个编程语言对这些简单操作的运营商,在C的语言,他们n >> m又名shift n right m bits又名divide n by 2^m,并n << m又名shift left又名multiply n by 2^m。在处理器内部,此操作通常需要一个周期,并就地发生数据。任何其他算术运算(例如乘以3)都需要调用ALU(算术逻辑单元)来花费一个额外的周期或两个编组位,然后将结果复制回某个寄存器。如果您需要小数点精度,并且FPU [Floating Point Unit]参与其中,Heaven将为您提供帮助。

无论如何,这就是为什么您的计算机喜欢在内部将所有内容都引用为2的幂。如果机器每次要执行一些简单的数学运算来计算内存指针偏移量时都必须执行ALU操作,则计算机的运行速度将降低一个数量级。

另一方面,物理存储的增长受原始二进制数学的控制较少,而不受物理,工程和“ 行销”一词的制约。对于主轴盘,容量取决于:盘的数量,盘的大小,“圆柱”的大小以及可装入圆柱体的扇区数。通常,这些因素更多地取决于硬件的物理功能和读/写头的精度。

我不太熟悉SSD的内部特性,但我想扩展的依据是:我们可以构建N x M个NAND扇区阵列,将它们在芯片的K层分层,然后将J片装入2.5英寸硬盘盒。保留其中的H%用于性能优化,将数字四舍五入到最接近的5/10/20倍数,这就是我们要在盒子上打印的驱动器的容量。

将这些计算中的任何一个计算为2的整数倍,将是一次a幸,对任何人都没有什么好处。


我想指出的是,这些移位运算符的易用性还取决于您所针对的体系结构的填充行为(0填充或1填充)。诚然,这对于当今的高级语言来说不是问题
Dudemanword 2014年

从我听到一个好的编译器甚至会继续和更换喜欢错误的数学运算var = var / 256var >> 8你这些天。
萨米奇

2
内存芯片的大小始终是2的幂,因此有效地址的数量正好受地址信号数量的限制。这就消除了对“由地址超出范围的地址选择的芯片”错误信号的需要,并且也使尺寸检测变得更加容易。如果不增加内存芯片的数量,整体驱动器可能不是2的幂(早期Intel SSD使用10个通道,每个通道128GB,总计160GB,相对于竞争对手的128GB型号略有优势)
Ben Voigt

-8

在较旧的SSD中,容量是8的倍数,因为“字节”中有8个“位”(0/1)。就像闪存驱动器一样,这一次人们没有看到SSD的好处,而每个“位”都有帮助。

现在,消费者对SSD技术有了更多的了解,并且随着技术的进步,SSD制造商通过结合“估计”尺寸(如HDD市场所做的那样)并结合不同尺寸的芯片,将其带回到更熟悉的数字。得到偶数10个数字(例如6GB + 4GB = 10GB)


您可能会混淆位和字节吗?
詹姆斯·麦克劳德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.