A Survey of SSD Lifecycle Prediction


本文发表于: 2019 IEEE 10th International Conference on Software Engineering and Service Science (ICSESS)

摘要

SSD具有广阔的市场应用前景。 数据中心的服务器越来越倾向于将SSD用作硬盘的高性能替代品。 与HDD相比,SSD的优点是:启动速度快,读写速度快,随机读取延迟小,抗震和抗摔性能好,功耗低等。 但是,SSD的寿命低于HDD。 因此,我们的用户经常密切关注SSD的使用寿命。 他们是否可以准确预测SSD的寿命是他们是否可以预测的关键是否购买SSD。 在介绍SSD的内部原理的基础上,本文深入介绍了英特尔,Sumsang和IBM等多家主流公司的SSD寿命预测算法。 同时,还共享了基于AI的SSD寿命预测方法。 对比实验表明,基于人工智能的寿命预测要优于基于传统统计分析的寿命预测。

一:介绍

自成立以来,固态硬盘(SSD)一直以其高性能而广受追捧。随着闪存价格的下降和技术的进步,SSD迎来了更广阔的市场和发展前景。与机械硬盘(HDD)相比,固态硬盘(SSD)具有以下优点:
1)快速启动:没有电机会加速旋转过程。
2)读写速度:机械硬盘的跟踪时间约为10毫秒。固态硬盘不需要跟踪。固态硬盘的读写延迟小于0.1毫秒。固态硬盘的读写速度可以达到3GB / s,而机械硬盘的读写速度仅为100 MB / s。基于DRAM的固态硬盘写入速度非常快。
3)随机读取延迟小:寻址时间与数据存储位置无关,并且磁盘碎片不会影响读取时间。
4)防震,抗摔,无噪音:固态硬盘数据存储在闪存粒子中。内部没有机械零件,没有机械故障,没有碰撞,冲击和振动。噪声电平为0 dB。
5)低功耗:低发热。

SSD在实际应用中有两个困难。 首先,价格高,但寿命低于HDD。 一般来说,SSD的寿命只有几年,而HDD的寿命更长。 SSD的损坏是逐渐的。 其性能和错误率与SSD的寿命有关。 越接近寿命有限期,SSD的性能越差,错误率越高。 为了确保数据的准确性和安全性,需要在使用寿命结束之前更换SSD。 因此,SSD的使用寿命是业界普遍关注的问题。 如今,一些与SSD寿命相关的产品已经问世。 但是,当前寿命预测产品模型的准确性和可靠性仍需要提高。 Facebook和Google都花费了数年的时间在其数据中心计算大量SSD历史数据,并对SSD的可靠性进行了深入研究。

本文的结构如下:
第2章介绍了SSD的基本原理以及影响SSD寿命的主要因素。
第三章介绍主流制造商采用的技术。
第四章基于AI SSD寿命预测方法。
第五章是结论。

二:SSD介绍

A.SSD架构

SSD是一种计算机存储设备,使用闪存作为永久存储器。 SSD主要由控制单元和存储单元组成。 存储单元负责存储数据,控制单元负责控制数据的读取和写入。

控制单元包括主机接口,SSD控制器,DRAM等。 对于SSD生命,最重要的是SSD控制器。 它负责从主机到后端介质的读写访问和协议转换,页表管理,数据缓存和验证等。与HDD不同,SSD的读写单元需要在写入新数据之前擦除,这具体取决于 SSD的电子特性。 这称为:覆盖前擦除(erase before overwrite)。

SSD存储单元可以分为以下级别:LUN, Plane, Block, Page, Cell(LUN,平面,块,页面,单元)。 根据大小关系,依次为:LUN>平面>块>页面>单元

单元是NAND FLASH内部存储器的最小单元。 由于不同的物理结构,浮栅晶体管可以存储1位或多位数据。 根据浮栅晶体管可容纳的数据大小,NAND闪存可分为四类:SLC,ML,TCL和QLC。

Page是NAND FLASH可以执行编程和读取操作的最小单元。 大小通常为4KB / 8KB / 16KB。 页面由许多单元组成。

块是NAND FLASH可以执行擦除操作的最小单元,通常由多个页面组成。

B.写放大和相关算法

编程和读取的基本操作单位是Page,而擦除的基本操作单位是Block。 如果只需要更改块中的页面,则需要将整个块擦除,然后将页面与已擦除的页面一起写入。 写放大的最坏情况如下:一个页面的大小为4 KB,一个块的大小为256 KB,一个块包含64个页面。 NAND闪存以每页4 KB的速度写入数据,并以每块256 KB的速度擦除数据。 如果你要修改块中的一页,您需要擦除并重写整个块的数据。 此时,写放大系数为512KB / 4KB = 128。 写放大系数定义为实际NAND写与系统写的比率。

算法1:Weal Leveling

