SSD构成

SSD:Solid state drive
组成:主控,闪存nand flash,缓存芯片DRAM
与HDD的区别:HDD是“马达+磁头+磁盘”

Nand Flash

Channel:通道
提到一个固态硬盘的通道数量,多数时候说的是闪存通道,但M.2 NVMe固态硬盘会有PCIE通道的参数。我们这里谈的是前者。
闪存通道数量直接反映了固态硬盘的并发读写能力。可以简单理解为马路上有多少条车道,显然通道数量越多,理论性能越好。
CE:片选信号
紧跟闪存通道之后的往往就是CE数量。经常可以在一些固态硬盘评测中看到这样的介绍,某某主控支持X通道,每通道支持Y CE。CE是Chip Enable片选的缩写。除了通道可以并行提升吞吐量之外,多CE交错也可以提高固态硬盘性能。主控的闪存通道以及每通道支持的CE数量还会影响它最终能够提供多大的固态硬盘容量
Die:这里并不是死的意思
Die也被称作LUN(逻辑单元),也是闪存内可执行命令并回报自身状态的最小独立单元。
单Die容量是衡量闪存技术先进性的一个指标。单Die容量越大意味着闪存存储密度越高,做出来的固态硬盘容量也就越大
Plane:面
一个闪存Die可以拥有1到多个Plane面
Block:块
接下来就到了微观领域,通常是无法直接看到外观的层级。NAND闪存自问世那一刻起就有一个恒定不变的使用要求:写入(Program)数据前必须先进行擦除(Erase),而闪存的最小擦除单位就是Block块。
Page:页
每个Block都是由数百乃是数千个Page页组成的,而Page的意义也非比寻常,它是闪存当中能够读取合写入的最小单位。当前闪存的一个Page通常是16KB,如果你需要读取512字节的数据,那在闪存层面上就必须把包含这512字节数据的整个Page页内容全部读出(实际发生的读取16KB)。
Cell:单元
每个16KB的Page页又是由大量的Cell单元构成。Cell是闪存的最小工作单位,执行数据存储的任务。闪存根据每个单元内可存储的数据量分成SLC(1bit/Cell)、MLC(2bit/Cell)、TLC(3bit/Cell)和QLC(4bit/Cell),成本依次降低,容量依次增大,耐用度也依次降低。目前3D TLC是闪存的主力类型,优质的原厂闪存配合具备LDPC纠错的主控,可以实现3000次左右的擦写寿命,与过去2D平面MLC闪存接近。
SSD综述 - 图1

Nand Flash 里各组成作用

  1. NAND芯片内部分为die, plane,block, page
    2. chip是指芯片,一个封装好的芯片就是一个chip
    3. die是晶圆上的小方块,一个芯片里可能封装若干个die,由于flash的工艺不一样,技术不一样,由此产生了die的概念,常见的有Mono Die,a Die, b die等,一个chip包含N个die
    4. plane是NAND能够根据读、写、擦除等命令进行操作的最小单位,一个plane就是一个存储矩阵,包含若干个Block
    5. Block是NANDFlash的最小擦除单位,一个Block包含了若干个Page
    6. Page是NANDFlash的最小读写单位,一个Page包含若干个Byte

    NAND Flash SSD 是如何生产出来的?

    https://blog.csdn.net/swingwang/article/details/78883645

    性能测试工具

    连续读写吞吐量(Throughput)工具,随机读写IOPS工具
    例如:IoMeter,FIO,PCMark vantange

    功耗

    SATA SSD 功耗为5W,待机时可降到毫瓦(mW)
    HDD6-8W
    业界定义的功耗
    峰值功耗(Peak Power),读写功耗(Active Power),空闲功耗(Idle Power),省电功耗(Sleep Power
    Standby Power 启动SSD内部休眠,尽可能多的关掉不工作的硬件模块)

系统Power State(SATA SSD作为OS盘):

