下载本文的PDF版本 PDF

硬盘驱动器

好的、坏的和丑陋的

JON ELERATH,NETWORK APPLIANCE

HDD(硬盘驱动器)就像花生酱和果冻三明治中的面包——有点像保存“软件”所必需的乏味的硬件。它们仅仅是达到目的的一种手段。然而,HDD 的可靠性一直是数据存储中一个重要的薄弱环节,也许是最薄弱的环节。在 20 世纪 80 年代后期,人们认识到 HDD 的可靠性不足以满足大型数据存储系统的需求,因此在系统级别添加了冗余,并采用了一些出色的软件算法,RAID(廉价磁盘冗余阵列)成为现实。RAID 将可靠性要求从 HDD 本身转移到数据磁盘系统。RAID 的商业实现范围从 n+1 配置(镜像)到更常见的 RAID-4 和 RAID-5,以及最近的 RAID-6,即 n+2 配置,它使用两个冗余磁盘(双奇偶校验)来提高存储系统的可靠性。此外,RAID 组级别的可靠性也得到了有利的增强,因为 HDD 的可靠性也在不断提高。

希捷和日立都已宣布计划在本篇文章发表时推出 1TB 的 HDD。随着更高的面密度、更低的飞行高度(磁头和磁盘介质之间的距离)以及垂直磁记录技术,HDD 的可靠性能否继续提高?实现这些容量所需的新技术并非没有隐忧。故障机制或故障概率与以前的产品有何不同?不仅存在源于新技术的需要解决的新问题,而且故障机制和模式也因制造商、容量、接口和生产批次而异。

这些新的故障模式将如何影响系统设计?了解当今和不久的将来使用的 HDD 技术的故障原因和模式,将突出设计替代方案和权衡的必要性,这对未来的存储系统至关重要。软件开发人员和 RAID 架构师不仅可以更好地理解他们的决策的影响,还可以了解哪些 HDD 故障是他们无法控制的,哪些是他们可以管理的,尽管可能会带来不利的性能或可用性后果。基于技术和设计,他们必须将弹性工作重点放在哪里?

本文确定了重要的 HDD 故障模式和机制、它们的影响和原因,并将它们与系统操作联系起来。新 HDD 的许多故障机制与过去相比没有变化,但困扰所有 HDD 设计的或多或少隐蔽的未被发现的数据损坏(潜在缺陷)将在不久的将来随着面密度的增加而继续恶化。

两种主要的 HDD 故障类别可能会阻止访问数据:一种是整个 HDD 发生故障,另一种是 HDD 仍在运行但数据已损坏。每种模式都有显著不同的原因、概率和影响。我称之为操作故障的第一种故障类型相当容易检测,但其发生率低于数据损坏或潜在缺陷,后者在读取数据时才会被发现。图 1 是一个无法读取数据的故障树——树中的最顶层事件——显示了无法读取数据的两个基本原因。

操作故障:无法找到数据

操作故障以两种方式表现出来:首先,数据无法写入 HDD;其次,在数据正确写入并仍然存在于 HDD 上且未损坏之后,电子或机械故障会阻止数据被检索。

坏伺服磁道。伺服数据以规则的间隔写入每个磁盘表面的每个数据磁道上。伺服数据用于控制读/写磁头的定位。伺服数据是磁头查找并保持在磁道上的必要条件,无论是执行读取、写入还是寻道命令。伺服磁道信息仅在制造过程中写入,既不能使用 RAID 重建,也不能在现场重写。伺服扇区中的介质缺陷会导致 HDD 丢失磁头位置的跟踪,或丢失磁头移动到下一个读取或写入位置的跟踪。有故障的伺服磁道会导致无法访问数据,即使数据已写入且未损坏。颗粒、污染物、划痕或热凸起会损坏伺服数据。

