固态硬盘存储原理

机械硬盘存储

机械硬盘是利用磁性极粒来存储数据的,所以机械硬盘通常又被称作磁盘

存储器发展历史:

https://mp.weixin.qq.com/s/lUqLnc0Nl989-jLH8jhDng

固态硬盘存储

固态硬盘主要由主控、缓存、闪存组成,纯电子结构,固态硬盘存储数据的基本存储单元是"浮栅晶体管",基本结构有:存储电子的浮栅层,控制极G、衬底P、源极D与漏极S。浮栅被二氧化硅包裹,和上下绝缘,即使在去除电压之后,栅极内的电子也会被捕获,断电时也能保存电子,这就是固态硬盘掉电也能存储数据的原理。

将浮栅层中的电子数量高于一定值计为0,低于一定值计为1

写入数据:

写入数据时,需要在控制极G施加一个高压,这样电子就可以穿过隧穿层,进入浮栅层,因为有绝缘层的存在,电子不能再向前移动了,就被囚禁在了浮栅层。而当我们把电压撤去,这些电子依然会被囚禁在浮栅层,因为隧穿层本质上也相当于绝缘体,所以电子们只能被关押着,这样一位数据就被存储进去了。这些电子能被"囚禁"多长时间也就是固态硬盘能够存储数据的年限,一般一块新的固态硬盘能够保存数据的年限为10年。因为随着时间的流逝,不断地有电子"越狱"成功。等"越狱"的电子多到一定的数量,我们保存的数据就不见了。

擦除数据:

我们擦除固态硬盘上的数据其实就是在释放这些可怜的电子,即在衬底上施加高压,这样电子被吸出来,信息也就被擦除了。

读取数据

当浮栅层中不存在电子时(存储数据为1),我们给控制级一个低压,由于电压低,电子只能被吸引到靠近隧穿层的位置,却无法穿过隧穿层,因而源极漏极可以导通,形成电流。如果检测到电流,那么说明它没有储存电子,则读取数据为1。

当浮栅层中存在电子时(存储数据为0),我们还给控制极一个低压,由于浮栅层里面的电子对这些电子有排斥作用,所以电子无法被吸引到靠近隧穿层的位置,源极漏极不会导通,不会形成电流。如果无法检测到电流,那么说明浮栅层储存一定量电子,则读取数据为0。

无数的浮栅晶体管堆叠在一块就可以存储大量的0和1,它们就类似于图书馆当中的书架一样,存储着无限的0101数据。

总结

相对于机械硬盘这种机械结构,固态硬盘这种纯电子结构在存取速度方面的优势就非常突出,在机械硬盘在读取数据之前,需要先摆动磁头臂到对应的磁道上方,再等待对应的扇区转过来。尽管目前的机械硬盘大部分都是7200转/分钟或者5400转/分钟的,看起来已经很快了,但是这两个操作依然会导致大约十几毫秒的延迟。这种延迟对于人类来讲确实微不足道,但是对于计算机内存和CPU来讲,就确实会产生显著影响。而固态硬盘全程都是电子交互,电子信号的速度要远超磁头臂和磁盘这种机械结构。如果你的数据是随机分散在磁盘的各个角落,那机械硬盘需要经过多次的寻道和寻址,多次等待扇区转动到磁头底下,所以机械硬盘在读取分散性文件的时候,性能就显得非常弱,速度很慢,即随机读写性能低下。

固态硬盘

SSD (Solid State Drive)

现在固态硬盘大部分都是用 3D NAND 闪存颗粒

M2(Next Generation FormFactor)

NVMe

NAND 容量大读写都快的特点适合做大容量储存,事实上我们现在的固态硬盘基本都是 3D NAND 闪存;而 NOR 可以就地执行代码和真正随机访问的能力,加上很快的读取速度就非常适合用来装程序文件,比如主板上的 BIOS 通常就是 NOR 闪存