高寿命NVMe SSD应用场景实践

架构师技术联盟

共 5696字,需浏览 12分钟

 ·

2021-08-29 16:26



无论OEM还是系统集成商,在根据NVMe SSD寿命选型是需要考虑业务场景是读密集型、写密集型,还是读写混合型。对于读密集型业务负载,如搜索业务,较低寿命的SSD可以满足需求,但对于写入密集型应用,如缓存系统,读写混合型负载,如OLTP SQL数据库,SSD选型就要考虑高寿命产品。

本篇文章将通过以下五个章节内容讲述有关 SSD 寿命的相关知识:

  1. 什么是 SSD 寿命?
  2. 如何计算 SSD 寿命?
  3. 影响 SSD 寿命的因素有哪些?
  4. SSD 寿命如何查看?
  5. 消费级 SSD 和企业级 SSD 的寿命有什么不同?
  6. 谈谈最近大火的硬盘挖矿
01

什么是SSD寿命?


SSD寿命是指在生命周期内允许的数据写入量。按照JEDEC固态技术协会制定的标准JESD218中定义,企业级SSD在到达标称寿命临界值前,必须满足以下条件:

  • SSD标称寿命(建议使用JESD219定义的寿命测试工作负载);
  • SSD的用户容量保持恒定(保证OP不变);
  • 在正常寿命使用期内,不可修复错误率(UBER,Uncorrectable Bit Error Rate)≤ 10E-16;
  • SSD关机后,40℃的室温下,数据可以保持3个月。

因为SSD使用NAND作为存储介质,SSD的寿命本质上受限于NAND的寿命。NAND寿命的量化指标叫P/E Cycles,也就是写入/擦除(program / erase)次数,因为NAND是以页(page)为单位写入数据,以块(block)为单位擦除,对于已经写入数据的block,必须将原有数据进行搬移,SSD是通过“垃圾回收”(Garbage Collection,GC)的机制来回收被无效数据占用的空闲空间,GC额外搬移的数据需要用到SSD的OP(Over-provisioning)预留空间。对整个block的数据擦除后才能允许新数据写入。一写一擦就会消耗NAND一个P/E。在NAND还是2D平面时代,TLC NAND PE只有500~1000,但在NAND进入3D堆叠时代后,用于企业级SSD的3D eTLC可以达到5000~10,000 PE。

02

如何计算SSD寿命?


SSD寿命的单位有两种,PBW(或TBW)和 DWPD。

  • PBW/TBW:全称是Petabytes/Terabytes Written,也就是在SSD的生命周期内允许的主机端数据写入量。1PBW = 1000TBW;

  • DWPD:全称是Drive Writes Per Day。也就是在生命周期内(一般为5年),SSD每天允许全盘写入的次数。DWPD 和 PBW/TBW 可以相互换算 ,公式如下:

如果用户或OEM厂商知道业务场景下每天的数据写入量是需要对整盘容量写几遍,就可以根据寿命指标,如0.8,1或3 DWPD选型SSD。如果知道工作负载的数据总写入量,就可以根据PBW的寿命指标进行选型。

DWPD的计算和几年生命周期有关,一般生命周期也是产品保修期。以PBlaze5 926系列为例,每天3.4 DWPD写入量对应5年更长的生命周期,但如果每天有5.7 DWPD的写入量,生命周期就会减短到3年。Memblaze PBlaze系列SSD DWPD和PBW寿命标称均是JESD219工作负载下测试得出。

03

影响SSD寿命的因素有哪些?


企业应用的工作负载千差万别,而不同工作负载对固态硬盘的寿命有着巨大的影响,其中顺序、纯4K随机和JESD219中定义的IO模型(IO pattern)是三种比较典型的工作负载。而不同工作负载因为数据分布的不同触发“垃圾回收”(GC)的粒度不同。GC在进行无效数据的搬移时会引入额外的系统数据写入,带来写放大WA(Write Amplification),也就是实际用户写一笔数据,真正写入到SSD的可能需要2-3笔。写放大因子(Write Amplification Factor,简称WAF)是NAND总写量除以用户预期的数据写入量的比率,通过WAF可以对WA引入的多余写入量进行量化。


