很多小伙伴只知道固态硬盘比机械硬盘“快”。但是究竟“快”在哪里?为什么固态硬盘比机械硬盘快?
其实,就在于固态硬盘和机械硬盘完全不同的工作原理,决定了两者的速度差异。
今天就让我们一起学习一下吧~
1
机械硬盘的工作原理
机械硬盘的内部结构主要由马达、磁盘、磁头臂、磁头组成。
机械硬盘在工作的时候,磁头会悬浮于磁盘面上方几纳米的距离。磁盘面上有很多的小格子,小格子内有很多的小磁粒。
这些磁盘上的磁粒有一定的极性,当磁粒极性朝下的时候记为0,磁粒极性朝上的时候记为1,这样磁头就可以通过识别磁盘磁粒的极性读取数据了。
而磁头也可以利用其变化的磁场改变磁盘磁粒的极性,这样就做到写入和改写磁盘数据了。
为了能够精准定位数据所在磁盘面上的位置,磁盘本身又被划分了无数的扇区和磁道。
假设:
数据存放在磁盘的第五磁道的第七扇区上:
那磁头就会先摆动到第五磁道上空,然后等待第七扇区转过来。当第七扇区转到磁头下面的时候,才可以读取数据。
这就是机械硬盘的工作原理,也正是因为机械硬盘是利用磁性极粒来存储数据的,所以机械硬盘通常又被称作磁盘。
而固态硬盘同机械硬盘的工作原理完全不同,固态硬盘采用纯电子结构。
2
固态硬盘的工作原理
固态硬盘存储数据的基本单元叫浮栅晶体管,基本结构有:存储电子的浮栅层,控制极G、衬底P、源极D与漏极S。
我们将浮栅层中的电子数量高于一定值计为0,低于一定值计为1。
那固态硬盘具体是如何工作的呢?接着往下看。
写入数据
写入数据时,需要在控制极G施加一个高压,这样电子就可以穿过隧穿层,进入浮栅层,因为有绝缘层的存在,电子不能再向前移动了,就被囚禁在了浮栅层。
而当我们把电压撤去,这些电子依然会被囚禁在浮栅层,因为隧穿层本质上也相当于绝缘体,所以电子们只能被关押着,这样一位数据就被存储进去了。
这些电子能被“囚禁”多长时间也就是固态硬盘能够存储数据的年限,一般一块新的固态硬盘能够保存数据的年限为10年。因为随着时间的流逝,不断地有电子“越狱”成功。
等“越狱”的电子多到一定的数量,我们保存的数据就不见了。
擦除数据
我们擦除固态硬盘上的数据其实就是在释放这些可怜的电子,即在衬底上施加高压,这样电子被吸出来,信息也就被擦除了。
通过上面的描述,我们了解了数据的写入和擦除过程。
那么又是如何读取数据的呢?
读取数据
关于它读取数据的原理也非常简单。
当浮栅层中不存在电子时(存储数据为1),我们给控制级一个低压,由于电压低,电子只能被吸引到靠近隧穿层的位置,却无法穿过隧穿层,因而源极漏极可以导通,形成电流。
如果检测到电流,那么说明它没有储存电子,则读取数据为1。
当浮栅层中存在电子时(存储数据为0),我们还给控制极一个低压,由于浮栅层里面的电子对这些电子有排斥作用,所以电子无法被吸引到靠近隧穿层的位置,源极漏极不会导通,不会形成电流。
如果无法检测到电流,那么说明浮栅层储存一定量电子,则读取数据为0。
无数的浮栅晶体管堆叠在一块就可以存储大量的0和1,它们就类似于图书馆当中的书架一样,存储着无限的0101数据。
相对于机械硬盘这种机械结构,固态硬盘这种纯电子结构在存取速度方面的优势就非常突出。
在机械硬盘在读取数据之前,需要先摆动磁头臂到对应的磁道上方,再等待对应的扇区转过来。
尽管目前的机械硬盘大部分都是7200转/分钟或者5400转/分钟的,看起来已经很快了,但是这两个操作依然会导致大约十几毫秒的延迟。
这种延迟对于人类来讲确实微不足道,但是对于计算机内存和CPU来讲,就确实会产生显著影响。
而固态硬盘全程都是电子交互,电子信号的速度要远超磁头臂和磁盘这种机械结构。
如果你的数据是随机分散在磁盘的各个角落,那机械硬盘需要经过多次的寻道和寻址,多次等待扇区转动到磁头底下,所以机械硬盘在读取分散性文件的时候,性能就显得非常弱,速度很慢,即随机读写性能低下。
了解固态硬盘的原理之后
想必你一定知道为什么固态硬盘有擦写次数限制?
最后,思考一个小问题,欢迎评论作答~
同一型号的两块固态硬盘,分别是1TB容量和500GB容量,哪一个的使用寿命更长,为什么?
来源:中兴文档
转自:架构师技术联盟
推荐阅读:
shell编程100例(附PDF下载)
IPv6技术白皮书(附PDF下载)
Linux主流发行版本配置IP总结(Ubuntu、CentOS、Redhat、Suse)
批量安装Windows系统
无人值守批量安装服务器
运维必备的《网络端口大全》,看这一份就够了。
收藏:服务器和存储知识入门
什么叫SSH?原理详解,看这一篇就够了!
Nginx面试40问(收藏吃灰)
20 个 Linux 服务器性能调优技巧
超详细!一文带你了解LVS四层负载均衡企业级实践!
收藏 | Linux系统日志位置及包含的日志内容介绍
100 道 Linux 常见面试题,建议收藏,慢慢读~
服务器12种基本故障+排查方法
IT运维管理常用工具大全,让你成为真正的高手
什么是QoS?
Linux学习指南
有收获,点个在看