NAND FLASH中每块的擦除次数是有限的。 如果块之间的擦除次数不均匀,某些块频繁被使用,,这些块将优先于其他块。 当坏块的数量达到一定水平时,整个NAND FLASH将被判定为无效。 损耗均衡算法的目的是平衡NAND FLASH中每个块的擦除时间,从而可以充分利用每个块,从而延长NAND FLASH的寿命

算法2:Bad Block Management

坏块可以分为出厂先天坏块和后天形成的坏块。 Flash出厂时,或多或少有坏件。 一般来说,坏块的发生率为2%-10%。 后天形成的坏块是在以后使用块时发生的损坏,可以通过诸如读取,写入和擦除之类的操作来反映出来。 当检测到坏块时,管理算法会将块添加到坏块表中,并且不再使用该块。 有两种传统的坏块管理策略:跳过策略和替换策略。 使用跳过策略时,将直接跳过坏块。 在替换策略中,除了被普通用户使用的块,需要保留一些好的块来替换用户空间中的坏块。 当判断NAND FLASH中的一个块为坏块时,坏块管理算法将迁移坏块中的数据到保留的替换块种。

算法3:Garbage Collection

SSD不支持立即写入。 写入前应先擦除NAND, 因此,当可用容量低于阈值时,有必要通过垃圾回收紧密整理有效数据,并在重新使用之前清除空闲块。 简而言之,它是将块中的有效数据移动到其他块,然后擦除该块以备后用。 垃圾回收增加了可用空间,但同时又增加了擦除和写入操作,从而导致更大的写入放大系数和SSD寿命的损耗。

C.影响SSD寿命的主要因素

与HDD相比,SSD很少会对整个磁盘造成突然损坏。 相反,其寿命和性能随着SSD的使用下降。

因素1:Endurance

耐性是指NAND FLASH在某些测试条件下重复擦除数据的能力。 耐性是衡量NAND FLASH擦除寿命的重要可靠性指标。 JEDEC 建立了SSD耐久性的国际标准。 英特尔,美光和三星等大多数SSD制造商都采用此标准。 该标准定义了两个SSD耐久性指标:
TBW(Total Bytes Written)和DWPD(Drive Writes per Day)。 TBW表示可以写入磁盘的实际数据总量,DWPD表示在给定的期限内每天可写入磁盘的数量或次数。 DWPD和TBW可以相互转换。 转换公式如下:
在这里插入图片描述
公式1中的DWPD是每天的写入次数,公式2中的DWPD是每天的可写数据量。

因素2:Write Enlargement and Redundant Space

如2.2中所述,SSD的内置管理算法纠错算法将间接影响SSD使用中的擦除次数。 例如,良好的磨损均衡算法可以实现更均衡的磨损,从而提高SSD的使用寿命; 好的纠错算法可以降低RBER并延长SSD的寿命。

预留空间(OP)通常是指用户的非操作容量,可以将其视为SSD保留的交换空间,从而从实际的物理闪存容量中减去用户的可用容量。 由于存在垃圾回收,因此当系统要写入某些数据时,SSD需要进行一些其他数据迁移,以便为这些数据腾出空间。OP的功能是为数据迁移保留。 数据迁移将导致更大的写入放大倍数,这会受到OP的影响。 OP越大,SSD的写放大越小,性能越好,寿命越长。

因素3: SSD Age

根据Google关于NAND BER的统计和分析报告,SSD的寿命会影响原始误码率。 对于具有相同P / E编号的SSD,使用寿命越长,RBER越大,这意味着剩余寿命越短。 Google建议SSD需要一些老化机制,例如硅老化。

因素4: Operational Interference

比特差错可能由四个因素引起:保留chaxuo,读取干扰错误,写入程序干扰错误和擦除不完全错误。保持误差是由电荷泄漏引起的误差。 NAND颗粒的数据保持能力受到限制。 读取干扰错误是指在读取有关周围单元电荷的数据时施加的电压的干扰。 写入程序干扰错误是指施加电压以写入数据对周围单元电荷的干扰。 不完全擦除错误是指在擦除过程中未能将所有单元电势完全设置为零操作。

据称,读取操作会增加SSD的RBER,并降低SSD的可靠性。 但是其他工作流程对RBER和UBER没有影响。

三:主流技术

A. 基于写作量的预测

HP SSD life calculation formula in the technical whitepaper on SSD durability is as follows:
在这里插入图片描述

该公式需要四个参数:磁盘容量; 擦除时间(P / E周期); 每天主机写入; 写放大。除磁盘容量外,其他三个参数无法直接获取。 如2.4.2所述,供应商通常不使用擦除时间来定义SSD耐久性,而是使用TBW或DWPD。 系统的每日写入量和写入放大系数这两个参数需要计算一段时间后才能取平均值。

