H-Code: A Hybrid MDS Array Code to Optimize Partial Stripe Writes in RAID-6

Chentao Wu, Shenggang Wan, Xubin He, Q. Cao, C. Xie
{"title":"H-Code: A Hybrid MDS Array Code to Optimize Partial Stripe Writes in RAID-6","authors":"Chentao Wu, Shenggang Wan, Xubin He, Q. Cao, C. Xie","doi":"10.1109/IPDPS.2011.78","DOIUrl":null,"url":null,"abstract":"RAID-6 is widely used to tolerate concurrent failures of any two disks to provide a higher level of reliability with the support of erasure codes. Among many implementations, one class of codes called {\\bfseries{M}}aximum {\\bfseries{D}}istance {\\bfseries{S}}eparable ({\\bfseries{MDS}}) codes aims to offer data protection against disk failures with optimal storage efficiency. Typical MDS codes contain horizontal and vertical codes. Due to the horizontal parity, in the case of \\emph{partial stripe write} (refers to I/O operations that write new data or update data to a subset of disks in an array) in a row, horizontal codes may get less I/O operations in most cases, but suffer from unbalanced I/O distribution. They also have limitation on high single write complexity. Vertical codes improve single write complexity compared to horizontal codes, while they still suffer from poor performance in partial stripe writes. In this paper, we propose a new XOR-based MDS array code, named Hybrid Code (H-Code), which optimizes partial stripe writes for RAID-6 by taking advantages of both horizontal and vertical codes. H-Code is a solution for an array of $(p+1)$ disks, where $p$ is a prime number. Unlike other codes taking a dedicated anti-diagonal parity strip, H-Code uses a special anti-diagonal parity layout and distributes the anti-diagonal parity elements among disks in the array, which achieves a more balanced I/O distribution. On the other hand, the horizontal parity of H-Code ensures a partial stripe write to continuous data elements in a row share the same row parity chain, which can achieve optimal partial stripe write performance. Not only within a row but also within a stripe, H-Code offers optimal partial stripe write complexity to two continuous data elements and optimal partial stripe write performance among all MDS codes to the best of our knowledge. Specifically, compared to RDP and EVENODD codes, H-Code reduces I/O cost by up to $15.54%$ and $22.17%$. Overall, H-code has optimal storage efficiency, optimal encoding/decoding computational complexity, optimal complexity of both single write and partial stripe write.","PeriodicalId":355100,"journal":{"name":"2011 IEEE International Parallel & Distributed Processing Symposium","volume":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"66","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 IEEE International Parallel & Distributed Processing Symposium","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IPDPS.2011.78","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 66

Abstract

RAID-6 is widely used to tolerate concurrent failures of any two disks to provide a higher level of reliability with the support of erasure codes. Among many implementations, one class of codes called {\bfseries{M}}aximum {\bfseries{D}}istance {\bfseries{S}}eparable ({\bfseries{MDS}}) codes aims to offer data protection against disk failures with optimal storage efficiency. Typical MDS codes contain horizontal and vertical codes. Due to the horizontal parity, in the case of \emph{partial stripe write} (refers to I/O operations that write new data or update data to a subset of disks in an array) in a row, horizontal codes may get less I/O operations in most cases, but suffer from unbalanced I/O distribution. They also have limitation on high single write complexity. Vertical codes improve single write complexity compared to horizontal codes, while they still suffer from poor performance in partial stripe writes. In this paper, we propose a new XOR-based MDS array code, named Hybrid Code (H-Code), which optimizes partial stripe writes for RAID-6 by taking advantages of both horizontal and vertical codes. H-Code is a solution for an array of $(p+1)$ disks, where $p$ is a prime number. Unlike other codes taking a dedicated anti-diagonal parity strip, H-Code uses a special anti-diagonal parity layout and distributes the anti-diagonal parity elements among disks in the array, which achieves a more balanced I/O distribution. On the other hand, the horizontal parity of H-Code ensures a partial stripe write to continuous data elements in a row share the same row parity chain, which can achieve optimal partial stripe write performance. Not only within a row but also within a stripe, H-Code offers optimal partial stripe write complexity to two continuous data elements and optimal partial stripe write performance among all MDS codes to the best of our knowledge. Specifically, compared to RDP and EVENODD codes, H-Code reduces I/O cost by up to $15.54%$ and $22.17%$. Overall, H-code has optimal storage efficiency, optimal encoding/decoding computational complexity, optimal complexity of both single write and partial stripe write.
H-Code:一种用于RAID-6中部分分条写优化的混合MDS阵列代码
RAID-6广泛用于容忍任意两个磁盘的并发故障,从而通过支持擦除码提供更高级别的可靠性。在许多实现中,有一类代码称为{\bfseries{M}} maximum {\bfseries{D}}istance {\bfseries{S}}eparable ({\bfseries{MDS}})代码,旨在以最佳的存储效率提供数据保护,防止磁盘故障。典型的MDS代码包括水平代码和垂直代码。由于水平奇偶性,在一行\emph{partial stripe write}(指将新数据写入或更新数据到阵列中磁盘子集的I/O操作)的情况下,水平代码在大多数情况下可以获得较少的I/O操作,但会受到I/O分布不平衡的影响。它们在高单次写入复杂度方面也有限制。与水平代码相比,垂直代码提高了单次写入的复杂性,但在部分条带写入时,它们的性能仍然很差。在本文中,我们提出了一种新的基于xor的MDS阵列代码,称为混合代码(Hybrid code, H-Code),它通过利用水平和垂直代码的优势来优化RAID-6的部分条带写入。H-Code是$(p+1)$磁盘数组的解决方案,其中$p$是素数。与其他代码使用专用的反对角奇偶条不同,H-Code采用特殊的反对角奇偶布局,将反对角奇偶元素分布在阵列中的磁盘之间,从而实现更均衡的I/O分布。另一方面,H-Code的水平奇偶性保证了对同一行奇偶校验链上连续的数据元素进行部分分条写入,从而达到最优的部分分条写入性能。不仅在一行内,而且在条带内,H-Code为两个连续数据元素提供了最佳的部分条带写入复杂度,并在我们所知的所有MDS代码中提供了最佳的部分条带写入性能。具体来说,与RDP和EVENODD代码相比,H-Code可将I/O成本分别降低15.54%和22.17%。总的来说,h码具有最优的存储效率、最优的编码/解码计算复杂度、最优的单写和部分条带写复杂度。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信