无法保持在磁道上。HDD 上的磁道不是完全圆形的;有些实际上是螺旋形的。磁头位置会不断测量并与应有的位置进行比较。PES(位置误差信号)将磁头重新定位到磁道上方。这种可重复的径向跳动是正常 HDD 磁头定位控制的一部分。NRRO(不可重复的径向跳动)无法通过 HDD 固件纠正,因为它是不可重复的。NRRO 由电机轴承、执行器臂轴承、噪声、振动和伺服环路响应误差引起的机械公差导致,可能会导致磁头定位花费太长时间才能锁定到磁道上,并最终产生错误。这种模式可能是由过度磨损引起的,并且会因高转速而加剧。它会影响滚珠轴承和流体动压轴承。这种类型的问题的阴险之处在于它可能是间歇性的。特定的 HDD 使用条件可能会导致在系统中读取数据时发生故障,但在测试站,问题可能不会再次出现。

超出 SMART 限制。今天的 HDD 收集和分析功能和性能数据,以使用 SMART(自我监控分析报告技术)预测即将发生的故障。一般来说,扇区重分配是预期的,并且每个 HDD 上都有许多备用扇区可用。但是,如果在特定的时间间隔内发生过多的重分配,则认为 HDD 不可靠并将其判定为故障。

SMART 实际上并没有那么智能。HDD 制造商在设计过程中面临的一个权衡是可用于存储 SMART 数据的 RAM 量,以及计算 SMART 参数的频率和方法。当包含 SMART 数据的 RAM 满时,是清除它,然后用新数据重新填充?还是保留最新的百分比 (x%) 的数据,并清除最旧的百分比 (1-x%)?前一种方法意味着,如果在产生许多错误的事件期间内存已满,则读取错误率等速率计算可能会出错。填充 RAM 之前的错误可能不足以触发 SMART 事件,清除之后的错误也可能不足以触发 SMART 事件,但如果未发生清除,错误情况可能很容易导致 SMART 跳闸。

一般来说,SMART 阈值设置得非常低,遗漏了许多可能主动使 HDD 发生故障的情况。使跳闸水平更敏感(在较低水平跳闸)会冒着使 HDD 因少量错误而发生故障的风险,而这些错误实际上并没有发展到故障的地步。HDD 可能只是顺利地进行了一系列重分配,从而映射出 HDD 的问题区域。集成商必须评估 HDD 制造商对 SMART 的实施情况,并查看是否有其他更具指导意义的计算。集成商至少必须在非常低的级别上了解 SMART 数据收集和分析过程,然后评估其特定的使用模式,以确定 SMART 的实施是否足够,或者 SMART 决策是否需要提升到系统(RAID 组)级别。

磁头博弈和电子元件。大多数磁头故障是磁性特性变化造成的,而不是电气特性变化造成的。ESD(静电放电)、高温和来自颗粒的物理冲击会影响磁性特性。与任何高度集成的电路一样,ESD 会使读取磁头处于降级模式。随后的中低水平热量可能足以使读取磁头在磁性上失效。谷歌最近发布的一份出版物未发现温度与可靠性之间存在显著相关性。在与所有主要 HDD 制造商的众多工程师的谈话中,没有人说温度不会影响磁头可靠性,但没有人发布将磁头寿命与时间和温度相关的传递函数。读取元件在物理上是隐藏的,难以损坏,但热量可以从屏蔽层传导到读取元件,影响读取器元件的磁性特性,特别是如果它已经被 ESD 削弱。

HDD 上的电子元件很复杂。已知的 DRAM 故障和芯片陶瓷电容器破裂会导致 HDD 故障。随着 HDD 容量的增加,缓冲区大小也会增加,并且需要更多 RAM 来缓存写入。是否需要在 RAM 级别进行 RAID 以确保不断增加的固态内存的可靠性?

操作故障数据

在许多关于磁盘故障率的研究中,所有平均故障间隔时间都与制造商的规格不符。更令人不安的是,人们意识到故障率很少是恒定的;供应商之间的差异很大,并且单个供应商的特定 HDD 系列内部的差异也很大。这些不一致性因意外和不受控制的批次间差异而进一步复杂化。

在一个来自同一制造商的相同型号的 HDD 群体中,可能存在统计上显著的子群体,每个子群体都具有不同的故障时间分布和不同的参数。对 HDD 数据的分析表明,这些子群体差异很大,以至于不应将它们分组在一起进行分析,因为故障原因和模式不同。HDD 是一种技术,它违背了“平均”故障率或 MTBF 的概念。不一致性是可变性和不可预测性的代名词。

