SSD学习小结(一)

SSDvsHDD

传统的HDD是“马达+磁头+磁盘”的机械结构

SSD则是“闪存截止+主控”的半导体存储芯片结构

image-20201207085126089

image-20201207085134371

SSD基本工作原理

​ 从主机PC端开始,用户从操作系统应用层面对SSD发出请求,文件系统将读写请求经驱动转化为相应的符合协议的读写和其他命令,SSD收到命令执行相应操作,然后输出结果。

SSD的输入是命令(Command)

输出是数据(Data)和命令状态(Command Status)

SSD前端接收用户命令请求,经过内部计算和处理逻辑,输出用户所需要的数据或状态。

SSD主要由三大功能模块组成:

image-20201207092242358

①前端接口和相关的协议模块

②中间的FTL层(闪存翻译层)模块

③后端和闪存通信模块

SSD前端负责和主机直接通信,接收主机发来的命令和相关数据,命令经SSD处理后,最终交由前端返回命令状态或数据给主机。SSD通过诸如SATA、SAS和PCIe等接口与主机相连,实现对应的ATA、SCSI和NVMe等协议。

垃圾回收:

在Block x和Block y上有很多垃圾数据,其中Block x上的A、B、C为有效数据,Block y上的D、E、F、G为有效数据。垃圾回收就是把一个或者几个Block上的有效数据搬出来集中写到某个空闲Block上(比如Block z)。当这些Block上的有效数据都搬走后,FTL便能擦除这些Block,然后又能把这些Block拿出来供SSD写入新的数据了。

image-20201207100753098

磨损均衡(wear leveling):FTL必须尽量让每个闪存块均衡写入,延长闪存颗粒寿命。

地址映射:将文件系统的逻辑地址映射到flash的物理地址上

闪存的物理结构

闪存是一种非易失性存储器,掉电数据不会丢失。闪存的即本存储单元(cell)是一种类NMOS的双层浮栅(floating gate)MOS管。

image-20201207105703387

​ 浮栅晶体管结构

在源极(Source)和漏极(Drain)之间电流单向传导的半导体上形成存储电子的浮栅,浮栅上下被绝缘层包围,存储在里面的电子不会因为掉电而消失

image-20201207105757608

写操作是在控制极加正电压,使电子通过绝缘层进入浮栅极。

擦除操作则正好相反,是在衬底加正电压,把电子从浮栅极中吸出来。