0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NVMe SSD性能影响因素一探究竟(下)

架构师技术联盟 来源:架构师技术联盟 2023-12-09 11:38 次阅读

3.2 IO Pattern对性能的影响

IO Pattern会对SSD的性能产生严重影响,主要表现在如下几个方面:

1, 不同的IO Pattern会产生不同的写放大系数,不同的写放大系数占用后端NAND Flash带宽不同。当前端应用对SSD采用完全顺序的方式进行写入时,此时是最佳的IO Pattern,对于SSD而言写放大系数接近1,SSD内部的背景流量基本可以忽略,前端性能达到最佳。在实际应用中,很难采用这种完全顺序的数据写模型,但可以通过优化逼近顺序写入。

2, 不同请求大小的IO之间会产生干扰;读写请求之间会产生干扰。小请求会受到大请求的干扰,从而导致小请求的延迟增加,这个比较容易理解,在HDD上同样会存在这种情况。由于NAND Flash介质存在严重的读写不对称性,因此读写请求之间也会互相干扰,尤其是写请求对读请求产生严重的性能影响。

3.2.1 顺序写入Pattern对SSD性能优化的奥秘

在针对闪存系统的设计中,需要考虑IO Pattern对性能产生的影响,通过软件的优化来最优化SSD的使用。在实际应用中完全顺序写入的IO Pattern基本上是不存在的,除非用作顺序写入的日志设备。对于顺序写入优化性能这个结论,需要从SSD内部实现来深入理解,知道根源之后,可以采用合理的方式来逼近顺序写入的模式,从而最优化SSD的性能。

SSD内部采用log-structured的数据记录模式,并发写入的IO数据按照时间顺序汇聚成大数据块,合并形成的大数据块以Page stripe的方式写入NAND Flash。多个Page stripe会被写入同一个GC单元(Chunk orSuperblock),当一个GC单元被写完成之后,该GC单元进入sealed模式(只读),分配新的GC单元写新的数据。在这种模式下,如果多个业务的数据流并发随机地往SSD中写入数据,那么多个应用的数据就会交错在一起被存储到同一个GC单元中。如下图所示,不同应用的数据生命周期不同,当需要回收一个GC单元的时候,会存在大量数据的迁移,这些迁移的数据就会形成写放大,影响性能和使用寿命。

wKgZomVz4XWABazvAADEeOjWIhk073.jpg

不同应用的数据交错存储在同一个GC单元,本质上就是不同冷热程度的数据交错存储的问题。从GC的角度来讲,相同冷热程度的数据存储在同一个GC单元上是最佳的,为此三星推出了Multi-stream SSD,该SSD就允许不同应用的数据存储到不同的Stream单元(GC单元),从而提升GC效率,降低写放大。Multi-stream是一种显式的设计方式,需要更改SSD接口以及应用程序。

从IO Pattern的角度考虑,可以通过顺序大块的方式也可以逼近类似的效果。假设操作SSD只存在一个线程,不同的应用都采用大数据块的方式写入数据,那么在一个时间片段内只存在一个应用的数据往SSD中写入数据,那么在一个GC单元内存储的数据会变得有序和规则。如下图所示,采用上述方法之后,一个GC单元内存储的数据将会变得冷热均匀。在GC过程中会大大减少数据的搬移,从而减少背景流量。

wKgaomVz4XWAOBaiAADEE3oa5Ss996.jpg

在实际应用中,上述IO Pattern很难产生,主要是应用很难产生非常大粒度的请求。为此在存储系统设计过程中,可以引入Optane高性能存储介质作为SSD的写缓存。前端不同业务的写请求首先写到Optane持久化介质中,在Optane持久化介质中聚合形成大数据块。一旦聚合形成大数据块之后,再写入SSD,通过这种方式可以最大程度地逼近SSD顺序写入过程,提升SSD的性能和使用寿命。

3.2.2 读写冲突Pattern对性能的影响

如下图所示,NAND Flash介质具有很强的读写不对称性。Block Erase和Page Program的延迟会远远高于Page Read所耗费的时间。那么在这种情况下,如果read请求在同一个Flash Channel上和Erase、Program操作冲突,那么read操作将会被Erase/program操作影响。这是在读写混合情况下,读性能会受到影响的重要因素。

wKgaomVz4XWAHcOoAABVyDF5TS8305.jpg

在实际应用过程中,经常会发现应用的测试结果和SSD Spec对不上,会比Spec给出的值要来的低。Spec给出的值通常为纯读或者纯写情况下的性能指标,在读写混合的场景下,性能表现和Spec给出的值就会存在非常大的出入。

