了解LabVIEW Real-Time系统预期使用寿命

概览

本文档将讨论在驱动器出现故障之前计算可写入LabVIEW Real-Time系统驱动器(如PXI/PXIe或cRIO 9803)的数据量时,多个因素对驱动器耐久性公式产生的影响。

 

在为应用程序恰当选择基于闪存的存储设备时,通常需要权衡成本、容量和耐用性。例如,虽然基于单级单元(SLC)的驱动器耐久性更高,使用寿命更长,但每GB的价格也比基于多级单元(MLC)的驱动器更加昂贵。然而,基于MLC的驱动器使用寿命远远不如SLC驱动器,在高温下存储时尤其容易出现问题。为了更好地确定应使用何种类型的闪存,我们需要了解每种方案的预期使用寿命,并将其与应用程序的要求进行比较。首先提出以下问题:

 

  • 哪种闪存架构可用?
  • 要使用的闪存的效率如何?
  • 非运行环境(存储)的温度是多少?
  • 可接受的最短非运行(存储)持续时间是多长? 

内容

术语

  • 硬盘驱动器(HDD):使用旋转磁介质存储数据的大容量存储设备
  • 固态硬盘(SSD):使用闪存存储数据的大容量存储设备
  • 驱动器耐久性:在驱动器出现故障之前可写入的数据量
  • 驱动器写入(DW):在驱动器出现故障之前可填充的次数
  • 总写入字节数(TBW):在驱动器出现故障之前可写入的数据量
  • 写入放大系数(WAF):闪存利用率的衡量标准。 WAF越高,闪存的利用率越低
  • 工作负载:应用程序预期的数据事务类型的配置文件。 工作负载与WAF直接相关
  • P/E循环:数据存储在闪存时的编程/擦除周期
  • 闪存单元:存储代表数据的电荷的晶体管
  • 闪存单元耐久性:在闪存单元出现故障之前可写入单个单元的P/E循环数
  • 温度加速系数(AT):调整存储温度对驱动器耐久性的影响。 该值使用阿伦尼乌斯公式计算得出。
  • 存储时间系数(STF):在保持数据完整性的同时,调整存储所需的时长。 计算公式为(N/12),其中N是存储的月数。
  • 数据保存时间:在不上电的情况下,闪存随时间维持所存储数据的数据完整性的能力
  • SLC NAND:单级单元闪存,使用两种可能的电压电平,每个单元存储一个数据位
  • MLC NAND:多级单元闪存,使用四种可能的电压电平,每个单元存储两个数据位
  • eMLC NAND:企业级MLC闪存,在MLC架构中存储一个数据位,在成本、耐久性和容量方面处于SLC和MLC之间。 也可以称为pSLC (Psuedo SLC)或iMLC(工业级MLC)
  • TLC NAND:三级单元闪存,每个单元存储三个数据位,由八种可能的电压电平表示
  • 平面NAND:单元为单层硅结构
  • 垂直NAND (V-NAND):单元由多层构成,可创建单元列。 也可以称为3D NAND。

驱动耐久性、单元耐久性、存储温度、存储放大之间关系

在各种运行和存储条件下计算SSD的精确耐久性非常复杂,并且涉及许多具有测量和统计属性的因素。 
但是,预期驱动器耐久性的代表性范例如下:

其中
     驱动器耐久性=驱动器写入中可写入的数据总量
    闪存单元耐久性=指定闪存架构的最大编程/擦除(P/E)循环数
     STF=存储时间系数,调整存储时长
     AT=温度加速度系数,调整存储温度
    WAF=写入放大系数,调整闪存的利用率

架构差异

SSD通常利用NAND闪存将数据存储在由浮栅晶体管组成的单元中。 每个单元中存储的电荷量决定了数据的值。 只要电荷足以确定单元的状态,或者可以通过使用纠错码(ECC)进行纠正,就可以保持数据完整性。 每个单元中存储的数据位数以及可写入该单元的次数取决于闪存设备所用的结构。

