快讯
HOME
快讯
正文内容
nand erase block Solidigm推动Physical Stream技术,提升QLC SSD寿命与性能(一)
发布时间 : 2024-10-06
作者 : 小编
访问数量 : 23
扫码分享至微信

Solidigm推动Physical Stream技术,提升QLC SSD寿命与性能(一)

摘要

为了解决 SSD 的写放大、GC 等问题带来的挑战,给业务提供更强大的存储能力支撑,释放数据价值,Solidigm 基于业界领先的QLC SSD 定义了一种新型的存储方案:Physical Stream。Physical Stream 支持在 Stream Mode 与 Non-Stream Mode 功能之间灵活进行切换。在切换为 Stream Mode 时,该方案能够通过减少写放大等方式提升 SSD 的耐用性,同时提升带宽以及每秒读写次数 (IOPS) 性能,也降低了IO 时延,从而避免了硬件改造所带来的成本支出。

此外,围绕客户业务层应用需求,Solidigm在应用场景优化了 Physical Stream的软硬件方案的产品适配工作。并且通过业务 I/O 工具进行了模拟真实场景测试,证明该方案可以实现更高的性能密度、更低的成本、更高的带宽与更高的 SSD 耐用性,为多云内容分发网络 (CDN)、RocksDB 业务的快速发展提供云存储助力,帮助最终用户高效释放数据价值。

概述

由于在性能上具备突出优势,以及拥有成本的持续降低,基于 NVMe 协议的固态盘(SSD) 在各行各业中得到了快速的应用,并成为主流的存储设备。在此趋势下,推动 SSD 的创新,提升 SSD 的性能、耐用性,并降低拥有成本也就具有尤为重要的意义。其中一个棘手的挑战在于,SSD 在使用过程中可能出现写放大、垃圾回收 (GC) 等现象,严重影响 SSD 的寿命与成本。

为了解决 SSD 的写放大、GC 等问题带来的挑战,给业务提供更强大的存储能力支撑,释放数据价值, Solidigm 一直在努力设计和开发新型存储方案。在过去一年中,基于一些实际的客户用例, Solidigm SSD 定义了一种新型的存储方案:Physical Stream。Physical Stream 支持在 Stream Mode 与 Non-Stream Mode 功能之间灵活进行切换。在切换为 Stream Mode 时,该方案能够通过减少写放大等方式提升 SSD 的耐用性,同时提升带宽以及每秒读写次数 (IOPS) 性能,也降低了IO 时延,从而避免了硬件改造所带来的成本支出。

此外,围绕业务层应用的需求, Solidigm还与客户合作开展了基于 Physical Stream的软硬件方案的产品适配工作。采用了Solidigm 的四层单元 (Quad-Level Cell, QLC) SSD,并且通过业务 I/O 工具进行了真实场景测试,证明该方案可以实现更高的性能密度、更低的成本、更高的带宽与更高的 SSD 耐用性,为多云内容分发网络 (CDN)、RocksDB 业务的快速发展提供云存储助力,帮助最终用户高效释放数据价值。

图 1. CDN 加速的内容服务业务**

挑战

在实际业务运营过程中,我们在很多客户那里发现,目前的 SSD 还存在很大的潜力开展技术创新,以满足业务发展对于存储系统的差异化要求。这主要体现在以下几个方面:

带宽利用率: 大部分客户本身业务层面性能开销较小,然而因为多分区的使用,导致 SSD 内部垃圾回收,因此带宽利用率仍有进一步提升的空间。

SSD 耐用性: 大部分客户的CDN场景以 LSM-tree 的模型进行数据存储,该模型是业界一个非常通用的闪存存储数据结构模型,广泛存在于各种列存储数据库系统中,对闪存非常友好,使传统的 SSD 写放大有了很大的改善。

成本: 带宽利用率、SSD 耐用性都会影响 SSD 的总体拥有成本。该技术期望能够通过进一步优化,持续降低成本。

SSD 接口协议演进

助力化解写放大、垃圾回收挑战

随着数字化转型的深入,数据成为企业最具价值的资产之一,部署大容量、高性能、高经济性的存储系统成为企业释放数据价值的重要方式。这一需求驱动着SSD 的不断升级迭代。Solidigm积极创新,在过去很短的时间从SLC快速迭代到MLC、TLC、 QLC,再加上3D堆叠工艺的加持,存储密度不断加大,如图 2所示。

图 2. SSD NAND介质的迭代—密度越来越高**

随着业务对多路虚拟化,低延迟的需求越来越强烈,传统的SSD已经渐渐满足不了用户的需求了。这些需求主要体现在需要提升不同虚机数据的隔离性,减少 SSD 的垃圾回收,延长 SSD 的使用寿命即耐用性,降低成本。

