一、机械硬盘:
机械硬盘容量越来越大,如今装机选择硬盘,其容量最低也有500G,主流用户则会选择1TB容量大硬盘。不少人在使用电脑的过程中可能会发现奇怪的问题,为什么新装机搭配1TB容量的硬盘,在电脑上显示的硬盘容量理论上应该是1024G,但实际显示的却还不足1000G怎么回事呢?这与硬盘的容量理论算法有关。
理论算法:
1KB=1024B、1MB=1024KB、1GB=1024MB、1TB=1024GB
实际算法:
1B (byte 字节);
1KB(Kilobyte 千字节) = 2^10 B = 1024 B
1MB(Megabyte 兆字节) = 2^10 KB = 1024 KB = 2^20 B
1GB(Gigabyte 吉字节) = 2^10 MB = 1024 MB = 2^30 B
1TB(Trillionbyte 太字节) = 2^10 GB = 1024 GB = 2^40 B
但为何实际厂商硬盘容量的算法与理论不一致呢?按照理论上来说1T=1024G(也就是2的10次方),但硬盘厂商往往制造出来的1TB硬盘容量只有1000G,因为1T=1000G=1000000M=1000000000KBP这是硬盘厂家的标准,这在存储市场已经是公开的秘密了,几乎可以说是“行业标准”了。
硬盘厂商的标准:1GB=1,000MB 1MB=1,000KB 1KB=1,000byte
操作系统的算法:1GB=1,024MB 1MB=1,024KB 1KB=1,024byte
讲到这里,相信大家已经有所头绪了。在计算机系统中,按照1024进制标准计算,可以通俗的理解成厂商为了更好计算而没有采用理论标准值去计算。所以你安装的1TB硬盘在系统中的显示可能只有1000GB。
另外值得一提的是即便按照厂家的标准,1TB=1000G,但实际在电脑里显示的却会发现只有930G左右,这又是为何呢,厂家严重扣量忽悠吗?
实际上:硬盘厂商的1TB=1000×1000×1000/(1024×1024×1024)≈Windows操作系统中的0.9313GB。一般硬盘内部内置程序的占用一些空间,提供给系统文件使用,所以操作系统显示的总容量和硬盘的型号容量存在差异这是一个正常现象。机械硬盘容量越大,比如3T、4T,实际换算过来,“消失”的容量也就越大。
二、固态硬盘:
SSD工作机制完全不同于机械硬盘,它的容量有120G/128G,240G/250G/256G之分,但实际使用到容量往往只有119G,230G左右!这跟机械硬盘的理论算法也是一样的吗?其实不然,两个不同领域,行业标准也不一样,实际跟理论容量,SSD没那么简单。这涉及到一个名词:预留空间OP。
预留空间OP是指SSD保留一部分容量空间留作他用,这部分空间用户不可操作,容量大小一般是由主控决定。
OP比率=(SSD物理空间-用户可用空间)/用户可用空间。
除了第一级OP空间之外,多数主控还支持二级OP空间,具体容量和配置由厂商自己决定,所以128GB闪存作出的SSD有128GB、120GB乃至100GB之分,也就是说OP空间分别是0、7%、28%,其他容量依此类推。
还有SSD具有三级OP空间的,分配方式就很自由了,但是三级OP往往要牺牲部分用户可用空间,所以很多消费级SSD都没有三级OP空间,而企业级SSD中通常需要配置三级OP空间以便在大量数据读写中保持性能。
除了第一级OP空间,有些厂商允许用户自定义OP空间大小,比如三星、Fusion-IO的工具软件就有这样的功能,玩家可以根据自己的需要配置。
简单来说,OP空间可以简单理解为SSD预留的交换空间,从前面的介绍来看,OP空间在GC垃圾回收、WL耗损平衡、减少写入放大等多个方面都有作用,具体如何应用要取决于SSD主控算法,具体如何应用要取决于SSD主控算法了。
随着技术的进步,二级OP空间的必要性也在降低,以SF主控为例,原本保留的7% OP空间逐渐被释放出来,用户的可用空间可以增加16GB左右,120GB型号也可以增加8GB左右,虽然不是很多,但是对普通用户来说还是好事一件。
消费类的固态硬盘可能需要其7%或更多的空白容量来支持合理的垃圾收集功能,确保垃圾收集程序和Flash控制器总能有额外的可用空间进行工作。(例如Crucial的MX200/MX100保留了业界标准的7%容量做消费者无法访问的空白区)
总结:
新硬盘空间容量并不是硬盘空间丢失,而是硬盘商换算的单位是整数,而操作系统是以1024为倍数换算的,这样的出厂方式是硬盘市场的“行业规则”。预期说是潜规则不如说是厂商在用户前期不懂的情况下让用户慢慢的接受了这个事实,明白了这个原理之后已经成为了一种可怕的商业习惯也就不了了之了。