闪存架构单元层数每个单元的数据位数单元电压状态数单元耐久性1(P/E循环)
平面SLC112~100,000
平面MLC124~3,000
平面eMLC/iMLC/pSLC112~20,000
平面TLC138<1,000
垂直SLC可变,通常为6412TBD2
垂直MLC可变,通常为6424TBD2

1耐久性假定单元使用寿命结束时在40°C的存储环境中数据保存超过1年

2垂直SLC和MLC闪存的耐久性预计与平面闪存相似 

单元耐久性 

单元耐久性是指在数据无法再充分保留且单元出现故障之前闪存单元可实现的编程/擦除(P/E)循环数。 每次写入闪存单元时(一个P/E循环),该单元的氧化物层都会有一些退化。 由于该层在受到P/E循环的压力后会变弱,存储的电荷便更容易泄漏,单元保存数据的能力有所降低。

数据保存

每个单元的电荷水平必须保持在一定阈值内,才能保持数据完整性。 但遗憾的是,随着时间的推移,电荷会从闪存单元中泄漏,如果电荷损耗太多,那么存储的数据也会丢失。  

在正常操作期间,闪存驱动器固件会定期刷新单元以恢复损耗的电荷。 但是,当闪存不上电时,电荷状态会随时间自然退化。 电荷损耗的速率以及闪存对这种损耗的敏感性会受到闪存结构、闪存磨损量(在单元上执行P/E循环的次数)和存储温度的影响。 闪存单元耐久性规格通常假定驱动器使用寿命结束时数据保存时间至少为12个月。  

对于其他时长,可以使用存储时间系数(STF)来调整驱动器耐久性公式。  衡量STF的公式是存储时长除以标准12个月。 例如,如果需要36个月的存储时长,则STF将为3(36个月/12个月)。 下面列出了各种存储时长的STF值:

存储时长STF
1个月0.08
3个月0.25
6个月0.5
1年1
3年3
5年5
10年10

数据保存时间存储温度

尽管运行环境温度和非运行环境(存储)温度都会影响数据保存时间,但在计算驱动器耐久性时,非运行环境温度所产生的影响比较大。  

较低的存储温度会延长数据保存时间,而较高的存储温度会大幅降低数据保存时间。 例如,将存储温度从40°C升高到70°C可能会使驱动器的耐久性降低一个数量级以上,从而导致驱动器使用寿命结束时数据保存时间仅为数周而并非一整年。

温度加速度系数(AT)可用于调整存储温度。 该值从阿伦尼乌斯公式得出,总结如下表所示:

存储温度(°C)AT
250.13
300.26
401
556.4
7035
85168

有关温度对闪存耐久性和数据保存时间的影响以及如何计算AT的更多信息,请参阅温度对SSD耐久性的影响。

放大系数数据工作负载

闪存的利用率较低,通常效率不高,进而导致驱动器磨损加剧。 写入放大系数(WAF)表示闪存的利用率,其中WAF越高,效率越低。 可通过多种因素来确定WAF,其中一些由应用程序确定:

  • 写入数据的大小(与闪存块大小一致)
  • 数据写入方式(随机与顺序)
  • 所使用的磨损均衡算法的类型(由驱动器固件控制)


通常,较大的顺序写入要比较小的随机写入更加高效。 虽然为工业或嵌入式应用程序设置WAF没有固定公式,但可以将JEDEC应用程序工作负载标准作为备用(有关详细信息,请参见JEDEC JESD218和JESD219)。 企业级闪存用随机数据表示各种文件大小,而客户端级闪存

此外,驱动器固件通过损耗均衡和智能数据块管理功能来管理闪存利用率,相应的管理成效也会影响WAF。 由于WAF高度依赖于应用程序工作负载和驱动器固件,有时也会使用WAF = 4这一”经验法则”。 

