闪存可靠性:预期和意外。 第1部分。USENIX协会的XIV会议。 文件存储技术

由于基于闪存的固态驱动器已成为在数据中心中永久存储信息的主要手段,因此重要的是要意识到它们的可靠性。 迄今为止,已经进行了使用合成测试对闪存芯片进行大量的实验室研究,但是没有足够的关于其在现场性能的信息。 本文致力于一项大规模现场研究的结果,该研究涵盖了数百万天使用硬盘驱动器,10种不同型号的固态驱动器,各种闪存技术(MLC,eMLC,SLC)以及在Google数据中心超过6年的运营使用情况。



我们检查了这些设备的各种可靠性特征,并得出了许多出乎意料的结论。 例如,当驱动器磨损时,比特误码率(RBER)的增长速度比指数指示器所建议的慢得多,更重要的是,它不允许预测不可纠正错误或其他类型错误的发生。

广泛使用的UBER(不可恢复的误码率)度量标准并不是可靠性的重要指标,因为我们没有看到读取次数和不可纠正的错误数之间的关系。 我们还没有发现证据表明,在SSD的正常使用期间,基于单级SLC架构的驱动器比MLC驱动器更可靠。 与传统的硬盘驱动器相比,更换基于闪存的SSD的频率要低得多,但是它们具有较高的纠错级别。

1.简介


在数据中心中使用基于NAND技术的固态闪存驱动器的流行正在不断增长。 可以在此类磁盘上放置的数据越多,信息的安全性和可用性就越高,取决于闪存驱动器本身的可靠性。 尽管与HDD相比,SSD的性能优势是众所周知的,但闪存驱动器的故障特性尚未得到很好的了解。

闪存制造商提供的数据仅包含模糊的保证,例如直到器件完全磨损为止的擦除周期数。 对问题的典型理解是基于通过进行受控实验室实验(例如,加速耐用性测试)来研究闪存驱动器可靠性的研究。 同时,少量随机选择的设备用于测试综合工作负载的影响。 缺乏研究来建立实验室测试结果与在真实条件下运行的闪存驱动器的可靠性特征之间的联系。

本文根据闪存驱动器在Google数据中心运行6年以来收集的数据,提供了有关闪存驱动器可靠性的现场研究的详细结果。 这些数据涵盖了数百万天的磁盘操作(Google机密了磁盘和设备的确切数量,因此我们无法提供确切的数量。但是,我们能够验证提供给我们的数据的统计意义),十种不同型号的闪存驱动器,各种闪存-技术(MLC,eMLC和SLC)采用24至50 nm的芯片技术。

我们使用此数据可以更好地了解闪存的操作可靠性。 特别是,我们分析了设备可靠性的以下方面:

  1. 闪存中发生的各种错误及其在现场的发生频率(第3节)。
  2. 误码率(RBER),诸如磨损,驱动器寿命和工作量等因素的影响,以及RBER与其他类型的错误的关系(第4节)。
  3. 不可恢复的错误,错误的发生频率以及各种因素对它们的影响(第5节)。
  4. 各种类型设备故障的现场特性,包括复杂故障,芯片故障以及维修和更换驱动器的频率(第6节)。
  5. 5.各种闪存技术(MLC,eMLC,SLC磁盘)(第7节)以及SSD和HDD可靠性比较(第8节)的可靠性比较。

我们确保我们的分析揭示了现场闪存可靠性的许多方面,这些方面与以前的工作得出的结论不同。 我们希望我们的工作将激励该领域的进一步研究。


标签 1.参加现场测试的模块的特征。

2.数据和系统的背景信息


2.1。 随身碟


我们的研究涉及基于工业生产的闪存芯片的串行高性能SSD驱动器,但我们使用了自定义PCIe接口,自定义固件和驱动程序。 我们专注于2代驱动器,其中同一代的所有驱动器都使用相同的设备驱动程序和相同的固件。 这意味着它们还使用相同的纠错码(ECC)来检测和修复损坏的位,以及使用相同的算法来确定磨损程度。 同一代驱动器型号之间的主要区别在于所用存储芯片的类型。

我们的研究集中在10种驱动器模型上,其主要特性如表1所示。我们从四种制造商中选择了模型,每种制造商都使用了三种最常见的闪存类型(MLC,SLC和eMLC),它们的工作时间达数百万天。

2.2。 使用数据


我们使用了在6年的运行期内每天监测现场闪存驱动器运行情况的数据。 此外,每天都会对各种类型的错误进行计数,收集有关工作负载的统计信息,包括写入和擦除操作的次数,并计算一天中发生的坏块的数量。 读取,写入和擦除操作的数量包括用户操作的数量和内部“垃圾回收”操作的数量。 还使用了记录芯片故障情况以及SSD维修或更换情况的记录。

3.各种错误的普遍性


让我们从有关该字段中各种错误发生频率的一些基本统计信息开始。 我们重点介绍了用户看不见的透明错误和导致用户操作失败的不透明错误。 闪存驱动器驱动程序报告以下类型的透明错误:

可纠正的错误:在读取操作期间,通过内置的ECC错误纠正功能纠正检测到的错误。

  • 读取错误读取错误:在读取过程中发生的错误(对于不具有非ECC错误校正的内存),在重复读取后已纠正;
  • 写入错误写入错误:重试后成功执行的错误写入操作。
  • 擦除错误擦除错误:块中的擦除操作失败。

设备还报告以下类型的不透明错误:

  • 无法纠正的错误:在操作过程中,发生的损坏位多于ECC无法修复的位。
  • 最终读取错误最终读取错误:反复尝试无法解决读取时发生的错误;
  • 最终写入错误最终写入错误:反复尝试无法修复在写入过程中发生的错误。
  • 元错误元错误:访问磁盘的内部元数据时出错。
  • 超时错误:3秒后操作中止。

致命错误包括在用户启动的操作或内部垃圾回收操作期间检测到的错误,而最终读取错误包括在用户操作期间发生的错误。

请注意,错误的影响程度会有所不同。 除了透明错误和不透明错误之间的区别外,不透明错误本身的严重性也会发生变化。 特别是,如果系统在较高级别上没有冗余,则其中某些错误(最终读取错误,致命错误,元错误)会导致数据丢失,因为磁盘无法为用户提供已接受存储的数据。

我们只考虑了至少4年前投入生产的磁盘(eMLC磁盘是3年前发布的,因为这是一种较新的闪存驱动器),并且考虑了在运行的前4年中发生的错误。 表2显示了如果每种类型的驱动器发生至少1次错误(表的上半部分)时遭受各种类型错误的驱动器的百分比,以及驱动器遭受某种类型的错误的工作天数的百分比(表的下半部分)。


标签 2.各种错误的普遍性。 该表的上半部分显示受错误影响的磁盘百分比,下半部分显示发生各种类型的错误的磁盘使用天数百分比。

3.1。 不透明错误


我们相信最常见的不透明错误是最终读取错误,即无法通过重复读取操作纠正的错误。 根据驱动器的型号,至少有20-63%的设备会在磁盘运行1000天后的2-6天内发生此错误。

我们得出的结论是,最终读取错误的数量与不可纠正错误的数量高度相关,并且这些最终读取错误的发生仅是因为无法使用ECC修复位损坏。 对于所有驱动器型号,最终读取错误的发生频率比任何其他类型的不透明错误都高两个数量级(如果您关注发生这些错误时驱动器的使用天数)。

与读取错误不同,写入错误很少会变成不透明的错误。 根据型号的不同,在运行10,000天后的1-4天内,只有1.5-2.5%的光盘会出现最终写入错误。 多次尝试后未纠正的写操作失败。 最终读取和写入错误发生频率的这种差异可能是由于以下事实:仅通过写入位完整的区域中的磁盘上的其他位置来简单地纠正了失败的写入操作。 因此,如果读操作的失败只能由几个损坏的位的存在引起,则最终的写错误表示更大的硬件问题。

元错误的发生频率与写入错误的发生率相当,但比最终读取错误的发生频率要低得多。 鉴于磁盘包含的元数据比实际数据少得多,这不足为奇,这会减少访问元数据的频率。 其他不透明的错误(超时错误和响应错误)非常少见,通常,在100,000天的磁盘操作中,一天之内影响不到1%的磁盘。

3.2。 透明错误


毫不奇怪,错误修复是透明错误的最常见类型。 几乎所有驱动器都有至少一些可纠正的错误,这些错误在大多数磁盘操作日期间都会发生(61-90%)。 本文的第4节讨论了可以更详细地纠正的错误,包括误码率分析(RBER)。

以下是最常见的透明错误类型,即写入和擦除错误。 通常它们出现在6-10%的驱动器中,但是对于某些型号的SSD,它们的使用率高达40-68%。 在大多数情况下,这种错误在运行10,000天中不到5天就会发生。 根据我们的研究,写入和擦除错误表示设备已损坏,此问题将在第6节中详细讨论。

读取操作期间发生的错误比透明错误少见,这可能是因为,除了使用ECC即时纠正错误之外,此问题无法通过重复操作解决。 不完整的读取错误,即可以通过反复尝试纠正的读取错误,发生在少于2%的驱动器中,并且在磁盘操作100,000天中持续不到2-8天。

结果,除了在大量磁盘操作中发生的可纠正错误之外,与所有类型的不透明错误相比,透明错误的发生频率更低。 最常见的不透明错误类型是在磁盘操作1000天中的2到6天内发生的不可纠正错误。

4.误码率(RBER)


评估闪存驱动器可靠性的标准度量标准是磁盘的误码率(RBER),其定义为损坏的位数与读取的位数之比(包括可纠正和不可纠正错误的情况)。

第二代驱动器(eMLC-A和eMLC-B型号)提供了损坏位和读取位的准确数量,从而使我们能够以高精度确定RBER。
第一代驱动器报告读取的位的确切数量,但是对于由16个数据块组成的每页,仅提供具有最大损坏位数的数据块的损坏位数报告。 结果,在最差的统计情况下,当所有块都包含错误并且这些错误的数量相同时,RBER系数可能比根据磁盘状态报告获得的系数高16倍。