以下是不可预测性的示例,这些示例的存在程度如此之高,以至于在产品的某些生命周期中,这些子群体主导了故障率

可靠性可变性的净影响是,RAID 设计人员和软件开发人员必须开发逻辑和操作规则,以适应所有 HDD 的显著可变性和最坏情况问题。图 2 显示了三个不同 HDD 群体的图。如果一条直线要拟合数据点并且斜率为 1.0,则群体可以用 Weibull 概率分布表示并具有恒定的故障率。(Weibull 分布用于创建常见的浴盆曲线。)一条直线无法拟合 HDD#2 或 HDD#3 群体,因此它们甚至不符合 Weibull 分布。事实上,这些不符合任何单一封闭形式的分布,而是由来自不同时间点占主导地位的原因的多种故障分布组成。图 3 是来自单个供应商的五个 HDD 年份的示例。直线表示恒定的故障率;斜率越低,HDD 越可靠。年份表示来自同一个月的产品。

潜在缺陷:数据损坏或丢失

前面的讨论集中在数据良好(未损坏)但某些其他电气、机械或磁性功能受损的故障模式。这些模式通常很容易检测到,并允许系统操作员更换故障的 HDD,在新 HDD 上重建数据,并恢复存储功能。但是,如果数据丢失或损坏,是因为最初写入不佳,或者是在写入良好后被擦除或损坏,该怎么办?所有由数据丢失引起的错误都是潜在的,因为损坏的数据驻留在那里,用户(软件)却不知道。潜在缺陷的重要性怎么强调都不为过。潜在缺陷与操作故障相结合是最有可能导致双重故障和数据丢失的序列。

为了更好地理解潜在缺陷,请考虑常见原因。

可以使用读验证命令纠正写入错误,但这些命令需要在写入后执行额外的读取命令,并且会使有效写入数据时间几乎加倍。BER(误码率)是对所有电气、机械、磁性和固件控制系统协同工作以写入(或读取)数据的有效性的统计度量。大多数误码发生在读取命令中,并使用 HDD 的内置纠错代码算法进行纠正,但错误也可能发生在写入期间。虽然 BER 确实占了部分缺陷数据,但数据损坏的更大来源是覆盖磁盘的磁记录介质涂层。

读写磁头在介质上方飞行的距离受到滑块空气动力学设计的精确控制,滑块包含读取器和写入器元件。在当今的设计中,飞行高度小于 0.3 微英寸。扰乱飞行高度的事件,在写入期间将其增加到高于指定的高度,可能会导致写入的数据质量不佳,因为磁场强度太弱。请记住,磁场强度不会随着与介质的距离线性下降,而是幂函数,因此随着磁头和介质之间的距离增加,磁场强度会非常迅速地下降。当磁头过高时写入数据可能会导致介质磁化不足,因此即使读取元件以指定的飞行高度飞行也无法读取数据。如果在先前写入的磁道上写入,则当磁头飞行过高时,旧数据可能会持续存在。例如,如果机柜中的所有 HDD 同时疯狂写入,则自激振动和共振可能足以影响飞行高度。在写入期间物理碰撞或敲击 HDD 或重重地走过支撑不佳的架空地板可能会产生过度的振动,从而影响写入。

一个更难解决的问题是由于润滑剂或其他碳氢化合物在滑块表面积聚而导致的飞行高度持续增加。碳氢化合物润滑剂用于封闭式 HDD 内的三个位置。为了减少 NRRO,电机通常使用流体动压轴承。移动磁头的执行器臂使用包含润滑剂的封闭式轴承筒枢转。介质本身也涂有一层非常薄的润滑剂,以防止磁头接触介质本身。介质上的润滑剂会在某些情况下积聚在磁头上,并导致磁头飞行过高。润滑油积聚也可能意味着未损坏、写入良好的数据无法读取,因为读取元件离介质太远。润滑油积聚可能是由润滑剂的机械特性引起的,而润滑剂的机械特性取决于化学成分。持续的高飞行高度也可能是由特定操作引起的。例如,当不写入或读取时,如果磁头在磁盘旋转时保持在同一磁道上方,则润滑剂可能会积聚在磁头上。在某些情况下,只需关闭 HDD 的电源即可使磁头在着陆区触地(按照设计执行),从而扰乱润滑油的积聚。但是,这非常依赖于具体设计,并且并非总是有效。

