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以下。
 