三星在其有关使用SMART属性估算硬盘寿命的白皮书中给出了以下寿命估算公式:
在这里插入图片描述
在这里插入图片描述
三星首先根据写入放大系数和损耗平衡系数计算硬盘可以写入的字节数。 由于采用了硬盘的磨损平衡算法,磨损平衡系数可以近似为1。在用户服务中,写入放大系数值得对NAND写入和主机写入进行比较。 写放大系数随用户服务而变化。 公式5的含义是计算一段时间内写入的数据量,并根据可以从公式4写入的字节数估算寿命。

根据三星的方法直接估算寿命所需的参数中,物理容量和测试时间显然是可用的值; 磨损平衡系数可以近似为1; 但是制造商通常不提供P / E周期数; 英特尔的SMART参数无法获得系统写入量。 写放大倍数还需要一段流量来估算。

B. 基于擦除程度的预测

除了写入的数据量外,一些制造商还提供基于磨损程度的寿命估算方法。 其中,三星不仅提供了基于写入数据量的计算方法,而且还给出了基于磨损程度的计算公式。

英特尔提供的计算方法取决于其SMART参数中的定时工作负载介质磨损和定时工作负载计时器。 还对它进行了一段时间的测试,以计算定时工作负载介质磨损和定时工作负载计时器的变化。 定时工作负载计时器是测试期间磨损程度的变化,而工作负载介质磨损时间是测试期间磨损程度的变化,以估计SSD的寿命。
在这里插入图片描述
三星还提出了类似于英特尔的公式。 区别在于三星建议在测试开始时重置定时工作负荷计时器,以便可以直接计算定时工作负荷计时器和定时工作负荷介质磨损的当前值。 但是,重置的“定时工作负荷介质磨损”与总磨损之间没有关联。
在这里插入图片描述
IBM寿命预测方法是通过研究代码获得的。 三星和英特尔都使用Timeed Workload Media Wear来估计寿命,但是Intel PCIe接口的SSD和其他供应商未将Timed Workload Media Wear作为SMART参数提供。 IBM使用整数磨损指数来估计寿命,该寿命更通用。

IBM计算寿命时,有必要在后台实时监视磨损程度(整数)的变化。 当磨损程度发生变化时,将记录并立即计算出1%变化的时间间隔。 计算了近8个变化的时间间隔后,计算了平均间隔。 根据IBM的定义,当平均间隔少于16天时,当前的SSD使用率会更高; 当平均间隔大于16天且小于20天时,当前SSD使用率介于高和低之间; 平均间隔超过20天时,当前SSD使用率较低。

IBM使用平均间隔时间来估计硬盘寿命周期的结束时间,并在估计寿命值少于6个月时报告错误和事件。 估计剩余寿命的方法可以表示为公式8。
在这里插入图片描述

四:AI 预测

预测是AI技术的重要应用之一。 人工智能技术可用于更准确地预测SSD的寿命。 在比较ARIMA [7],LSTM [8],[9],XGBoost [10]和FBProphet [11]的基础上,我们最终选择FBProphet算法进行SSD寿命预测。

先知模型的原理本质上是时间序列的分解。 时间序列的分解是时间序列分析领域中的一种常用方法。 先知模型将时间序列 y(t) 分为四个部分:趋势项g(t),期间项s(t),假期项h(t) 和误差项e(t)。
根据以下公式9将它们分组:
在这里插入图片描述
我们在公司测试环境下不断收集SMART_241磁盘磨损数据,然后使用fbprophet预测SMART_241的趋势。 最后,通过以下两个指标评估效果:
1)明年的绝对磨损误差与一年的变化的比率。
2)次年的平均绝对误差(MSE)[12]。
下图显示了带有先知默认参数的预测曲线。 趋势项似乎能够更好地表达减少写入量的趋势。
在这里插入图片描述
根据以上计算结果,下图比较了英特尔公式计算和先知建模(调整之前)的预测结果。 下图中的橙色线表示基于smart_241近似值的实际磨损趋势,蓝色线表示通过Prophet模型预测的磨损趋势,灰色线表示根据Intel磨损计算公式的磨损趋势。 可以看出,在训练集中,先知模型几乎完美拟合(蓝线和橙线几乎重合)。 在测试集上,由公式和模型获得的磨损值大于实际值。 但是,在训练集和预测集上,fbProphet模型的性能都优于公式计算。
在这里插入图片描述

结论

与传统硬盘相比,SSD具有明显的性能优势。 但是,SSD介质的擦除寿命低于HDD。 因此,重要的存储供应商在SSD寿命预测方面做了很多工作,以减少SSD寿命对用户服务的影响。 详细介绍了SSD的基本原理,影响SSD寿命的主要因素以及Intel,Samsung,HP和IBM的SSD预测方法。 最后,本文介绍了如何使用AI算法预测SSD寿命。 实验表明,基于fbprophet的寿命预测方法优于传统方法。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kxwang_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值