在制造过程中,会对 HDD 的表面进行检查,并映射出缺陷,并且 HDD 固件知道不要在这些位置写入。他们还在缺陷区域周围添加“填充”,映射出比估计最小值更多的块,从而在缺陷周围创建额外的物理距离,而这些距离不可用于存储数据。由于很难确定缺陷的确切长度、宽度和形状,因此添加填充提供了额外的安全保障,以防止写入介质缺陷。

介质缺陷,如空隙(凹坑)、划痕、碳氢化合物污染(各种油类)和涂抹的软颗粒,不仅会在写入期间引起错误,还会损坏已写入的数据。用于应用某些介质层的溅射工艺可能会在介质内部留下污染物。随后的滑块接触可能会去除这些凸起,从而在其中留下介质有缺陷的空隙。如果数据已写入此处,则数据将被损坏。如果未写入任何数据,则下一个写入过程将不成功,但除非使用写验证命令,否则用户将不会知道这一点。

早期的可靠性分析假设,一旦写入,数据将保持不被破坏,除非介质的磁性特性退化,这种过程称为位衰减。位衰减,其中磁性介质无法保持正确的磁场以被正确地解释为 0 或 1,实际上不是一个问题。介质会退化,但与其他模式相比,这种模式的概率微不足道。只要磁盘在旋转,即使没有数据写入或从磁盘读取,数据也可能被损坏。擦除的常见原因包括热凸起、腐蚀和划痕或涂抹。

热凸起是磁头与磁盘接触引起的短时间高温实例。这通常是由于磁头撞击小“凸起”造成的,这些凸起是由即使在珩磨和抛光后仍嵌入介质表面的颗粒造成的。单次接触产生的热量可能高到足以擦除数据。即使不是在第一次接触时,多次接触的累积效应也可能足以热擦除数据或机械地破坏介质涂层并擦除数据。

滑块设计用于推开空气传播的颗粒,使其不会滞留在磁头和磁盘表面之间。不幸的是,去除所有 0.3 微英寸范围内的颗粒非常困难,因此颗粒确实会被捕获。在 HDD 制造中使用的硬颗粒,如 Al2O3、TiW 和 C,将导致表面划痕和数据擦除。这些划痕随后成为未映射出的介质缺陷,因此下次将数据写入这些位置时,数据将立即损坏。其他“软”材料,如不锈钢,可能来自装配工具,而铝可能来自加工外壳的残留物。软颗粒倾向于在介质表面涂抹,导致数据无法读取和写入。腐蚀虽然经过仔细控制,但也可能导致数据擦除,并且可能会因 HDD 外壳内的高环境热量和热凸起的极高热通量而加速。

潜在缺陷

潜在缺陷是最阴险的错误类型。这些数据损坏存在于 HDD 上,但在读取数据之前不会被发现。如果在第一次读取数据时没有发生操作故障,则可以使用奇偶校验盘纠正损坏,并且不会丢失数据。但是,如果一个 HDD 经历了操作故障,并且当发现潜在缺陷时 RAID 组正在进行重建,则该数据将丢失。由于潜在缺陷会持续存在直到被发现(读取)和纠正,因此它们的发生率是 RAID 可靠性的一个极其重要的方面。

一项研究得出结论,BER 在创建损坏数据方面相当无关紧要,而另一项研究声称数据损坏率是 HDD 操作故障率的五倍。对通过特定 SCSI 错误代码识别的损坏数据以及随后的详细故障分析进行的分析表明,所有原因导致的数据损坏率都很高,必须将其纳入可靠性模型中。