首先需要改善的一个重点问题是垃圾回收(GC)所带来的耐用性等问题:SSD 的 NAND Flash 底层大多数是 NMOS 存储单元,为了保证磨损平衡和性能,需要不定期做GC,擦除出干净的块(Block),如图 3所示。在 GC 过程中,需要用一部分空闲空间作为 GC 过程中未过期数据的存储,这涉及到数据的迁移和预留空间(Spare)的占用,而且频繁的 GC 还会导致 SSD 耐用性不断降低。此外,如果需要进行擦除,还需要将有效数据都移动至新的 NAND block。这无疑会造成写放大问题。

图 3. 标准SSD需要不定期做垃圾回收**

第二个要解决的重点问题是数据隔离,在上述过程中,Host 会根据平均磨损情况,开新的条带将数据写入不同的物理块。而SSD的磨损平衡策略也会把数据做Dfrag的时候分散到不同的物理块。这两个场景中,SSD不会对数据做任何隔离,无论用户是按分区管理还是按namespace管理,不同的分区或者不同的namespace之间是没有物理隔离机制的。这对需要物理隔离且担心隔壁读写干扰的应用是不友好的。

SSD 数据放置 (Data Placement) 技术有助于解决这一问题。Data Placement 支持驱动器提供一个到主机的接口,允许它将主机写入线程映射到驱动器内部写入,支持在逻辑或者物理位置进行数据分离。目前,SSD 的 Data Placement 技术路线包括 Open Channel、Stream、FDP、ZNS 等。图 4表述了最近几年这些技术的一个演进过程。

图 4. NVMe SSD Data Placement技术近年的演进路径**

其中,Open Channel 不仅需要数据放置管理,还需要上层软件对介质进行管理。其管理过程会非常复杂而难以维护,基本上已经被业界放弃。ZNS 是当前国内研究的热门方向,其优势在于上层软件可以完全控制驱动器上的 Data Placement,杜绝内部 GC与预留空间的可能性,驱动器级别的 GC 将大大降低。这意味着更少的写放大和更高的 SSD 耐用性,但缺陷是需要复杂的软件更改,不适合每个客户。FDP技术是行业下一波研究的热点,它可以灵活的支持按擦除块和条带进行分割,同时支持随机和顺序写入。下图是二者跟Physical Stream的简单对比。

图 5. 不同 Data Placement 方案的对比**

另外,还有一个过渡技术叫做Multi-Stream,该技术已经进入 NVMe1.3 协议多年,它的含义是:所有来自于主机 (Host) 下发的写数据都会带一个 hint,通过该 hint 将用户数据 LBA 以一定的属性和规则进行区分,将具备相同属性的用户数据作为一个数据集合进行写入,称为 Stream,并且指定 Stream ID。SSD 固件可以通过该 Stream ID 进行 I/O 调度或者 FTL 设计,以满足不同的用户需求。同时,应用层将用户数据按照不同的生命周期进行标记和归类,即 Stream ID(通常≤8 个),然后针对 FTL 以及 Data Placement 进行重新设计。例如,将不同生命周期的冷或者热数据分开放置,可以大大提升 SSD 的 GC 效率,减小其写放大,从而带来改善的收益和用户体验。下图是支持Multi-stream技术的SSD和不支持的SSD原理对比图。

图 6. Stream SSD 与普通 SSD 的数据放置模式**

Multi-stream SSD 能够将不同生命周期更新频率的数据分开,并且用 Stream ID 表示,在 SSD FTL 层面会以不同的 Stream 分别进入到不同的 NAND Erase Block。对于那些更新频率较快的热数据,其 GC 的概率也更高,但是由于热数据所在的 NAND Erase Block 里并没有掺杂冷数据和温数据,因此针对只有热数据的 Band 的 GC,其移动的有效数据会有一定程度的减少,对于耐用性损耗、性能与服务等级协议 (QoS) 有一些提升。

注释:** 表示图片来源于 Solidigm

多维度深入剖析QLC SSD硬件延迟的来源

之前谈到QLC的背景和SSD延迟相关的话题:

PLC SSD虽来但远,QLC SSD火力全开

如何快速debug定位SSD延迟问题?

本文主要针对QLC SSD本身硬件底层延迟来源进行剖析,看看是否有新奇的发现。

如之前文章的介绍,目前NAND已经从SLC发展到PLC,但是PLC离大规模上市还有一段距离,我们暂时先略过。市面上主要流通的就是4种NAND类型:SLC、MLC、TLC、QLC。随着每个寿命从高到低依次是SLC>MLC>TLC>QLC.

