ACM Transactions on Storage,Vol.号153、第十八条。出版日期:2019年5月
擦除码解码失败,HDD切换到重试模式以恢复失败的扇区。设p
表示扇区读取失败率。我们可以将纠删码解码失败率表示为:
当HDD在正常操作期间无法解码一个扇区时,会发生软扇区读取故障。这种故障将触发
HDD从正常操作模式切换到重试模式,以通过调整某些配置和参数(例如,读取头位置)
来重复读取故障扇区。在当今10
- 6
及以下)。即使在长延迟HDD读取重试之后也不能正确
读取一个扇区的概率被称为硬扇区故障率,其必须极低(例如,10
- 14
及以下)。假设我们
可以显著降低硬盘的位成本,软扇区读取失败率p
s
>>10
−
6
,硬扇区读取失败率p
h
>>10
−
12
。
由于每次HDD读取重试涉及很少(甚至很多)额外的盘旋转,因此其导致非常长的读取延
迟开销(例如,几十或几百ms)。相比之下,本地擦除码解码具有更少的延迟开销,特别
是在顺序读取请求的情况下。使用(l
n
,l
m
)纠删码可以将HDD读重试率从
ps
降低到P(l
n
,
l
m
,
ps
),其中P(l
n
,l
m
,
ps
)可以是比
ps
低的数量级。同时,硬扇区故障率从
Ph
降低到P
(
ln
,
Im
,
Ph
)。然而,本地擦除编码本身存在两个问题:(1)在小读取期间扇区读取失
败的情况下,其必须从HDD读取大量额外扇区以用于擦除码解码。
(2)
在小更新的情况下,它必须执行读取-修改-编码-写入操作。这两种情况都可能严重降低
HDD随机IOPS和读尾延迟,因为这会大大降低可靠性规格。
2.4 硬盘上的混合数据存储
为了最大限度地降低存储系统的TCO(总拥有成本),不仅要充分利用每个HDD的容量,
还要充分利用每个HDD的随机IOPS。因此,希望在每个HDD中混合具有对容量和随机
IOPS的互补要求的数据。在数据中心
,不可变数据
占据了基于HDD的存储系统的容量,这
并不罕见。根据它们的读访问特性,不可变数据可以被分类为:(1)主要通过顺序读访
问的不可变数据(例如,图像和视频):它们对容量的要求最高,但对IOPS的要求最低。
如参考文献[8]中所指出的,视频数据量的爆炸式增长是数据中心中HDD容量的主要驱动
力。(2)大多数(或至少明显地)通过随机读取来访问的不可变数据(例如,BigTable和
HBase中的32 KB或64 KB数据块随着大数据分析在数据中心的广泛部署,它们变得越来越
普遍。除了不可变数据之外,HDD还存储大量可变数据,这些可变数据通常比可变数据占
用少得多某些可变数据可能对IOPS要求很高。
通过将数据与对容量和随机IOPS的互补要求相结合,
每HDD容量和每HDD随机IOPS的利用率然而,由于不同的数据可能有利于不同的原始硬
盘的可靠性,成本权衡,可能难以实际实现系统辅助HDD位成本降低。例如,由于处理扇
区读取故障(特别是对于小读取)引起的延迟开销,具有较高随机IOPS需求的数据不能容
忍具有高扇区读取故障率的HDD,而具有较低随机IOPS需求的数据可以更容易地容忍这样
的HDD。不幸的是,现有的解决方案(例如,如上所述的局部擦除编码设计技术)仅适合
于单个可靠性,位成本权衡点,因此对于同一HDD中的不同数据的混合可能不太有效