Network Appliance 在 2004 年底完成了一项关于 RAID 架构中使用的 282,000 个 HDD 的研究。三个月内的 RER(读取错误率)为每读取字节 8x10-14 个错误。与此同时,对 66,800 个 HDD 的另一项分析显示,RER 大约为每字节 3.2x10-13 个错误。最近对 63,000 个 HDD 进行了为期五个月的分析,结果显示 RER 大幅提高,为每字节读取 8x10-15 个错误。在这些研究中,数据损坏被 HDD 制造商验证为 HDD 问题,而不是控制 RAID 组的操作系统造成的。

虽然微软研究院的 Jim Gray 断言,每天每个 HDD 传输 4.32x1012 字节是合理的,但对 63,000 个 HDD 的研究在五个月内读取了 7.3x1017 字节的数据,大约每天每个 HDD 的读取率为 2.7x1011 字节。使用 RER 和读取字节数的组合,得出表 1 中所示的每小时读取故障率。

潜在缺陷并非以恒定速率发生,而是以突发或相邻物理(而非逻辑)位置发生。虽然某些潜在缺陷是由磨损机制造成的,但无法获得数据来区分磨损与以恒定速率随机发生的缺陷。这些速率比操作故障的速率高 2 到 100 倍。

数据擦洗的潜在价值

潜在缺陷(数据损坏)几乎可能在任何 HDD 活动期间发生:读取、写入或只是旋转。如果未纠正,这些潜在缺陷将在发生操作故障时导致数据丢失。但是,可以通过后台擦洗来消除它们,后台擦洗本质上是对数据错误进行预防性维护。在擦洗期间(发生在空闲时间或低 I/O 活动期间),数据被读取并与奇偶校验进行比较。如果它们一致,则不采取任何措施。如果它们不一致,则恢复损坏的数据并将其重写到 HDD。如果介质有缺陷,则将恢复的数据写入 HDD 上的新物理扇区,并映射出坏块。

如果未进行擦洗,则累积潜在缺陷的时间段从 HDD 在系统中开始运行时开始。由于擦洗需要读取和写入数据,因此它可以充当具有依赖于使用时间的故障机制的 HDD 组件的加速故障时间。最佳擦洗模式、速率和擦洗时间是 HDD 特有的,必须与 HDD 制造商共同确定,以确保操作故障率不会增加。

频繁擦洗会影响性能,但擦洗频率过低会使 (n+1) RAID 组非常容易受到双磁盘故障的影响。与完全 HDD 数据重建一样,擦洗也有一个覆盖整个 HDD 的最短时间。完成擦洗的时间是一个随机变量,它取决于 HDD 容量和 I/O 活动。操作系统可能会调用完成擦洗的最长时间。

未来技术和权衡

那些故障模式将如何受到新的 1TB HDD 和采用 PMR(垂直磁记录)的 HDD 的影响?企业存储系统中使用的绝大多数 HDD 都使用 LMR(纵向磁记录)技术。磁性颗粒沿介质表面纵向形成。在 PMR 中,颗粒垂直于磁盘表面。将颗粒可视化为不规则的圆柱体。LMR 将圆柱体纵向放置,端到端地放在磁道上。PMR 将圆柱体的长度放入介质表面,因此记录磁头只能看到圆柱体的末端。这项技术极大地提高了面密度,但也带来了一些新的可靠性问题。PMR 比 LMR 具有更厚、更柔软的底层,使其比 LMR 更容易受到介质划伤和刮伤的影响。现在导致介质损坏的材料包括较软的金属和成分,这些材料在 LMR 设计中并不那么严重。

与 PMR 相关的另一个问题是侧磁道擦除。改变磁性颗粒的方向也会改变磁场的方向。PMR 具有靠近相邻磁道的返回场,并且可能会擦除这些磁道中的数据。一般来说,磁道间距足够宽,可以减轻这种机制的影响,但如果重复写入特定磁道,则侧磁道擦除的概率会增加。某些应用程序针对性能进行了优化,并将磁头保持在静态位置(少量磁道)。这不仅增加了润滑油积聚(高空写入)的可能性,而且还增加了擦除的可能性。

