SSD(Solid State Drive),即固态硬盘,以半导体存储数据,用纯电子电路实现,没有任何机械设备。
HDD(Hard DiskDrive),即传统机械硬盘。
固态硬盘(SSD)原理及相关介绍+SSD基本工作原理 - 程序员大本营
一、SSD与HDD
1.1 两者的异同
1. 相同点
(1)两者的外形、数据传输接口相同;
(2)两者都是存储产品;
2. 不同点
(1)两者有完全不同的 数据存储介质 和 读写方式 。
1.2 相较于HDD,SSD的优势
性能好(速度上)、功耗低、抗震防摔(因为其内部不含任何机械部件)、无噪声(没有马达的高速运转)、身形小巧百变。
1.3 SSD硬件组成
SSD是用固态电子存储芯片阵列制成的硬盘,主要部件为控制器和存储芯片。
SSD的硬件模块由以下几部分组成:主控、闪存、缓存芯片DRAM(可选)、PCB(电源芯片、电阻、电容等)、接口,其主体是一块PCB。
1.4 SSD的存储介质主要为闪存。那么什么是存储介质呢?
按照物理材料的不同,可以将存储介质分为三类:光学存储介质(如DVD、CD等光盘)、半导体存储介质(如SSD)和磁性存储介质(如HDD)。
1.5 SSD基本工作原理
SSD的输入是命令(Command),输出是数据(Data)和命令状态(Command Status)。SSD前端(Front End)接收用户命令请求,经过内部计算和处理逻辑,输出用户所需要的数据或状态。
由下图可看出SSD由三大功能模块组成, 即前端接口和相关的协议模块、中间的FTL层(Flash Translation Layer)模块、后端和闪存通信模块。如下图所示:
SSD前端负责和主机直接通信,接收主机发来的命令和相关数据,命令经过SSD处理后,最终交由前端返回命令状态或数据给主机。
SSD通过诸如SATA、SAS和PCIe等接口与主机的连接,实现对应的ATA、SCSI和NVMe等协议。SATA、SAS和PCIe接口协议如下:
1. SSD如何进行读写?以写为例
主机通过接口发送写命令给SSD,SSD接收到该命令后执行,并接收主机要写入的数据。数据一般会先缓存在SSD内部的RAM中,FTL会为每个逻辑数据块分配一个闪存地址,当数据达到一定数量后,FTL便会发送写闪存请求给后端,然后后端根据写请求,把缓存中的数据写到对应的闪存空间。
FTL用来完成逻辑数据块到闪存物理空间的转换或映射,即SSD内部维护了一张逻辑地址到物理地址转换的映射表。
那么,SSD如何进行读数据?
主机发送读命令后,SSD根据需要读取的逻辑数据块查找映射表,获取逻辑数据在闪存空间所在的位置,然后后端从闪存上读取对应数据到SSD内部缓存空间,接着前端负责把数据返回给主机。
1.6 SSD核心信息
1. 核心信息剖析
(1)SSD容量:是指提供给终端用户使用的最终容量大小,以字节(byte)为单位,以十进制标称。
(2)介质信息:当前SSD盘核心存储介质是闪存。
闪存有其自身的物理参数,如寿命、Program(写编程)、闪存页的大小、闪存块的大小等等,这些介质的好坏直接影响着数据存储的性能和完整性。
闪存分为SLC(速度快)、MLC、TLC(甚至QLC),它指的是一个存储单元存储 的比特数。
2. 性能剖析
(1)性能指标
(2)访问模式
任何测试负荷(workload)都是这些模式的组合,比如|“顺序读测试”,指的是LBA连续读,块大小为256KB、512KB等大尺寸数据块,读写比例为100%:0。
(3)时延指标
时延有平均时延和最大时延两种。其中,平均时延是指整个测试过程所用时间除以命令总数,反应的是SSD整体性能;最大时延是指整个测试周期中响应时间最长的那条,反应的是用户体验。
时延上了秒级,用户就会有明显的卡顿感觉。
时延的大小关乎用户体验和互联网应用快慢的问题。
3. 寿命剖析
衡量SSD寿命主要有两个指标:(1)DWPD(Drive Writes Per Day),即在SSD保质期内,用户可以把盘写满多少次;(2)TBW(Terabytes Written),即在SSD生命周期内可以写入的总的字节数。