SSD产品核心参数
前言
在购买SSD之前,会关注它的一些参数指标,比如能跑多快、用的是什么闪存等。本文将简单介绍SSD产品的核心参数。
SSD产品核心参数
- 基本信息:包括容量配置(Capacity)、介质信息(Component)、外观尺寸(Form Factor)、重量(Weight)、环境温度(Temperature)、震动可靠性(Shock和Vibration)、认证(Certifications)、加密(Encryption)等信息。
- 性能指标:连续读写带宽、随机读写IOPS、时延(Latency)、最大时延(Quality of Service)。
- 数据可靠性和寿命:Reliability、Endurance。
- 功耗:Power Management、Active Power和Idle Power。
- 兼容性等:Compliance、Compatibility(与操作系统集成时参考)
1. 基本信息剖析
1.1 SSD容量
SSD容量是指提供给终端用户使用的最终容量大小,以字节(Byte)为单位。这里要注意,标称的数据都以十进制为单位的,以二进制为单位的容量行业内称为裸容量,以十进制为单位的容量称为用户容量。
十进制128GB:128×1000×1000×1000=128000000000字节
二进制128GB:128×1024×1024×1024=137438953472字节
对于闪存本身,它是裸容量。那么,裸容量多出的在SSD内部做什么用呢?SSD可以利用这多出来的7%空间管理和存储内部数据,比如把这部分额外的空间用作FTL映射表存储空间、垃圾回收所需的预留交换空间、闪存坏块的替代空间等。这里的7%多余空间也可以转换为OP概念(Over Provisioning),公式是:
OP =
S
S
D
裸容量
−
用户容量
用户容量
\cfrac{SSD裸容量 – 用户容量}{用户容量}
用户容量
SS
D
裸容量
−
用户容量
1.2 介质信息
当前SSD盘核心存储介质是闪存,闪存这种半导体介质有其自身物理参数,例如寿命(PE cycles,编程擦除次数)、Program(写编程)、Erase(擦除)和Read(读)时间、温度对读写擦的影响、闪存页的大小、闪存块的大小……这些都是介质的信息,介质的好坏直接影响数据存储的性能和完整性。
闪存分SLC、MLC、TLC(甚至QLC),它指的是一个存储单元存储的比特数。
- SLC(Single-Level Cell)即单个存储单元存储1bit的数据。SLC速度快,寿命长(5万~10万次擦写寿命),但价格超贵(约是MLC 3倍以上的价格)。
- MLC(Multi-Level Cell)即单个存储单元存储2bit的数据。MLC速度一般,寿命一般(约为3k~10k次擦写寿命),价格一般。
- TLC(Trinary-Level Cell)即单个存储单元存储3bit的数据,也有闪存厂家叫8LC,速度慢,寿命短(约500~1500次擦写寿命),价格便宜。
1.3 外观尺寸
细分为3.5寸、2.5寸、1.8寸、M.2、PCIe card、mSATA、U.2等Form Factor标准,每个Form Factor也都有三围大小、重量和接口引脚等明确规范。
2. 性能剖析
硬盘性能指标一般包括IOPS(Input Output Operations Per Second,反映的是随机读写性能)、吞吐量(Throughput,单位MB/s,反映的是顺序读写性能)、Response Time/Latency(响应时间/时延,单位ms或μs)。
2.1 IOPS
单位IOPS,即设备每秒完成IO请求数,一般是小块数据读写命令的响应次数,比如4KB数据块尺寸。IOPS数字越大越好。
2.2 吞吐量
单位MB/s,即每秒读写命令完成的数据传输量,也叫带宽(Bandwidth),一般是大块数据读写命令,比如512KB数据块尺寸。吞吐量越大越好。
2.3 响应时间
也叫时延(Latency),即每个命令从发出到收到状态回复所需要的响应时间,时延指标有平均时延(Average Latency)和最大时延两项(Max Latency)。响应时间越小越好。
3. 寿命剖析
衡量SSD寿命主要有两个指标,一是DWPD(Drive Writes Per Day),即在SSD保质期内,用户每天可以把盘写满多少次;另一指标是TBW(Terabytes Written),在SSD的生命周期内可以写入的总的字节数。
3.1 DWPD
e.g.S3710SSD的Endurance项:200GB SSD五年使用期限内对应的寿命是3600TB,平均到每天可以写入3600TB/(5×365)=1972GB,这块盘本身200GB,1972GB相当于每天写入10次,也就是规范书说的10Drive Writes Per Day,简称10DWPD。DWPD为5年的寿命期内每天可以满盘写入的次数。
3.2 TBW
TBW就是在SSD的生命周期内可以写入的总的字节数,用来表达SSD的寿命指标。
总写入TBW = Capacity(单盘容量) *
N
A
N
D
P
E
C
y
c
l
e
s
(
N
A
N
D
写擦出寿命)
W
A
(写放大)
\cfrac{NAND PE Cycles(NAND写擦出寿命)}{WA(写放大)}
W
A
(写放大)
N
A
N
D
PEC
yc
l
es
(
N
A
N
D
写擦出寿命)
- NAND PE Cycles:SSD使用的闪存标称写擦除次数,如3K、5K。
- Capacity:SSD单盘用户可使用容量。
- WA:写入放大系数,这跟SSD FW的设计和用户的写入的数据类型(顺序写还是随机写)强相关。
TBW和DWPD的计算公式:
DWPD =
T
B
W
Y
e
a
r
s
(
S
S
D
标称使用年限
)
∗
365
∗
C
a
p
a
c
i
t
y
(
单盘容量
)
\cfrac{TBW}{Years(SSD标称使用年限) * 365 * Capacity(单盘容量)}
Y
e
a
rs
(
SS
D
标称使用年限
)
∗
365
∗
C
a
p
a
c
i
t
y
(
单盘容量
)
TB
W
4. 数据可靠性剖析
SSD有几个关键指标来衡量其可靠性:UBER、RBER和MTBF。
- UBER:Uncorrectable Bit Error Rate,不可修复的错误比特率。
- RBER:Raw Bit Error Rate,原始错误比特率。
- MTBF:Mean Time Between Failure,平均故障间隔时间。
为什么会产生错误数据?SSD的存储介质是闪存,闪存有天然的数据比特翻转率。主要有以下几种原因导致:
- 擦写磨损(P/E Cycle)
- 读取干扰(Read Disturb)
- 编程干扰(Program Disturb)
-
数据保持(Data Retention)发生错误
虽然SSD主控和固件设计会用纠错码(ECC)的方式(可能还包括其他方式,如RAID)来修正错误数据,但错误数据在某种条件下依然有纠不回来的可能,所以需要用UBER让用户知道数据误码纠不回来的概率。闪存原始的数据比特翻转加上BCH码(一种ECC纠错算法)经ECC校验码保护后,可以计算转换到UBER。影响UBER最核心的因素是RBER。
5. 功耗和其他剖析
SSD定义了以下几种功耗类型:
- 空闲(Idle)功耗:当主机无任何命令发给SSD,SSD处于空闲状态但也没有进入省电模式时,设备所消耗的功耗。
- Max active功耗:最大功耗是SSD处于最大工作负载下所消耗的功耗,SSD的最大工作负载条件一般是连续写,让闪存并发忙写和主控ASIC满负荷工作,这时的功耗值对应最大功耗。
- Standby/Sleep功耗:规范规定了SSD状态,包括:Active、Idle、Standby和Sleep,功耗值从Active到Sleep逐级递减,具体的实现由各商家自行定义。一般来讲,在Standby和Sleep状态下,设备应尽可能把不工作的硬件模块关闭,降低功耗。一般消费级SSD Standby和Sleep功耗为100~500mW。
- DevSleep功耗:这是SATA和PCIe新定义的一种功耗标准,目的是在Standby和Sleep基础上再降一级功耗,配合主机和操作系统完成系统在休眠状态下(如Hibernate),SSD关掉一切自身模块,处于极致低功耗模式,甚至是零功耗。一般是10mW以下。