RAID 旨在容纳因划痕、涂抹、凹坑和空隙而损坏的数据。数据从奇偶校验盘重新创建,然后重建和重写。根据介质缺陷的大小,这可能是几个块或数百个块。随着 HDD 的面密度增加,相同物理尺寸的缺陷将影响更多的块或磁道,并需要更多的时间来重新创建数据。一个权衡是花费在恢复损坏数据上的时间量。台式机 HDD(大多数 ATA 驱动器)经过优化,可以找到数据,无论花费多长时间。在台式机中,没有冗余,并且(正确地)假设用户宁愿等待 60 秒并最终检索数据,也不愿让 HDD 放弃并丢失数据。

每个 HDD 制造商都有一套专有的恢复算法,用于恢复数据。如果找不到数据,伺服控制器会将磁头稍微移动到磁道标称中心的某一边,然后再移动到另一边。这种偏离磁道的读取可能会在不同的偏离磁道距离处执行多次。这是所有 HDD 制造商都使用的一种非常常见的流程,但 RAID 组可以等待此恢复多长时间?

一些 RAID 集成商可能会选择截断这些步骤,因为他们知道 HDD 将被视为故障,即使它不是操作故障。另一方面,当一个 HDD 正在尝试恢复可以使用 RAID 轻松恢复的数据时,RAID 组响应可以延迟多久?还要考虑遇到划痕时会发生什么。大量块的恢复,即使该过程被截断,也可能导致超时情况。HDD 正在关闭恢复数据,或者 RAID 组正在重建数据的时间太长,以至于性能停止;超过了超时阈值,并且 HDD 被视为故障。

一种选择是快速调用有问题的 HDD 故障,将所有数据复制到备用 HDD(甚至包括损坏的数据),并恢复恢复。复制命令比基于奇偶校验重建数据快得多,并且如果没有缺陷,则只有少量数据会被损坏。这意味着重建少量数据将很快,并且不会导致相同的超时情况。可以将有问题的 HDD(逻辑上)从 RAID 组中取出,并进行详细的诊断以恢复 HDD 并映射出坏扇区。

事实上,最近的一项分析显示了潜在缺陷对双磁盘故障频率的真正影响。早期的 RAID 论文指出,唯一需要关注的故障是操作故障,因为一旦写入,数据就不会改变,除非发生位衰减。

提高可靠性

硬盘驱动器不仅仅会发生灾难性故障。它们也可能会静默地损坏数据。除非经过检查或擦洗,否则如果也发生灾难性故障,这些数据损坏将导致双磁盘故障。由这些事件导致的数据丢失是 n+1 RAID 组的主要故障模式。如果要提高 RAID 组的可靠性,甚至跟上技术发展,则必须减轻或消除未被发现的数据损坏的影响。虽然擦洗是一种明确的答案,但您应该探索其他创造性的方法来处理潜在缺陷。

使用垂直记录的 TB 级容量驱动器即将上市,由于磁道宽度变窄、飞行磁头更低以及更容易受到较软颗粒污染物的划伤,这将增加可纠正和不可纠正错误的概率。一种缓解因素是通过提高驱动器上的纠错能力(4KB 块而不是 512 字节或 520 字节块)并使用全套恢复步骤,将不可纠正错误转换为可纠正错误。这些将降低性能,因此 RAID 架构师必须解决这种权衡。

操作故障率不是恒定的。分析现场数据,确定故障模式和机制,并针对那些最成问题的故障模式和机制实施纠正措施。操作系统应考虑围绕这些高概率事件及其对 RAID 操作的影响进行优化。

只有当这些高概率事件包含在 RAID 操作的优化中时,可靠性才会提高。未能解决这些问题是灾难的根源。