从上表也可以清晰看出,不同工作负载测试下SSD WAF不同。WAF=1是最理想状态,但实际的业务场景很少有纯顺序工作负载。因此JESD219对企业级SSD寿命测试工作负载进行了统一,包含从512 bytes到64K,不同权重IO分布的组合,以小块4K IO为主,占有67%的访问,512 bytes占了4%,1K、18K、16K、32K等IO大小都有一定权重。JESD219根据企业级IO模型的特点,还定义了50%的访问集中在前5%的有效空间(热数据),30%的访问集中在接下来15%的有效空间(温数据),20%的访问集中在剩70%的有效空间(冷数据),从这一点也说明企业级的数据冷热度有差异。


从IO分布看,JESD219相比4K纯随机工作负载差异并不是很大,因为JESD219定义的IO模型4K占比有67%,但由于JESD219中有70%是冷数据,因此会触发磨损均衡(Wear-leveling),针对冷数据的静态磨损均衡(Static Wear-leveling)会引入额外数据搬移,也是JESD219 WA会比纯4K随机负载下略高的原因 。

不同工作负载影响不同WAF,因此也会影响SSD寿命参数的标称。

04

SSD寿命如何查看


S.M.A.R.T是Self-Monitoring, Analysis and Reporting Technology的缩写,提供NVMe标准和厂商自定义的SMART信息,用于监控 SSD的健康状况,并根据设定的阈值提供预警。SSD寿命可以通过标准nvmecli工具获取SMART信息读取。同样以PBlaze5 920 3.84TB系列为例,寿命相关SMART参数输出如下:

# nvme smart-log /dev/nvme0n1
percentage_used  ,0%        
data_units_written: 1,287,205  //  单位是 1000 * 512bytes  

其中data_units_written可以推算出已经有659.04896 GB用户数据写入SSD,用户容量3.84TB的寿命总写入量是10.52 PBW,所以659 GB的数据写入太毛毛雨,percentage_used显示设备已使用寿命占比仍然为0%,100%代表设备寿命消耗完。
05

消费级SSD和企业级SSD的寿命有什么不同?


消费级SSD主要定位个人用户,采用消费级NAND,一般PE在3000,OP空间预留较小,寿命标称是TBW级别(后面会对这个参数做详细介绍)。企业级SSD主要定位数据中心批量部署, NAND采用企业级标准,一般NAND PE在7000~10,000,OP空间更大,寿命标称是PBW级别。


除了寿命的差异,消费级SSD定位个人用户,工作负载压力轻,技术门槛适中,侧重成本和容量,OP空间小,在7%左右,且以中小容量为主,用户对于数据安全和性能一致性要求一般。而企业级SSD适用于企业级数据中心批量部署,研发和质量验证成本高,技术门槛高,在实际应用中,工作负载大,用户对数据安全及产品性能一致性有着极度严苛的需求。
06

也来谈谈最近大火的硬盘挖矿


最近IT圈内最火的事莫过于出道即巅峰的Chia虚拟货币了,传说中的硬盘挖矿方案直接导致了各大平台的机械硬盘,不但价格翻倍,且全线断货。疯狂的同时,也引来了 CCTV2财经频道的点名,提醒投资者 Chia 局势尚不明朗,需谨慎入场。那么,Chia币背后的原理是什么呢?

与比特币(BTC)、以太坊(ETH)采用工作量证明(POW)不同的是,Chia采用“空间和时间证明”(Proof of Space and Time),利用存储设备中的剩余存储空间进行挖矿。在开始挖矿之前需要在存储设备空间进行播种(plot),plot过程是用处理器或者显卡通过特有算法将存储设备写满加密的哈希数据,这个过程在行业里就被叫做Plot盘,可以简单称之为P盘。然后农民(farmer)在已经播种好的P盘文件(plots files)上寻找最佳答案。所以P盘文件总容量相对于全网容量占比越高,越容易“中奖”,对应的挖矿收益也越高。

播种的过程需要占用CPU、内存(每个P盘线程默认需要约4G内存空间)和临时空间(生成K = 32规格的播种文件大概需要占用332GiB临时空间)。因此,想要更高效地完成挖矿,抢占第一批Chia币发放名额,使用大容量、高带宽、高寿命的企业级固态硬盘无疑是上上之选。

Chia官网推荐plot采用性能更好、寿命更高的企业级SSD

Memblaze企业级NVMe SSD采用企业级TLC NAND中最高规格等级的闪存颗粒,通过4K LDPC引擎和多项优化算法保证,实现了全盘1万次的闪存擦写。相较于一般常见的企业级SSD而言,能够提供超出40%的持续写入寿命。

