本篇文章算是这个系列的第二篇。第一篇的USB感觉着实有点太复杂了(毕竟USB本来就很复杂,再加上我拓展了不少,把我能想到的全都写到了)。写完这个之后,我想写一下电脑重要的部件。当然,我不会从CPU来讲,因为对于用户而言,我们不太需要知道CPU是怎么工作的,毕竟CPU的调度由操作系统给我们代劳了,我们基本不用管。并且,每一年的常用的CPU型号就那么多,笔记本电脑也换不了CPU,就不存在升级的问题。
因此,接下来我选择要讲解的硬件的原则就是:需要我们用户自己去关心、维护甚至调度,直接影响使用体验,可能存在升级问题,易混淆。满足这些条件的也就是内存和硬盘了(当然,也不是说操作系统不会调度内存,但是内存比较影响使用体验,也是大家应该去关心运行状态的一个部件,其实也就是关心有没有满)。我想了一下,还是先从硬盘讲起。
硬盘是目前常见的外存(还有U盘、磁带、软盘等等),外存是长期存储数据的地方,它的好处在于:只要你保存了,即使断电,数据也会依然存在。机械硬盘已经存在了很多年,这里不讨论已经淘汰的技术。从容量上来看,目前机械硬盘都是1T起,再低的都是二手或者库存。我相信不少对电脑一窍不通的人也听说过固态硬盘这个东西,也听说固态硬盘能极大地提升电脑速度。
机械硬盘
上图是机械硬盘的结构。机械硬盘利用磁盘上面的磁来存储数据,我们根据磁盘上的一个个区域的磁场是向上还是向下来区分0,1(对比早期是利用左和右,所以现在的叫垂直式)。在磁盘高速旋转时(7200或5400转每分钟),让磁头改变磁道(也就是磁盘的内圈还是外圈),找到对应的扇区(就是角度),来找到数据。
对数据的操作有两种,一种是读,一种是写。读的话就是把硬盘的数据解析出来,它不改变原有的数据;写就是把信息写入硬盘中(机械硬盘就是改变磁极),原有的信息就消失了。因此,我们将写称为一种破坏性的操作。读写不仅适用于机械硬盘,也适用于固态硬盘和内存(虽然原理不太一样)。
由于我们查找数据的时候依赖磁头寻道和磁盘转动,所以会比较慢。这个问题在你随机读写的时候表现尤为明显。比如说,你想访问外磁道某个扇区上的文件,接下来要访问内圈磁道的文件,然后要访问中间某磁道的文件……除了你的磁头要移动到对应的磁道需要花费时间(寻道时间),还需要等到你的磁盘转到你的文件的位置(转动延迟),如果你想访问的数据刚好在寻道完成的时候转了过去,那么对不起,请再等一圈。因此,机械硬盘随机读取的速度很慢。我用AS SSD软件测试的时候,测试1G的4k随机读取和随机写入(每个文件大小4k,总共1G的读取和写入)速度均只有不到1MB/s。而电脑中这种4k左右大小的小文件有很多,所以机械硬盘加载软件(包括系统)特别慢。
与随机读写相对应的就是顺序读写。这个场景就是你读取或者写入一个大型文件,比如一部电影或者一个大的压缩包。顺序读写要比随机读写快很多,机械硬盘的顺序读取速度大约是110MB/s,顺序写入大约是80MB/s。
下面说一下叠瓦式硬盘(SMR)。叠瓦式硬盘和传统硬盘不同,它采用了磁道重叠技术(类似瓦片堆叠),也就是读取的时候没什么差别,但是写入的时候不仅修改目标磁道,而且可能会牵连到附近的磁道。这个技术可以让硬盘在更小的体积内装入更多的数据(因为这样可以少用几个磁盘,磁盘与磁盘之间是垂直排列的),尤其是寸土寸金的笔记本内。目前几乎所有笔记本硬盘都是2.5英寸叠瓦式硬盘(当然,随着固态硬盘降价,越来越多的电脑厂商在轻薄本内放弃了机械硬盘)。
SMR让磁道排列得更紧密,带来的问题是:如果你要修改数据,那么会影响到相邻磁道。因此,这类机械硬盘会在写入数据之前,先把原有的数据放入缓存(因此,这类硬盘缓存通常很大,机械硬盘的缓存也是电脑配件中为数不多的不是越大越好的东西),在写入一段时间或者空闲的时候去重新整理数据。因此,这种硬盘会影响顺序写入的速度。但是……叠瓦式机械硬盘和垂直式机械硬盘价格基本一样,同样的钱为什么不买更好的呢?这也是网上大多数人都会吐槽叠瓦式硬盘的原因。
最后说一下品牌。机械硬盘的品牌目前只剩下三家主要的品牌,分别是东芝、西部数据(西数)和希捷。三者价格几乎一样。
固态硬盘
固态硬盘是用固态电子存储芯片阵列而制成的硬盘,因为台湾英语里把固体电容称之为Solid而得名。SSD由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。SSD速度更快,价格也更贵(相比机械硬盘)。
ROM
SSD的芯片是ROM。说起ROM,大家可能会想到中小学信息技术课本里面的RAM和ROM。ROM在中小学的课本里面被翻译成“只读存储器”。这个名字其实很误导人。最开始的ROM确实是只读不写的,里面的程序要么是制造芯片的时候就有的,要么就是芯片做好之后烧录进去(然后就无法再改动了)。后来,人们发明了利用紫外光擦除的RAM芯片。再往后,就有了用电擦除的ROM,换句话说,你可以直接编程擦除了。
由于现在的ROM是既可以读,又可以写的,所以我们的数字电子技术的课程就把它翻译成“非易失性存储器”。其实U盘也是用ROM制作的(移动硬盘一般是2.5寸机械硬盘),主要区别在于主控(就是字面意思,不太好解释)不同。
接口与协议
如果看过我讲USB的话,我相信你已经深深地感受到被接口与协议支配的恐惧。这里讲得尽量简单一些。当然,这里只讲目前常见的,小众的和基本被淘汰的我就不讲了。此外,下面的区分右侧两个m.2接口的硬盘类型并不能100%准确,还是要看商品详情页。
协议 |
SATA |
SATA (NGFF) |
PCIE (NVME) |
接口 |
SATA |
M.2 |
|
两侧或左侧有缺口 |
右侧有缺口 |
||
图片 |
|
|
|
备注 |
无论大小还是接口都和2.5英寸的机械硬盘相同,一般只推荐给没有M.2接口的老电脑用 |
一般都是这样两侧缺口的,大部分M.2都兼容。虽然性能一般,但是也没比第三种便宜多少…… |
几乎都是右侧缺口,注意部分老的M.2不兼容(尤其是有些左边凸起的根本插不进去) |
走的是SATA总线,最多6Gbps |
PCIE*4通道 |
根据我的经验,只要不太差的NVME的固态硬盘,读写速度基本都能达到接近大约1500MB/s(不包括缓外读写,缓存后面再讲),这个是3倍的SATA总线(SATA 3)的速度。目前PCIE总线基本都是第三代,第四代已经有部分CPU和主板支持了,但是目前(2020年6月)绝大多数人都用不上这个速度。第三代PCIE*4通道的最大速度是4000MB/s。当然,速度更快的固态硬盘也更贵。这里也不具体说价格,因为固态硬盘总体来看价格降了很多,但最近波动又比较大。
其实,SATA到NVME虽然速度提升了很多,但是,体验提升并没有那么大。最影响日常体验(系统开机、运行和软件打开)的随机读写速度,固态硬盘较机械硬盘有了质的飞越(从不到1MB/s到几十MB/s),SATA到NVME提升就没有那么强烈,除非你的日常工作就和大型文件的导入导出相关。不过,这两者的价格差不多,甚至出现过有更好的NVME硬盘比M.2的SATA硬盘更便宜的现象。如果你是因为容量问题要换硬盘,还是直接上更好的吧。
补充一下手机端的情况。手机的闪存(就是8 128的128)也相当于是固态硬盘,只不过是协议不同。苹果手机的闪存也是NVME协议(但是可能和电脑端的不太一样,这些细节的东西不太好查找资料);安卓手机目前有两种——一种是用在低端手机上的emmc,另一种是高端机型的UFS。目前,旗舰手机的闪存已经是UFS 3.0甚至是UFS 3.1(3.1似乎也没量产多久,3.0是大概在2019年下半年量产的),稍微低端一点的会用UFS 2.1。
SLC,MLC,TLC,QLC
这几个的区别在于,SLC在一个闪存颗粒里面存放1bit数据,也就是一个0或者1;MLC放入2bit,通过划分的不同电压值来区分0-3;TLC放入3bit;QLC放入4bit。SLC是最早的形态,一个闪存颗粒里面放入一个数据效率最高,但是……太贵。现在主流的操作是,人们将一个闪存颗粒里面挤进去3bit数据(或者说区分8个状态)。也就是说,TLC是目前的主流,价格可以接受,性能也还行。但是,一个颗粒放入3bit的速度不如只放入1bit,于是,人们将一部分TLC颗粒只放入1bit数据来模拟SLC的工作以加快工作速度。这样,只要文件不是太大,就先放入缓存,快速读入,等到空闲的时候再从缓存中拿出来,放入真正的TLC颗粒中。这就是SLC缓存,也就是前面提到缓外读写的缓存。
有些硬盘是单独用一部分颗粒做缓存,这些颗粒不在标注容量内,这是独立缓存;也有些硬盘没有,只是用一部分用来存储的颗粒当缓存。没有独立缓存的缺点在于,存储较多数据后,能拿来当SLC缓存的颗粒就会减少,这样缓存减少,读写性能就会下降。
理论上,一个颗粒里面放入的数据越多,相同容量下的价格也越低,不过读写也越慢。理论上,QLC价格会更低(但是目前我看到的结果是,并不比TLC便宜多少),并且用完SLC缓存后,顺序写入的速度几乎和机械硬盘相当了。不知道以后会不会有大容量的QLC硬盘取代绝大多数的机械硬盘。
寿命与安全性
固态硬盘的寿命不如机械硬盘,并且由于工作原理的关系,固态硬盘一旦损坏,数据很难找回(或者说大多数情况都无法找回)。并且,一个闪存颗粒挤进去的数据越多,损耗越剧烈。目前TLC固态应该可以做到基本与电脑整体寿命差不多(是指正常迭代使用的情况下)。除了闪存颗粒之外,硬盘的主控也是容易损坏的部件。
由于工作原理及损耗的原因,固态硬盘不建议分区。当然,如果你只有一个硬盘,我还是建议你分区的,否则重做系统的话,所有的文件都会消失。
还有就是固态硬盘在接近满盘的时候速度会下降,因此建议保留10%以上的空间。很多厂家也是通过强行修改可用容量来避免使用者存得太满。这就是为什么很多硬盘都会标注120G,480G等奇怪的数值,而不再是像128G,512G这样的“整数”了。
品牌
由于生产固态硬盘的难度比机械硬盘简单很多(只要买来PCB版、闪存颗粒以及主控,然后焊在一起就可以),加上固态又是一个热点,因此固态硬盘品牌众多(基本上不论是生产主板、内存、显卡还是机械硬盘的厂家甚至是很多小厂家都来凑热闹了),这里也不做推荐了。但是,要提醒的是,有些小厂家可能会用闪存颗粒的残次品来生产固态硬盘,那些可以自己生产闪存颗粒的厂家相对更靠谱(别问我都有哪些,自己到B站、百度等地方看评测或者查找资料)。
手机硬盘
我们买手机的时候经常会听到6 128,8 256等,后面的128, 256就是硬盘容量。手机的硬盘也是固态硬盘的一种,不过用的协议和电脑端不太一样。
首先说苹果,苹果手机使用的是NVME协议,和电脑端NVME名称一样,但是实际性能还是有所差距的。
再来说安卓这边。安卓这边有两种协议,一个是UFS,一个是EMMC。后者速度较慢,虽然也在不断迭代,但是始终是比不过同时代的UFS;不过,由于其价格更低,所以还是被用在低端手机上(一般千元以下)。而更主流的是UFS协议。在2019年下半年,旗舰手机大部分都用上了UFS 3.0;2020年,UFS 3.1也开始量产。由于成本的原因加上部分芯片不支持,中端手机大部分还是UFS 2.1。