参考文献

  1. Kanellos, M. 2007. TB 级硬盘驱动器即将问世。CNET 新闻,1 月 4 日。http://news.com.com/2100-1041_3-6147409.html
  2. Pinheiro, E., Weber, W.-D., Barroso, L.A. 2007. 大型磁盘驱动器群体中的故障趋势。第五届 Usenix 文件和存储技术会议 (FAST) 会议论文集,2 月。
  3. 参见参考文献 2。
  4. Schroeder, B., Gibson, G. 2007. 真实世界中的磁盘故障:1,000,000 小时的 MTTF 对您意味着什么?第五届 Usenix 文件和存储技术会议 (FAST) 会议论文集,2 月。
  5. Sun, F. Zhang, S. 2007. 硬盘驱动器故障率在一年后是否进入稳态?IEEE 年度可靠性和可维护性研讨会会议论文集,1 月。
  6. Shah, S., Elerath, J.G. 2004. 磁盘驱动器年份及其对可靠性的影响。年度可靠性和可维护性研讨会会议论文集,1 月:163-167。
  7. Elerath, J.G. Shah, S. 2004. 服务器级磁盘驱动器:它们的可靠性如何?年度可靠性和可维护性研讨会会议论文集,1 月:151-156。
  8. Elerath, J.G., Pecht, M. 2007 增强 RAID 存储系统的可靠性建模。第 37 届 IEEE/IFIP 国际可靠系统和网络会议,英国爱丁堡,6 月。
  9. Elerath, J.G. 2007. 包含潜在缺陷和非齐次泊松过程事件的廉价磁盘冗余阵列 (RAID) 的可靠性模型和评估。机械工程系博士论文,马里兰大学。
  10. 参见参考文献 9。
  11. Gray, J., van Ingen, C. 2005. 磁盘故障率和错误率的实证测量。微软研究院技术报告,MSR-TR-2005-166,12 月。
  12. Schwarz, T.J.E., et al. 2004. 大型存档存储系统中的磁盘擦洗。IEEE 计算机协会研讨会:1161-1170。
  13. 参见参考文献 11。
  14. 参见参考文献 9。

JON ELERATH 是 Network Appliance 的可靠性工程经理。他的职业生涯长达 29 年,在此期间他还曾在通用电气、Tegal、Tandem Computers、康柏和 IBM 工作过。他专注于硬盘驱动器可靠性超过 15 年。他获得了亚利桑那大学的机械工程学士学位和可靠性工程硕士学位,以及马里兰大学的博士学位。

acmqueue

最初发表于 Queue vol. 5, no. 6
数字图书馆 中评论本文





更多相关文章

Pat Helland - 关注您的状态以了解您的心态
应用程序在进入分布式和可扩展世界后,经历了有趣的演变。同样,存储及其近亲数据库也与应用程序并肩发展。很多时候,存储和应用程序的语义、性能和故障模型在变化以支持不断变化的业务需求和环境挑战时,会进行微妙的舞蹈。在组合中添加规模确实激起了波澜。本文着眼于其中一些问题及其对系统的影响。


Alex Petrov - 现代存储系统背后的算法
本文深入探讨了在大多数现代数据库中使用的两种存储系统设计方法(读优化 B 树 和 写优化 LSM (日志结构合并) 树),并描述了它们的用例和权衡。


Mihir Nanavati, Malte Schwarzkopf, Jake Wires, Andrew Warfield - 非易失性存储
对于大多数从业计算机科学家的整个职业生涯来说,一个基本观察结果始终成立:CPU 的性能明显更高,价格也比 I/O 设备更昂贵。CPU 能够以极高的速率处理数据,同时为多个 I/O 设备提供服务,这一事实对各种规模系统的硬件和软件设计都产生了深远的影响,几乎在我们构建它们的整个过程中都是如此。


Thanumalayan Sankaranarayana Pillai, Vijay Chidambaram, Ramnatthan Alagappan, Samer Al-Kiswany, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau - 崩溃一致性
数据的读取和写入,作为任何冯·诺依曼计算机最基本的方面之一,却出奇地微妙且充满细微之处。例如,考虑在具有多个处理器的系统中访问共享内存。虽然一种称为强一致性的简单直观的方法最容易被程序员理解,但许多较弱的模型被广泛使用(例如,x86 总存储排序);这些方法提高了系统性能,但也以使系统行为的推理更加复杂且容易出错为代价。





© 保留所有权利。

© . All rights reserved.