随着单个cell含有的bit数越多,NAND的可靠性也会有所降低。同时写延迟也在不断地增加。SLC写延迟在0.5ms级别,到QLC写延迟达到10-20ms,40倍的差距。这也导致QLC SSD性能出现很大的下降。

在评价SSD性能指标的时候,我们通常会提到顺序读写带宽,随机读写IOPS,这些指标与NAND之间的关系是怎么样的呢?延迟的来源有哪些?

(1)NAND Read Page时间影响SSD读性能

Host从SSD读数据,最终数据的来源也是要从NAND die上读取,对NAND die发送Read Page操作,数据返回。这个过程的耗时直接决定了SSD读性能的好坏。下图是某个比较老的NAND SPEC相关读操作的示意图,仅供参考。

(2)NAND Program Page时间影响SSD写性能

Host向SSD写入数据,数据最终的归宿是NAND die。数据写入NAND的时间依赖NAND Channel和Plane的设计,更重要的是需要依赖NAND die本身program page的时间,这个过程的耗时直接决定了SSD写性能的好坏。下图是某个比较老的NAND SPEC相关写操作的示意图,仅供参考。

比如下图是在去年ISSCC展示的不同场景QLC SSD性能的对比。其中,我们可以关注到Program Latency(tPROG)的时间,跟Program Throughput写带宽有直接的关系。同样的Plane配置下,Program Latency(tPROG)的时间越小,Program Throughput写带宽就会越大

(3)NAND Block Erase的时间也会影响SSD读写性能

下图是SSD写入page的简单示意图。当数据以4KB大小随机写入时,最左边的die的第一个block已经写满了,包括了有用数据或者invalid无效数据。

在SSD FW内部GC启动的策略下,最左边die的第一block的有效数据被搬迁到空闲的数据块block。同时该block开始执行Erase操作。此时,如果我们要读取在这个die的数据A的时候,因为同一颗die正在进行erase操作,就会导致A数据读操作无法执行(同时,如果同一个die或者plane有读操作进行,此时读取同一个die和plane,也会产生冲突,影响读性能),需要等待erase操作完成。最终导致读的延迟里面有多了一个erase block的操作,读性能就会看到一个抖动。

在GC的另外一种状态,SSD内部没有空闲的block,需要等待GC搬迁数据和擦除数据,腾出空闲的数据块,这个过程,erase的操作也影响到写性能。假如我要写入一个4KB的数据Z覆盖A,并恰好目标块没有空余的页区,需要进行GC回收。这个时候就需要把B、C、D、E、F五分数据都搬走,然后擦除整个数据块,擦除完成后再整体写入6个数据页。这个整个过程,Host虽然只写了4KB的数据,但实际过程中,由于GC的问题,NAND最终写入了24KB。那么写放大WAF=24KB/4KB=6. 这整个过程写延迟和写放大都受到了很大的影响。

扩展阅读:SSD写放大的优化策略要统一标准了吗?

(4)NAND其他特性对SSD读写性能的影响

比如要增加写性能,做法是在NAND array Bit Line方向增加plane的并发度,多个page一起写。另外,也可以通过减少Bit line的长度来降低RC延迟,这样可以提升读的性能。

同时,NAND ONFI接口的速率也会影响性能,目前常见的接口速率2400MT/s, 3200MT/s, 3600MT/s。

(5) ECC纠错对SSD读性能的影响

在host读取数据过程中,最理想的情况是一个Page Read Time的时间就可以直接返回数据。但现实情况是,我们可能会因为一些不想看到的问题,导致性能受损。

比如读写之间的温度差、Data Retention、读干扰、写干扰等。导致出现数据翻转,需要启动Read Retry重读机制、LDPC纠错、RAID纠错等修复机制。这个过程就会导致性能出现跌落或者延迟抖动。

在QLC SSD中,因为Vt level之间的电压差更狭小,访问同一个区域的扫描电压影响会更大,更容易引发读干扰的问题。

同样的,Data Retention也比较明显,读写温度差异对QLC NAND的更加敏感。

扩展阅读:SSD可靠性分析前传之NAND闪存可靠性概览

(6) 3D-NAND工艺对SSD性能的影响

目前业内3D-NAND工艺架构主要分为两个阵营,一个阵营,以Solidigm(Intel NAND卖给海力士后新成立的公司)为首,采用Floating Gate(FG)浮栅,另外一个阵营三星/WD等,采用Change Trap Flash。FG浮栅将电荷存储在导体中,而CTF将电荷存储于绝缘体中,这消除了单元之间的干扰,提高了读写性能,同时与浮栅技术相比减少了单元面积。不过,FG浮栅对read disturb和program disturb的抗干扰比CTF要好。

FG浮栅架构在Program过程,采用4-16 program算法,这个过程可以减少program disturb写干扰。