在比较同一代驱动器时,此问题无关紧要,但在比较不同代驱动器时应考虑到这一问题。


标签 3.各种SSD型号的汇总误码率RBER。

4.1。 高级别RBER审查


表3显示了该模型的所有驱动器的每个驱动器模型的RBER中值,以及第95和第99个百分位数。 我们决定使用中位数和百分位数,因为我们发现平均指标由于几个明显不同的值而存在高度偏差,这使得很难确定任何趋势。

我们观察到不同驱动器型号的RBER差异很大,第一代驱动器的RBER从5.8e-10到3e-08以上。 如果不考虑中位数RBER值,而是考虑第95或第99个百分位数,则这些差异甚至更大。 例如,第99个RBER百分比范围从SLC-B模型的2.2e-08到MLC-D模型的2.7e-05。 即使在相同型号的驱动器内部也存在很大差异:第99个百分位的RBER驱动器往往比相同模型的中值RBER驱动器至少大一个数量级。

模型之间的RBER差异可以部分通过基础闪存技术的差异来解释。 MLC模型的RBER值高于SLC模型的RBER值,因此SLC模型的较高价格考虑了较低的RBER值。 在本文的第5节中,我们将看到这些差异如何转化为用户可见的不透明错误的差异。
EMLC模型报告的RBER比其他驱动器模型高几个数量级。 即使考虑到最坏情况下第一代RBER驱动器可能会高出16倍,系数值中存在的差异也要大一个数量级。 我们假设存在一个尺寸因素,因为与所有其他驱动器模型相比,这两种eMLC模型的芯片具有最低的微电子光刻技术。

最后,没有制造商的产品比其他制造商的产品更具优势。 在SLC和eMLC磁盘组中,同一供应商同时生产该组中最差的型号和最好的型号之一。
通常,RBER在各个光盘型号之间以及同一型号的SDD之间差异很大。 这激励我们进一步研究影响RBER的因素。

4.2。 哪些因素影响RBER值


在本节中,我们将研究许多因素对RBER的影响:

  • 由编程/擦除(PE)周期引起的磨损;
  • 实际年龄,即无论PE周期如何,设备在野外操作的月数;
  • 工作负载,由读取,写入和擦除操作的数量以及页面上可能损坏周围存储单元的操作数量来衡量;
  • 存在其他类型的错误。

我们以两种不同的方式研究了每个因素对RBER的影响。 我们通过绘制因素对RBER的影响来使用视觉数据,并使用相关系数研究影响的定量指标。 我们使用Spearman秩相关系数,因为它可以覆盖非参数方法中的单调非线性关系,这与例如Pearson的相关系数相反。

在详细分析各个因素之前,我们编译了一个汇总图,如图1所示。


1.磁盘操作月份中RBER值与其他因素之间的Spearman秩相关系数的依赖性。

这显示了磁盘操作月份中的RBER值与因素之间的Spearman等级相关系数与因素之间的关系,这些因素包括以前的PE周期数,本月的读取,写入或擦除次数,上个月的RBER值以及前一个月。 Spearman的等级相关系数可以从-1(强负相关)到+1(强正相关)之间变化。

每组标签显示RBER与一个特定因子之间的相关系数(请参见X轴上的解释),并且每组标签中的不同标签对应于不同的驱动器模型。 所有相关系数都应具有超过95%的置信度。

我们确保除上个月发生致命错误外,所有因素(至少对于某些模型)都与RBER表现出明显的关系。 我们还提请注意以下事实:由于某些因素可能相互关联,因此某些依赖性可能是错误的,因此在下一节中我们将更详细地研究每个因素。

4.2.1。 RBER和磨损

由于闪存单元的耐久性受到限制,因此RBER系数会随着编程/擦除(PE)周期的增加而增加。 图2中的RBER和PE周期之间的高相关系数证明了它们之间的关系。


2.中位数和95%的RBER对PE循环次数的依赖性。

2 95- RBER . , PE, 95- RBER .

, , RBER PE , 95- RBER. , , . : , , .

, RBER , , RBER PE. , MLC RBER PE, , PE (3,000 MLC), 4- RBER.

, , RBER , (., , MLC-D PE = 3000). , RBER 3- PE, , , PE.



, . ? ? 通过下订单或将其推荐给您的朋友来支持我们, 为我们为您发明的入门级服务器的独特模拟,为Habr用户提供30%的折扣: 关于VPS(KVM)E5-2650 v4(6核)的全部真相10GB DDR4 240GB SSD 1Gbps从$ 20还是如何划分服务器? ( RAID1 RAID10, 24 40GB DDR4).

Dell R730xd 2 ? 2 Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 $199 ! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — $99! . c Dell R730xd 5-2650 v4 9000 ?

Source: https://habr.com/ru/post/zh-CN470019/


All Articles