SSD的输入是命令(Command),输出是数据(Data)和命令状态(Command Status)。SSD前端(Front End)接收用户命令请求,经过内部计算和处理逻辑,输出用户所需要的数据或状态。
SSD的系统调用:
SSD前端负责和主机直接通信,接收主机发来的命令和相关数据,命令经SSD处理后,最终交由前端返回命令状态或数据给主机。主机通过接口发送写命令给SSD,SSD接收到该命令后执行,并接收主机要写入的数据。数据一般会先缓存在SSD内部的RAM中,FTL会为每个逻辑数据块分配一个闪存地址,当数据凑到一定数量后,FTL便会发送写闪存请求给后端,然后后端根据写请求,把缓存中的数据写到对应的闪存空间。
除了完成逻辑数据到闪存空间的映射,FTL还需要实现坏块管理、读干扰处理、数据保持处理、错误处理等很多其他事情。
参考资料:《深入浅出SSD:固态存储核心技术、原理与实战》