CTF架构,或者叫做RG架构,采用16-16 progam算法,两次program都要求所有page直接写入NAND,第一次program电压是放置在最终电压附近。CTF的Data Retention相对比较严重。

在写性能方面的对比,不同的架构有不同的表现。

在TLC NAND中,CTF架构tPROG比FG浮栅低18%,所以在TLC SSD中,CTF架构TLC NAND SSD的性能比FG架构TLC NAND SSD性能要好。在QLC NAND中,由于program算法差异的影响,FG浮栅表现更好,FG架构QLC NAND SSD性能比CTF架构QLC NAND SSD性能要好。

再搬出这个QLC SSD性能对比图,同样4plane的QLC SSD,采用FG架构的Intel QLC SSD写延迟tPROG=1.63ms比采用CTF架构的SK Hynix写延迟tPROG=2.15ms要低。

不同的NAND工艺架构,在不同的维度各有千秋,对维度对比,供大家参考。

扩展阅读:3D-NAND向500层进发,天花板在哪里?

结语

不同的FW架构设计、FTL算法设计、NAND die plane/速率等的差异,都会直接影响SSD的性能与延迟,设计一块性能优越且稳定的SSD,是一项繁琐但具有很强艺术性的工程

精彩推荐:

漫谈固态硬盘SSD全生命周期的质量管理如何快速debug定位SSD延迟问题?汽车存储SSD面临的挑战与机遇超大规模云数据中心对存储的诉求有哪些?SSD写放大的优化策略要统一标准了吗?阿里云Optane+QLC存储实践案例分享“后Optane时代”的替代存储方案有哪些?浅析数据中心存储发展趋势浅析PCIe链路LTSSM状态机浅析Relaxed Ordering对PCIe系统稳定性的影响实战篇|浅析MPS对PCIe系统稳定性的影响浅析PCI配置空间浅析PCIe系统性能PLC SSD虽来但远,QLC SSD火力全开Backblaze2022中期SSD故障质量报告解读最全电脑固态硬盘SSD入门级白皮书存储随笔《NVMe专题》大合集及PDF版正式发布!加权循环仲裁WRR特性对NVME SSD性能有什么影响?Linux NVMe Driver学习笔记之9: nvme_reset_work压轴大戏

相关问答

刚才还是一栋栋楼房,转眼间却变成了废墟用英语怎么说把心里的...

[回答]刚才还是一栋栋楼房,转眼间却变成了废墟1.Intheblinkofaneye,buildingsturnedintoruins.把心里的阴影一点点删去2....slowlyerase...

谁比较了解autocad快捷键啊?能给我讲讲吗?_齐家装修问答

还没学习之前我也不懂呢,后来学了一下就大概了解了一些哦!我就把我知道的给你分享一下吧!~1、对象特性ADC,*ADCENTER(设计中心“Ctrl+2”)CH,M...

cad删除了画好的部分怎么恢复?

可以输入任意次U,每次后退一步,直到图形与当前编辑图形与开始时一样为止。2.CTRL+Z:撤销最近一次操作。和简命令U的功能是一样的。3.简命令UNDO:同样为撤...

C盘里的Cisco可以删除吗?-ZOL问答

Router#erasestartup-configErasingthenvramfilesystemwillremoveallconfigurationfiles!Contin...

CADPS常用快捷键,在线等?

ps:取消选区:【Ctrl+D】反选选区:【Shif+F7】复位调板:窗口—工作区—复位调板位置。ctrl+[+、-]=图像的缩放空格键:抓手工具Atl+Delete=用前景色填充C...

Auto cad 热键全集-盖德问答-化工人互助问答社区

拿走,全记下来。谢啦

【英语故事(最好英汉对照)】作业帮

[回答]SandandstoneThestorygoesthattwofriendswerewalkingthroughthedesert.Duringsomepointof...

南方cass画复合线快捷键?

PRINT,*PLOT(打印)PU,*PURGE(清除垃圾)R,*REDRAW(重新生成)REN,*RENAME(重命名)SN,*SNAP(捕捉栅格)DS,*DSETTINGS(...

求AutiCAD指令大全!-ZOL问答

mline双线(在画墙线时常用到,也可自己定义使用其它线型)pline多义线(大部分由线段组成的图元,能够定义为多义线的就定义为多义线,这样在选择时比较方便)rec...

平面设计软件autocad快捷键大全?

三维镜像:MIRROR3D三维阵列:3DARRAY(3A)剖切:SLICE(SL)并集:UNION(UNI)干涉:INTERFERE(INF)交集:INTERSECT(IN)差集:SUB...

 足球竞猜怎么买  佩鲁济 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部