以PBlaze5 920系列7680 GB为例,可以最高支持21个K = 32规格并发plot,而一组21个并发临时文件写入量就约为 21 x 356.5 GB = 7488.6 GB,若一天按照3组21个并发计算,总体写入量就高达22.5 TBW,相当于极端写入情况下,每天7680 GB全盘写近乎3遍,能够写满931天。


除了大容量和高寿命,持续性高带宽也是 “挖矿专家”选购存储设备的关注参数。以Chia币为例,根据官网介绍,生成K = 32规格的播种文件大约需占用356.5GB的临时空间与最终108.8GiB的plot文件(GiB以1024计算),“挖矿专家”一般在4~5小时完成整个plot过程,大多数选手在9~12小时。


我们通过实际测试,尝试找到“挖矿专家”plot过程仅需4~5小时的秘密。

测试环境:
x86 服务器:CPU: Intel Xeon Gold 6132 @ 2.60GHz
OS:CentOS Linux release 8.3.2011
企业级 NVMe SSD:PBlaze5 920系列3.84TB用于存储临时文件(Temporary Directory)
HDD:用于存储最终plot文件存储(Final Directory)


分别设置K = 32并发量为1和8时,使用默认参数,测试得到单plot最大写入速度和P盘耗时如下,这离“挖矿专家”4~5小时的P盘时间已经非常接近:


进一步分析8个plot并发测试场景数据显示,在p盘的过程中对NVMe SSD写入压力较大,写带宽峰值超过3GB/s。

对写IO块大小的监控显示,P盘过程产生的临时文件块大小主要为128KB,所以使用大带宽NVMe SSD做缓存设备的性能表现出色。


综合上述测试数据与Chia官方推荐信息,推荐使用读写带宽更大和寿命更高的企业级NVMe SSD产品。挖矿也是技术密集型行业,所以真实的挖矿场景在设备选型、软件架构、运维管理等等方面,和文章中的测试方案可能不同。
07

总结


DWPD和PBW是 NVMe SSD两个重要的寿命指标,反映SSD在生命周期内允许的用户写入量,特别是JESD219负载下的寿命标称,可以帮助NVMe SSD寿命选型。

当前区块链领域,已经有不少基于机械硬盘的挖矿项目,使用Chia类似的挖矿机制,并且都进入稳定运营阶段,而NVMe SSD不论在性能、寿命、容量,都有更优异的表现。Filecoin、Chia等等区块链项目,采用NVMe SSD挖矿,就是在SSD里预先存进去“彩票”,再由区块链钱包隔一段时间发布“抽奖”,SSD在内部读取“彩票”数据,谁的SSD内有最佳答案,就获得区块链的货币奖励,如果想在挖矿中赢得更高中奖概率,采用Memblaze PBlaze全系列企业级NVMe SSD,提供高一致稳定带宽、大容量、高寿命,快速提高“彩票”(加密文件)总容量相对于全网容量占比,也就能提高挖矿收益。


参考资料:
Memblaze_PBlaze_MemSpeed_MemSolid技术白皮书
JESD218,Solid-State Drive(SSD)Requirements and Endurance Test Method
JESD219,Solid-State Drive(SSD)Endurance Workloads
https://chiadecentral.com/chia-blockchain-ssd-buying-guide/
https://www.chia.net/2021/02/22/plotting-basics.html
https://github.com/Chia-Network/chia-blockchain/wiki/SSD-Endurance


来源:全栈云技术架构

相关链接:

2021年云研究:化繁为简,把握核心云

Edge Native技术架构白皮书
中国云计算行业研究报告
中国云安全产品及技术概览
中国灾备行业白皮书(历年大全)
云基础设施技术需求(白皮书)
阿里云网络白皮书
云原生架构白皮书




转载申明:转载本号文章请注明作者来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。


推荐阅读

更多架构相关技术知识总结请参考“架构师全店铺技术资料打包”相关电子书(37本技术资料打包汇总详情可通过“阅读原文”获取)。

全店内容持续更新,现下单“全店铺技术资料打包(全)”,后续可享全店内容更新“免费”赠阅,价格仅收198元(原总价350元)。



温馨提示:

扫描二维码关注公众号,点击阅读原文链接获取架构师技术全店资料打包汇总(全)电子书资料详情


浏览 252
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报