固态硬盘大家都不陌生,大多数人对固态硬盘的了解就是固态硬盘比机械硬盘快,那为什么固态硬盘比机械硬盘快?固态硬盘比机械硬盘快多少?对于我们的体验影响能有多少?亿说电脑张一亿通过详解固态硬盘和机械硬盘的原理来告诉大家答案。
一、机械硬盘的工作原理
先说说机械硬盘的工作原理,硬盘的主要结构有马达、磁盘、磁头臂、磁头。机械硬盘在工作的时候磁头会悬浮在硬盘表面上几纳米,磁盘面上有很多的小格,小格内又有很多的小磁粒,这些磁粒具有一定的极性,当磁粒的极性冲下的时候视为0,磁粒极性冲上的时候视为1,这样读取磁头就可以做到读取数据了。而写入磁头可以利用磁场改变磁粒的极性,这样就可以做到写入和改写数据了。为了能够精准的定位数据所在磁盘面的位置,磁盘本身又被划分了无数的扇区和磁道,所设有一个数据在第四磁道第六扇区上,磁头会优先摆动到第四磁道上空然后等待着第六扇区转过来,当第六扇区转到磁头下面的时候就可以读取它的数据了,这便是机械硬盘的工作原理了。正是因为机械硬盘是利用磁粒极性来存储数据的,所以机械硬盘又被叫做磁盘。
二、固态硬盘的工作原理
相比机械硬盘而言,固态硬盘就比较高级了,固态硬盘是量子力学的实际应用,它存储数据的基本单元叫浮栅晶体管,浮栅晶体管的基本结构主要有四个:存储电子的浮栅级、控制极、P极、原极和漏极。浮栅当中存储着一定的电子,电子数量高于一定的值就是0,低于一定值就是1。往控制极施加电压,原极和漏极如果导通了就说明浮栅里存在大量的电子,判断为0;如果没有导通说明浮栅里没有或者有少量的电子,判断为1。这样就可以实现读取数据了。而写入或者改写数据的时候往P极施加电压,就可以从浮栅中析出电子,而往控制极施加电压就可以吸回电子,这样就可以进行写入和改写操作了,这便是固态硬盘的工作原理。
三、固态硬盘的组成部分
无数的浮栅堆叠在一块就可以存储大量的0和1的数据,这个东西就是NAND颗粒,就是固态硬盘表面那些一个一个的黑块。硬盘的主要结构除了颗粒以外还有另外两个个重要的部件就是主控和缓存,主控控制着固态硬盘的数据流入与流出,并针对NAND颗粒里的数据进行管理与分配,缓存用于主控和颗粒之间的交互。(图)
四、固态硬盘与机械硬盘对比
通过对比机械硬盘和固态硬盘的原理,我们发现相对于固态硬盘这种纯电路结构,机械硬盘实际上是存在很多弊端的。
机械硬盘延迟很高,在读取数据之前需要先摆磁头臂到对应的磁道上,还要等待扇区转过来,现在台式机用的机械硬盘大部分都是7200转/分钟,笔记本5400转/分钟,这两个操作会导致大约十几毫秒的延迟,十几毫秒对我们来说可能微不足道,但是对于动辄几千兆赫兹的内存和几G赫兹的CPU来讲就显得太高了。而固态硬盘全程都是电子交互,电气信号的速度肯定要远远超过磁头臂的磁盘这种机械结构。此外如果我们的数据是随机分散在磁盘的各个角落的话,机械硬盘就需要经过多次的寻道和寻址,多次等待扇区转动到磁头底下,以至于机械硬盘在读取分散文件时性能就会显得异常的弱鸡,这就是我们所说的随机读写性能低下。
五、固态硬盘与机械硬盘性能测试
机械硬盘到底有多慢呢,用一组数据说明一下,亿说电脑张一亿通过测试软件ASSSD来测试了一下数据,这个软件可以快速的反馈磁盘的基本性能,当然了,数据我们只是参考并不能代表实际体验效果。分别测试机械硬盘、SATA3固态硬盘和M.2 NVME固态硬盘,如下图:
(1)第一个参数是连续读写,这个参数主要影响单个或几个数量比较少的独立大文件,比如几个G的电影或是几个G的压缩包这类的数量不多但单个体积庞大的连续性文件。读写这部分数据的时候就会涉及到连续读写,大部分情况就是拷贝电影、复制压缩包或者很多的大图片之类的。所以这个参数对于日常使用的体验影响并不是很大。如果数据连续分布在机械硬盘的扇区上的话只需要一次寻道就可以读取了,所以机械硬盘连续读写的速度还是可以的,大部分的机械硬盘都可以做到100MB-200MB/秒。而SATA3固态硬盘因受制于接口最多能跑到500MB/秒。M.2 MVME固态则可以达到2GB/秒。
(2)第二个参数为单线程4K随便读写,这个是测试体积不大但数量很多的分散性文件,比如我们玩的游戏或是我们用的操作系统,它是由无数个几十KB几百KB最多几MB的零散文件组成的。这种读写操作由于单个文件不大很快就能完成,但是读取完一个数据后马上就要找到下一个数据再进行读取,然后读取完了再找下一个,所以这个4K随便读写就是考验硬盘的寻道和寻址能力,然而机械硬盘我刚刚说了它随机读取性能低下,因些可以看到在单线程4K读写速度上机械硬盘连1MN/秒都达不到,但是我们平用的用大部分软件和操作系统都是无数零散小文件组成的,所以这个参数最影响我们日常使用体验的!再来看SATA2固态硬盘可以达到40MB/秒,M.2 NVME固态硬盘甚至达到了60MB/秒。单这一个参数,固态硬盘完爆机械硬盘!
(3)第三个参数为64线程的随机读写,它是指一次做多个单线程的4K读写,因为我们的软件在请求数据的时候不太可能只要一串数据,大多数情况下它会同时需要很多的数据,这时候就需要同时进行多个线程的4K随机读写,专业点说就是多线程4K随机读写,这里测试的就是并发64线程的随机读写。我们看到机械硬盘的速度还是少的可怜,只有2MB/秒。再看看SATA2固态硬盘和M.2 NVME固态硬盘的速度,轻轻松松几百MB上千MB,又一次完爆了机械硬盘!
(4)第四个参数为访问延迟,这个比较好理解,机械硬盘延迟为十几毫秒,两个固态硬盘都是零点几毫秒。
六、总结
通过亿说电脑张一亿用ASSSD测试出的四个参数,我们能体会到机械硬盘在固态硬盘面前到底有多慢了吧。当然这个参数只是用来参考的,并不是分数越高速度就一定越快,因为很多固态硬盘的跑分并不能做到全盘的速度都这么快,大部分硬盘为了提高性能主控并不是直接访问NAND颗粒本身的,在颗粒与主控板之间有一个缓存,主控交互数据的时候优先和缓存进行交互,缓存在空闲的时候把数据写入颗粒。所以我们跑出1G的数据有可能是跑的缓存的性能,很多的固态硬盘缓存跑完之后主控只能直接和颗粒进行交互,这时候就会出现阶梯式的性能下降,这就导致了有些硬盘跑分很高,但实际用起来缓存一爆马上原形毕露了。所以我在前面就讲了ASSSd测试的数据只能用作参考,你可不能全信哦!
因上述原因,所以很多搞硬盘营销的往往拿着跑出几G的ASSSD的测试结果给大家看,大家千万不要被蒙蔽了,其实根本没有参考价值的。经过亿说电脑张一亿的深入详解,现在大家对机械硬盘和固态硬盘的速度是不是有了更深入的了解了呢!