·S0:工作模式,OS可以管理SATA SSD的Power State,D0或者D3都可以。
·S1:是低唤醒延迟的状态,系统上下文不会丢失(CPU和Chipset),硬件负责维持所有的系统上下文。
·S2:与S1相似,不同的是处理器和系统Cache上下文会丢失(OS负责维护Cache和处理器上下文)。收到唤醒要求后,从处理器的reset vector开始执行。
·S3:睡眠模式(Sleep),CPU不运行指令,SATA SSD关闭,除了内存之外的所有上下文都会丢失。硬件会保存一部分处理器和L2cache配置上下文,从处理器的reset vector开始执行。
·S4:休眠模式(Hibernation),CPU不运行指令,SATA SSD关闭,DDR内容写入SSD中,所有的系统上下文都会丢失,OS负责上下文的保存与恢复。
·S5:Soft off state,与S4相似,但OS不会保存和恢复系统上下文。消耗很少的电能,可通过鼠标键盘等设备唤醒。

性能剖析

性能指标

IOPS(Input Output Operations Per second):反应的是随机读写性能
单位IOPS,即设备每秒完成IO请求数,一般是小块数据的响应次数,比如4KB数据块尺寸。IOPS数字越大越好

吞吐量(Throughput):反应的是顺序读写性能
单位是MB/s,即_
每秒读写命令完成的数据传输量,也叫带宽(Bandwidth),一般是大块数据读写命令,比如512KB_数据块尺寸。吞吐量越大越好**

Response Time/Latency(响应时间/时延)
单位ms毫秒 us微秒,即每个命令从发出到收到状态回复所需要的响应时间,时延指标有平均延迟(Average __Latency)最大时延(Max Lantency)两项。响应时间越小越好
_

访问模式

性能测试设计上要考虑访问模式

  • Random/Sequential:随机和连续数据命令请求。前后两条命令LBA地址是连续地址称为Sequential,不连续的称为Random
  • Block Size:块大小,即单条命令传输的数据大小,性能测试从4KB—512KB不等。随机测试一般用小数据块,比如4KB,顺序测试一般用大数据块,比如512KB
  • Read/Write Ratio:读写命令数混合的比例

    1. 顺序读测试:指的是LBA连续读,块大小为256KB512KB等大尺寸数据块,读写比例100%:0<br /> 随机写测试:指的是LBA不连续的写,块大小一般为4KB,读写比例为0100%<br /> 随机混合读写:指的是LBA不连续的读写混合测试,块的大小一般为4KB,读写保持一定比例

寿命剖析

DWPD:drive write per day
200GB SSD五年使用期限内对应的寿命是3600TB,平均到每天可以写入3600TB/(5×365)=1972GB,这块盘本身200GB,1972GB相当于每天写入10次,也就是规范书说的10Drive Writes Per Day,简称10DWPD。DWPD为5年的寿命期内每天可以满盘写入的次数。
盘的总写入寿命/使用时长=每天写入的量
每天写入的量/盘的本身大小=n DWPD

TBW 盘的总写入量

数据可靠性剖析

SSD有几个关键指标来衡量其可靠性:UBER、RBER和MTBF。
·UBER:Uncorrectable Bit Error Rate,不可修复的错误比特率。一种数据损坏率衡量标准,等于在应用了任意特定的错误纠正机制后依然产生的每比特读取的数据错误数量占总读取数量的比例(概率)
闪存有天然的数据比特翻转率。主要有以下几种原因导致:
·擦写磨损
·擦写磨损(P/E Cycle)。
·读取干扰(Read Disturb)。
·编程干扰(Program Disturb)。
·数据保持(Data Retention)发生错误。
·RBER:Raw Bit Error Rate,原始错误比特率。
·MTBF:Mean Time Between Failure,平均故障间隔时间。

SSD的工作原理、GC和TRIM、写入放大以及性能评测

https://blog.csdn.net/scaleqiao/article/details/50511279