对于不同的SSD,通过测试可以发现在读写混合情况下的性能表现差距会比较大。在SSD处于稳态条件下,应用随机读的情况下,如果引入一个压力不是很大的顺序写,那么会发现不同SSD的抗干扰能力是不同的。有些SSD在写干扰的情况下,读性能会急剧下降,延迟快速上升,QoS性能得不到保证。下图是两个SSD在相同情况下的测试结果,从结果来看,有些SSD的抗写干扰能力比较强,读性能不会急剧下降。

wKgaomVz4XWATD14AAPnAEWHZ6k818.jpg

为什么有些SSD会具备比较强的抗写干扰能力呢?其中的奥秘就在于SSD内部的IO调度器。IO调度器会对write、read 和Erase请求进行调度处理,该调度器算法的不同就会表现出不同的抗干扰能力。目前很多NANDFlash可以支持Program/Erase Suspension的功能,在IO调度处理的过程中,为了提升读性能,降低读请求延迟,可以采用Suspension命令对Program/Erase命令暂停,对read请求优先调度处理。

读写冲突是SSD内部影响IO QoS的重要因素。在SSD内部通过IO调度器的优化可以提升SSD性能的QoS能力,但是还是无法与存储软件结合来协同优化QoS。为了达到最佳的SSD性能QoS,需要关注Openchannel技术。Openchannel其实只是一种软硬件层次划分的方法,通常来讲,SSD内部的逻辑可以划分为面向NAND资源的物理资源管理层以及面向数据布局的资源映射层。物理资源管理由于和NAND Flash密切相关,因此可以放到SSD内部。

传统的NVMe SSD需要对外暴露标准的块设备接口,因此需要在SSD内部实现资源映射层。从端至端的角度来看,资源映射层可以与存储软件层结合起来,为此将资源映射层从SSD内部剥离出来,集成至存储软件层。一旦资源映射层从SSD内部剥离之后,需要定义一个新的SSD接口,其中的一种接口方式就是Openchannel。

盘古分布式存储针对SSD QoS问题进行了大量研究,提出了Object SSD的概念,Object SSD也是一种新的SSD接口方式,其采用对象方式对SSD进行读写删操作,每个对象采用Append write操作方式。这种接口方式可以很好的与分布式存储无缝结合。采用Object SSD之后,SSD内部的大量工作被简化,IO的调度会更加灵活,存储软件与SSD协同配合,达到IO性能的最优化,以及QoS的最大化。

wKgaomVz4XWAAoVnAAEEkLR3faU906.jpg

4 SSD写性能分析模型

SSD内部的数据流分成两大类,一类为前端用户数据流;另一类为内部背景数据流。前端用户数据流和背景数据流会汇聚成NAND Flash后端流量。当背景数据流不存在时,NAND Flash带宽会被用户数据流全部占据,此时SSD对外表现的性能达到最佳。当SSD具有较大写放大时,会产生很大的背景数据流,背景流会抢占NANDFlash带宽,导致前端用户IO性能降低。为了稳定前端IO性能,在SSD内部的调度器会均衡前端和背景流量,保证前端性能的一致性。背景流量的占比反应了SSD的写放大系数,因此,站在NAND Flash带宽占用的角度可以分析SSD在稳态情况下的性能。

下图是Intel P4500和Samsung PM963随机写延迟和推导公式之间的对比。结果非常吻合。

wKgZomVz4XWAS5QQAAGrVcFyP_Q453.jpg

由此可以推出,随机写性能由SSD内部后端带宽以及写放大系数来决定。因此,从存储软件的角度出发,我们可以通过优化IO Pattern的方式减小写放大系数,从而可以提升SSD的随机写性能。

5 小结

闪存存储技术正在飞速发展,闪存介质、SSD控制器、存储系统软件、存储硬件平台都在围绕闪存日新月异的发展。闪存给数据存储带来的价值显而易见,数据中心闪存化是重要发展趋势。NVMe SSD性能受到很多因素的影响,在软件层面可以通过IO Pattern优化SSD的性能,使得整体存储系统的性能达到最佳。







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • QoS
    QoS
    +关注

    关注

    1

    文章

    133

    浏览量

    44511
  • SSD
    SSD
    +关注

    关注

    20

    文章

    2690

    浏览量

    115498
  • Nand flash
    +关注

    关注

    6

    文章

    232

    浏览量

    39499
  • HDD
    HDD
    +关注

    关注

    0

    文章

    134

    浏览量

    27096

原文标题:NVMe SSD性能影响因素一探究竟(下)

