多维度深入剖析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压轴大戏从傲腾内存到傲腾固态 你想了解的全在这里
去年三月,英特尔发布第七代酷睿处理器的同时,也正式发布了傲腾。
傲腾是什么?简单来说就是英特尔全新研发的存储产品的品牌。该品牌旗下囊括傲腾内存、傲腾固态硬盘两大品类,同时在细分市场方面,傲腾内存主要面向消费级,傲腾固态硬盘则分别面向消费级以及企业级的数据中心或服务器。
与时下最为普遍的NAND存储介质不同,傲腾内存与固态硬盘均采用英特尔自主研发的3D Xpoint存储介质。
在接口方面,随着傲腾产品线完善,时下的傲腾系列消费级产品支持常见的M.2接口,而面向企业级的产品则支持数据吞吐能力更强的AIC以及U.2接口,如下:
傲腾内存及固态硬盘
技术层面。傲腾内存的主要功能为为机械硬盘和固态硬盘加速,不过实际使用中,对固态硬盘的增益效果不大,对机械硬盘的读取速度影响极大,能够将普通机械硬盘的读取能力提升到高性能SATA 2固态硬盘的水准,大概能够达到800MB/s的读取能力,效果提升还是相当可观的。
傲腾内存与存储技术点
傲腾内存虽然名为内存,但其形态为M.2固态硬盘的形态,占用一个M.2接口,通过PCIe X2与处理器连接,与普通的DIMM内存并存于系统当中,可以看作是硬盘的缓存盘。
面向消费级的傲腾固态硬盘,目前主力产品为800P。比一般的NAND介质M.2固态硬盘要略贵200-300元左右,同样使用PCIe X2与处理器连接。
面向企业级数据中心与服务器的傲腾固态硬盘目前主要为900P以及905P,使用PCIe X4通道与处理器连接。
那么,傲腾究竟与普通NAND存储器有何不同呢?首先来说傲腾内存。
傲腾内存的特性一方面在于它是智能的自适应系统加速器,另一方面它是一种非易失性存储设备。
傲腾内存为硬盘加速之后,可以自动识别用户的常用软件和非常用软件。比如当你经常使用Photoshop的时候,傲腾内存就会始终对其保持优先加速状态,从而在用户每次打开应用的时候,都能获得快速的响应。
我们对傲腾内存的自适应加速特性做了细致测评,可以参考下方视频:
在非易失性方面,傲腾内存+硬盘的方案不会担心因突然断电而造成数据损失,相反,普通的DRAM在突然断电的情况下, 会失去存储数据。
接下来我们再聊聊存储。
目前, 傲腾企业级固态硬盘已经成为阿里云、浪潮等云服务提供商数据中心服务器的存储媒介。相对于普通的NAND介质固态硬盘而言,傲腾的优势在于更高的稳定性、更强的数据吞吐能力、以及更低的延迟,它能够帮助数据中心提升整体的效能。
下面的这则测试案例来自于HOUDINI(三维计算机图形软件)视频渲染:
基于傲腾固态硬盘的系统在渲染时的效率表现(蓝色部分)
一段持续7秒钟的漩涡场景渲染,在普通存储环境中的时间为17.4小时,而在傲腾环境下缩减至6.3小时。同时大家可以注意蓝色区域,其表示在傲腾环境中,在渲染过程中的系统利用率可以提升到最高35%以上,而在普通PCIe NAND存储环境中,利用率不到15%,整体的效能差距显而易见。
接下来我们再看看傲腾900P在工作站项目测试中的表现,使用软件为SPECwpc V2.1,这是一款生产力套件检测工具,常用于工作站设备的测试。
傲腾900P固态硬盘在工作站上的测试
从测试结果来看,傲腾900P相对于普通PCIe NAND存储来说,整体的性能优势非常明显,在各类生产力项目中可以提供足够出色的性能表现。
了解了傲腾内存以及傲腾900P企业级固态硬盘的特性与性能之后,我们来看看傲腾消费级固态硬盘800P的情况。
傲腾800P存储容量上有58GB和118GB两种规格,相对于常见的NAND固态硬盘要贵不少。不过俗话说,“一分价钱一分货”,贵自然有贵的道理。接下来通过几个测试看看为什么傲腾800P的价格会更贵一些。
在固态硬盘测试中,队列深度是需要去着重看重的因素。一般来说,日常应用中,包括游戏、娱乐、办公等,数据队列深度平均为1-4,而在大型服务器或数据中心中,队列深度可能会达到32。对于800P这种消费级固态硬盘,测试时的队列深度设定在1-4是更为合理的测试方法。
下方图表显示了低队列深度下,4K随机读写的差异,从中可以看到傲腾800P的性能要优于SATA SSD以及NVMe SSD。
4K随机读写测试
此外,混合随机读/写工作负载也是衡量存储介质性能的重要指标之一。下方图表是分别使用PCMark 10、PCMark Vantage来对傲腾800P进行的客户端工作负载测试。这里着重要看的是70%-100%的读写负载。因为在实际应用中,硬盘工作负载最大的是来自于70%-100%的读写负载。
混合随机读/写工作负载测试
此外,相对于普通的NADN存储而言,傲腾固态硬盘得益于3D Xpoint介质较强的抗“老化”能力,可以在长时间反复读写之后,依旧能够保持较高的性能输出。
长时间使用过固态硬盘的朋友会发现,虽然早期使用时机器运行确实非常快,但使用过一段时间之后,即便是固态硬盘环境,电脑也会逐渐变的卡顿,打开软件时也不像早期那么顺畅。这其实就是固态硬盘反复读写之后,存储介质老化造成的性能下降。
傲腾800P的稳态性能更强
在存储领域,对这一过程有着专业的描述,即FOB(出厂状态)性能→P/E(编程/擦除)次数增加、FOB性能降低→经历足够的P/E之后,固态硬盘性能逐渐趋于稳定,达到稳态性能阶段
通过上面的测试图可以看到,傲腾800P的优点在于持续性的稳定性能输出。
·总结
客观来说,英特尔傲腾技术在消费级领域的吸引力不大,原因主要来自于存储容量和价格。普通消费者在选购产品时,表面上的硬性参数是其最关心的,至于存储介质的先进性、或者是否能提供持续的性能输出,消费者可能并不会太关心。大容量、价格便宜的固态硬盘是大部分消费者的首选。
不过在更加强调稳定性、数据吞吐能力的企业级或商用领域,傲腾的特性就非常能够打动这些用户了。非易失性、强大的数据吞吐能力、持久的性能表现,每一个特性对于数据中心、服务器都是最好的选择。
这些领域使用傲腾解决方案,不仅能带来性能上的优化,同时还能带来成本上的缩减。虽然傲腾单体产品要比传统NAND贵不少,但耐用的特性使其换代速度得以延缓,长久来看成本缩减可观。
因此笔者认为,傲腾技术在企业级的价值可能要远远胜过在消费级领域的价值。
相关问答
关于SD卡的寿命?卡的耐用性其实是取决于两点:1、运行温度。2、数据模型。虽然sd卡的spec里注明可在是-25度到85度的温度下工作,但是在我的实测数据里,环境温度如果高于60度...
固态硬盘和机械硬盘哪个寿命更长?首先我们来认识固态硬盘和机械硬盘的使用寿命,便知道哪个硬盘的使用寿命更长。固态硬盘:固态硬盘闪存有擦写次数的限制,擦写1次叫做1次P/E,34nm的闪存芯片寿...
英特尔slc固态硬盘-ZOL问答现在Intel与镁光研发新的3DNAND堆叠技术,使储存密度大大增加了,闪存也从TLC升...商品名称:KingSpec/金胜维翔龙SSD120GSATA3固态硬盘SLC芯片Pro级SSD商...
同志们!有谁能回复一下吗 德国ECC报价,ECC排名好不好都来...[回答]一般民用级别的普通电脑的主板不支持ECC的,通常是工作站级别的才会支持ECC,具体要看具体的主板spec是否支持。主板规格说明上都会有明确标明的。硬...