工作负载访问类型常规WAF
企业级(JESD219)跨SSD存储的随机数据~15
“经验法则”当没有其他模型可用时,混合使用随机数据和顺序数据作为WAF的近似值4
客户端级(JESD219)消费类笔记本电脑的典型负载,主要由长顺序写入(例如照片、音乐)和一些较小的随机访问组成~2
全顺序所有写入均按大文件顺序执行~1

直接测量驱动器性能可以更精确地确定WAF。通过运行几个小时的应用程序并测量写入驱动器的实际数据量和执行的P/E循环,可以计算指定闪存和应用程序用例的WAF。 考虑到WAF对驱动器耐久性的影响,强烈建议对应用进行分析,从而确定其WAF。 

计算驱动耐久性 

了解闪存单元耐久性、存储时间系数、温度放大系数和写入放大系数后,就可以确定驱动器耐久性。  

回顾驱动器耐久性公式:

例1

非运行环境(存储)温度为40°C的64 GB SLC SSD,采用流式数据记录(顺序写入),理想数据保存时间为1年。 SLC闪存单元的耐久性为100,000个P/E循环,STF和AT均为1(因为我们在40°C的1年基准期内),且“全顺序”模型的WAF为1。

生命周期终止前的总写入字节数 = 64 GB x 100,000次驱动器写入 = 6400 TB

例2

非运行环境(存储)温度为55°C的64 GB SLC SSD,采用流式数据记录(顺序写入),理想数据保存时间为1年。 SLC闪存单元的耐久性为100,000个P/E循环,STF为1,55°C时AT为6.4,“全顺序”模型的WAF为1。

生命周期终止前的总写入字节数 = 64 GB x 15,614次驱动器写入 = 1000 TB

例3

非运行环境(存储)温度为55°C的128 GB eMLC SSD,写入配置文件未知,理想数据保存时间为24个月。eMLC闪存单元的耐久性为20,000个P/E循环,STF为2(24/12个月),存储温度为55°C时AT为6.4,采用“经验法则”模型的WAF为4。

生命周期终止前的总写入字节数 = 128 GB x 390次驱动器写入 = 50 TB

非运行环境(存储)温度为70°C的480 GB MLC SSD,采用流式数据记录(顺序写入),理想数据保存时间为3个月。 MLC闪存单元的耐久性为3,000个P/E循环,STF为0.25(3/12个月),在存储温度为70°C时AT为35,“全顺序”模型的WAF为1。

生命周期终止前的总写入字节数 = 480 GB x 342次驱动器写入 = 164 TB

使用数据耐久性规格 

利用驱动器耐久性公式,可根据应用程序的环境和性能系数来调整驱动器规格。  

但遗憾的是,在指定驱动器耐久性方面并没有整齐划一的方法。 一些数据表仅会列出驱动器容量和闪存技术,而其他数据表会列出特定测试条件下的特定驱动器耐久性规格。这些规格可能会列出用于计算的存储温度和数据保存时间,但通常未明确说明此信息。 如未指定,则可假定存储温度为40°C,数据保存时间为1年。  

范例

该驱动器的数据表列出了以下规格:

闪存类型SLC
驱动器容量64 GB
耐久性:总写入字节数(企业级)500 TB
耐久性:总写入字节数(客户端级)3855 TB


目标应用程序的存储温度为55°C,预期存储时间为1年,并且与消费类存储设备的使用方式相似。  

我们可以分析数据表,并确定在SLC(10万个P/E循环)下,企业级和客户端级闪存的有效WAF分别为12.8和1.7。  由于目标应用程序与消费类设备相似,我们可以使用1.7的客户端级WAF和3855 TB(或6万次驱动器写入)的相应耐久性规范。  

接下来,我们需要调整存储温度和时长。 可以通过以下公式计算得出:

假定存储温度为40°C (ATSPEC = 1),时长为1年(STFSPEC = 1)且WAFSPEC为1.7,指定的耐久性应为3855 TB。 目标应用的存储温度为55°C (ATADJ = 6.4),时长为1年(STFADJ = 1)且WAFADJ为1.7。 那么,调整后的驱动器耐久性规格为:

Was this information helpful?

Yes

No