文章出处:【微信号:架构师技术联盟,微信公众号:架构师技术联盟】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    《基于“矿板”低成本学习Zynq系列》之二-什么样的矿板,一探究竟

    本文转自公众号,欢迎关注 《基于“矿板”低成本学习Zynq系列》之二-什么样的矿板,一探究竟 (qq.com) 一.前言   前面一篇淘板记中我们淘到了基于Zynq-7010的矿板,初步确认没问题
    的头像 发表于 06-26 08:40 2799次阅读
    《基于“矿板”低成本学习Zynq系列》之二-什么样的矿板,<b class='flag-5'>一探究竟</b>

    NVMe SSD性能影响因素分析

    NVMe SSD 厂商Spec给出的性能非常完美,前面也给出了NVMe SSD和磁盘之间的性能
    的头像 发表于 11-13 11:39 620次阅读
    <b class='flag-5'>NVMe</b> <b class='flag-5'>SSD</b><b class='flag-5'>性能</b>影响<b class='flag-5'>因素</b>分析

    Xilinx FPGA NVMe Host Controller IP,NVMe主机控制器

    ,从而可实现更高存储性能和存储容量。 无需CPU,NVMe Host Controller IP自动执行对PCIe SSD的PCIe设备枚举和配置、NVMe控制器识别和初始化、
    发表于 02-21 10:16

    Xilinx FPGA NVMe主机控制器IP,高性能版本介绍应用

    NVMe Host Controller IP所消耗的BRAM比较多,可以达到CrystalDiskMark测试软件SEQ128K Q32T1测试模式的读写性能。针对多路数据通道访问PCIe
    发表于 03-09 13:56

    Xilinx FPGA高性能NVMe SSD主机控制器,NVMe Host Controller IP

    SSDØ易于集成的同步、可综合Verilog设计Ø通过完全验证的NVMe Host Controller IP2概述NVMe Host Controller IP作为个对PCIe
    发表于 03-27 17:23

    性能NVMe主机控制器,Xilinx FPGA NVMe Host Accelerator IP

    SSDØ易于集成的同步、可综合Verilog设计Ø通过完全验证的NVMe Host Controller IP2概述NVMe Host Controller IP作为个对PCIe
    发表于 04-10 22:55

    iPhone 12 香不香?带你一探究竟

    12 共有四款机型,国行售价最低的iPhone 12 mini价格为5499元,高配版的iPhone 12 Pro Max价格近1.2万元。 iPhone 12 怎么样呢?现在我们就一探究竟。5G技术
    发表于 10-15 17:22

    一探究竟关于USB转接口部分的电路

    看CT117E的原理图中,关于USB转接口部分的电路并未详细标明芯片型号,不知道又有何蹊跷,今就来一探究竟…具体位置藏匿于LCD之下,掀开之后,便可窥得:两个芯片:FT2232D和ATMEL528...
    发表于 12-16 06:25

    如何为工业应用设计NVMe SSD

    RK3399核心板有哪些应用?如何为工业应用设计NVMe SSD呢?
    发表于 03-07 06:12

    NVMe SSD与SATA SSD性能对比

    老说NVMe SSD性能是SATA SSD的四倍,那到底实际体验是怎样的呢?
    的头像 发表于 07-27 09:43 3.5w次阅读

    影响SSD性能因素有哪些 NVMe SSD性能解析

    NVMe SSD性能时常捉摸不定,为此我们需要打开SSD的神秘盒子,从各个视角分析SSD性能
    的头像 发表于 11-05 09:47 8602次阅读

    OPPOFindX拆解 防护性能一探究竟

    则采用了极具创新性的“双轨潜望结构”。鉴于“双轨潜望结构”属于精密机械部件,用户不免对OPPO Find X的全面防护能力有所疑虑,所以我们这次将Find X进行整体拆解,对Find X防护性能一探究竟
    的头像 发表于 01-10 09:17 9474次阅读

    一探究竟eSIM的发展道路

    而这一消息也再次引发了用户对于eSIM的讨论,目前eSIM在国内的应用状况到底怎样?三大运营商在eSIM方面究竟如何布局?eSIM在国内何时才能真正进入智能手机领域?接下来,我们就来一探究竟
    的头像 发表于 01-03 10:26 3929次阅读

    浪潮NVMe SSD性能

    本次测试采用浪潮服务器 SA5112M6,磁盘采用三个节点每个节点八块浪潮 INSPUR-NS8610G1U320 NVMe进行测试,此次采用的NVMe SSD具有极高的性能,产品4K
    发表于 08-03 10:25 1644次阅读

    一探究竟低烟无卤网线

    低烟无卤是在电线电缆产业中电线护套的材料分类。低烟无卤电线护套是由受热时排烟量低,且本身不含卤素的热塑性或是热固性组成。为了帮助大家更好的了解这类线材,下面我们跟着科兰通讯小编一探究竟低烟无卤网线
    发表于 09-29 10:07 1364次阅读