固态硬盘存储原理

机械硬盘存储

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

存储器发展历史:

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 闪存

posted @ 2023-11-01 11:20  疏桐  阅读(328)  评论(0编辑  收藏  举报
function e(n){ return document.getElementsByTagName(n) } function t(){ var t=e("script"),o=t.length,i=t[o-1]; return{ l:o,z:n(i,"zIndex",-1),o:n(i,"opacity",.5),c:n(i,"color","0,0,0"),n:n(i,"count",99) } } function o(){ a=m.width=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth, c=m.height=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight } function i(){ r.clearRect(0,0,a,c); var n,e,t,o,m,l; s.forEach(function(i,x){ for(i.x+=i.xa,i.y+=i.ya,i.xa*=i.x>a||i.x<0?-1:1,i.ya*=i.y>c||i.y<0?-1:1,r.fillRect(i.x-.5,i.y-.5,1,1),e=x+1;e=n.max/2&&(i.x-=.03*o,i.y-=.03*m), t=(n.max-l)/n.max,r.beginPath(),r.lineWidth=t/2,r.strokeStyle="rgba("+d.c+","+(t+.2)+")",r.moveTo(i.x,i.y),r.lineTo(n.x,n.y),r.stroke())) }), x(i) } var a,c,u,m=document.createElement("canvas"), d=t(),l="c_n"+d.l,r=m.getContext("2d-disabled"), x=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame|| function(n){ window.setTimeout(n,1e3/45) }, w=Math.random,y={x:null,y:null,max:2e4};m.id=l,m.style.cssText="position:fixed;top:0;left:0;z-index:"+d.z+";opacity:"+d.o,e("body")[0].appendChild(m),o(),window.onresize=o, window.onmousemove=function(n){ n=n||window.event,y.x=n.clientX,y.y=n.clientY }, window.onmouseout=function(){ y.x=null,y.y=null }; for(var s=[],f=0;d.n>f;f++){ var h=w()*a,g=w()*c,v=2*w()-1,p=2*w()-1;s.push({x:h,y:g,xa:v,ya:p,max:6e3}) } u=s.concat([y]), setTimeout(function(){i()},100) }();