固态硬盘容量为何不是整数?原来两种标准早已吵疯

凑个整数有多难?1024进制和OP空间带来的固态硬盘"公摊容量"
"今天朋友找我借1000块 , 我说给你1024凑个整吧 , 这样比较好记!"这是每个熟悉程序猿的人都秒懂的梗:相比于1000 , 1024才是真正的整数 。 大家每天工作使用的电脑硬盘容量 , 也因为进制的关系引发很多误解 。
固态硬盘容量为何不是整数?原来两种标准早已吵疯文章插图
买回来的固态硬盘格式化后发现容量缩水?你不是一个人 。
凑个整数好难:两种进制标准的混乱
内存使用1024进制(1KiB=1024字节 , 1MiB=1024K…)、硬盘和网速使用1000进制(1kb=1000字节、1MB=1000kB) , 前者属于IEC标准 , 后者属于SI标准 , 二者都是业界认可的国际标准 。 严格来说 , IEC标准的容量单位在书写时应该在中间多一个小写字母i , 如KiB、MiB、GiB , 但可惜没有多少人遵循这一点 。
固态硬盘容量为何不是整数?原来两种标准早已吵疯文章插图
两种并行的进制已经造成了很多混乱 , 譬如4.7GB容量的DVD光盘实际写不进4.7GiB的文件数据、480GB的固态硬盘在Windows中格式化后只有223GB可用 。
固态硬盘容量为何不是整数?原来两种标准早已吵疯文章插图
除了容量上的错乱之外 , 厂商标注的性能读写性能指标也是基于1000进制的 , 所以需要使用CrystalDiskMark , 而不是AS SSD Benchmark去测试和对比验证 。 如果考虑进制换算影响 , 你会发现这两款测试软件的成绩其实是比较接近的 。
固态硬盘容量为何不是整数?原来两种标准早已吵疯文章插图
【固态硬盘容量为何不是整数?原来两种标准早已吵疯】发生混乱的主要是Windows操作系统 。 大约是从2009年开始 , 苹果MacOS系统就使用1000取代了1024进制 , 用于硬盘和文件容量显示 。
固态硬盘容量为何不是整数?原来两种标准早已吵疯文章插图
固态硬盘容量有没有"缺斤短两" , 只要看CrystalDiskInfo中型号末尾的数字就可以了 , 它是CDI根据硬盘可用容量 , 按照1000进制计算而来 。 通常都能达到或者稍微超出一点厂商标称容量 。
固态硬盘容量为何不是整数?原来两种标准早已吵疯文章插图
凑个整数好难:二级OP预留空间
进制换算我懂了 , 可是为什么固态硬盘的厂商标称容量也不是256GB、512GB、1024GB这些"整数"?难道我的固态硬盘也跟房子一样被扣"公摊面积"了吗?
固态硬盘容量为何不是整数?原来两种标准早已吵疯文章插图
以高性价比著称的铠侠TC10固态硬盘提供240GB、480GB和960GB三种容量 , 而不是程序猿们期望的256GB、512GB和1024GB , 这中间少的那一部分就是二级OP空间 。
固态硬盘容量为何不是整数?原来两种标准早已吵疯文章插图
用来制造固态硬盘的闪存芯片本身都是按"整数"(2的N次幂)设计的 , 以铠侠新一代96层堆叠BiCS4 3D TLC闪存为例 , 一个闪存晶粒的容量是256G比特或512G比特 。 不过由于ECC纠错数据、备用块需要占用一定空间 , 再加上优化性能和寿命的需要 , 所以当代固态硬盘通常会在进制换算过程中自然产生的一级OP之外 , 再增加二级OP预留空间 。 这部分空间并不像房产公摊那样位于公共区域 , 而是实际存在于你的固态硬盘中的 , 只是不能直接用来存储个人数据 。
固态硬盘容量为何不是整数?原来两种标准早已吵疯文章插图
当然 , 随着主控和算法的提升 , 一些高阶固态硬盘适当缩小了二级OP预留空间所占的百分比 , 尽可能为我们提供更大的存储容量 。 比如铠侠RC10就提供有250GB、500GB和1000GB容量选项 。
固态硬盘容量为何不是整数?原来两种标准早已吵疯文章插图