SSD工作原理
从主机PC端开始,用户从操作系统应用层面对SSD发出请求,文件系统将读写请求经drive转化为相应的符合协议的命令,SSD收到命令执行相应操作,然后输出结果。
对SSD来说,输入的是Command,输出是Data和Command Status。SSD前端(Front End)接受用户命令请求,经过内部处理,输出用户请求的数据或状态。
SSD前端负责和主机直接进行通信,接受主机发来的命令和相关数据,命令经SSD处理后,最终交由前端返回命令状态数据给主机。
SSD通过SATA、SAS、PCle等类型接口与主机相连,遵守相应的ATA、SCSI、NVMe协议。如下表所示:
| 接口类型 | 协议命令 | 主机控制器接口 | 标准组织 | 文档链接 |
|---|---|---|---|---|
| SATA | ATA/SATA Command Set | AHCI(Advanced Host Controller Interface) | ATA-IO | SATA Spec |
| SAS | SCSI Command Set | SCSI | T10 of INCITs | SCSI Express |
| PCle | NVMe Command Set | NVMe | PCle Express/NVM Express | nvm Express |
下面是SSD系统调用的一张简要示意图:

从图中可以看出,SSD主要有三大功能模块组成:
- 前端接口和相关协议模块
- 中间FTL层(Flash Translation Layer)模块
- 后端和闪存通信模块
SSD的写和读操作
主机通过接口发送写命令给SSD,SSD接收到命令后执行,并接受主机将要写入的数据。数据一般会先缓存在SSD内部的RAM中,FTL为每个逻辑数据块分配一个闪存地址,当数据凑到一定数量后,FTL发送写入闪存请求给后端,后端根据写请求,把缓存里的数据写到对应的NA

本文详细介绍了SSD的工作原理,包括前端接口、FTL层和后端通信模块的功能。SSD的写和读操作涉及到数据缓存、逻辑地址到物理地址的映射以及FTL的管理。核心参数如容量、存储介质和性能指标(IOPS、吞吐量、时延)对SSD的性能有重要影响。此外,数据可靠性通过UBER、PBER和MTBF等指标进行评估。文章还讨论了闪存的不同类型(SLC、MLC、TLC)及其特性。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



