没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
2013 年 8 月 Journal on Communications August 2013
第 34 卷第 Z1 期
通 信 学 报
Vol.34
No. Z1
基于 X-RDP 阵列码的一种数据分布策略
万武南
1,2
,索望
1
,陈运
2
,王拓
1
(1. 成都信息工程学院 网络工程学院,四川 成都 610225;2. 成都信息工程学院 应用密码学研究所,四川 成都 610225)
摘 要:对双容错 RDP(row diagonal parity)码进行了扩展,提出了一种基于 X-RDP 阵列码 3 容错的数据分布策略。
利用 X-RDP 码的代数定义,从理论上证明了 X-RDP 码具有 MDS 编码特性。并采用不同斜率几何直线图描述编
译码过程,易于软硬件实现。与其他数据分布策略进行比较,理论分析结果表明,X-RDP 码的空间利用率、编译
码效率、小写性能以及平衡性的综合性能达到最优,具有实用价值。
关键词:编码;纠删码;RDP 码;数据布局;磁盘阵列
中图分类号:TP333 文献标识码:A 文章编号:1000-436X(2013)Z1-0067-09
Data distribution strategy based on the X-RDP array codes
WAN Wu-nan
1,2
, SUO Wang
1
, CHEN Yun
2
, WANG Tuo
1
(1. Network Engineering Department, Chengdu University of Information Technology, Chengdu 610225, China;
2. Institute of Applied Cryptograph, Chengdu University of Information Technology, Chengdu 610225, China)
Abstract: A data distribution strategy based on the X-RDP code was presented for correcting triple storage failures,
which is an extension of the double-erasure-correcting RDP code. A theoretical proof that the X-RDP code is an MDS
code was given by using algebraic definition. The encoding and decoding procedures were described by geometrical line
graphs, which were easily implemented by soft hardware. The theoretical analysis shows that the comprehensive proper-
ties of the X-RDP codeis better than other popular MDS codes in encoding and decoding efficiency, small writes and bal-
ance performance, thus the X-RDP code is practically meaningful for storage systems.
Key words: coding; erasure-correcting code; RDP code; data placement; RAID
1 引言
目前,分布式存储系统在硬盘级的数据容错技
术大多采用基于单容错或双容错的数据分布策略
来提高系统可靠性
[1,2]
。双容错数据布局策略已经有
许多研究,文献[3~8]分别提出了 EVENODD 码
[3]
、
X 码
[4]
、B 码
[5]
、C 码
[6]
、RDP 码
[7]
、H 码
[8]
,编译
码只需要异或运算,并具有 MDS 编码特性,数据
冗余率达到了最优。但随着海量存储系统的发展,
存储介质急剧增大,设备发生损毁的概率也越来越
大,因此单容错和双容错数据分布策略已经无法满
足存储系统可靠性的要求,研究 3 容错、多容错的
数据分布策略已成为硬盘级数据容错技术的一个
重要研究问题。
在 3 容错和多容错数据分布策略研究方面,文献
[9~11]提出了 GRID
[9]
、HoVer 码
[10]
、WEAVER 码
[11]
能够纠 4 个以上错误的阵列编码布局,但是这 3 类
编码都不具有 MDS 编码特性,空间利用率只有大概
50%。FENG G L 等人在文献[12,13]中提出了 2 种新
的能够承受 3 个和多个存储介质同时故障的 2 类阵
列编码,分别是由类似于范德蒙矩阵和柯西矩阵来
构造的,编译码结构不易软硬件实现。文献[14,15]
提出的 Blaum 码
[14]
和 T 码
[15]
是低密度奇偶 MDS 码,
理论上能够容许多个错误,但是其译码方法不易实
现。Tau 在文献[16]中提出了 HDD1 码和 HDD2 码,
MDS 编码特性证明不充分,译码过程是基于高斯三
收稿日期:2013-06-21
基金项目:国家自然科学基金资助项目(60873216);四川省教育厅重点基金资助项目(12ZA223)
Foundation Items: The National Natural Science Foundation of Ch
ina (60873216); Key Project of Sichuan Provincial Department
of Education (12ZA223)
doi:10.3969/j.issn.1000-436x.2013.z1.009
·68· 通 信 学 报 第 34 卷
角的矩阵变换,其译码复杂度高。文献[17,18]分别
提出了在 EVENODD 码的基础进行扩展的 2 类 3 容
错 MDS 阵列码 STAR 码
[17]
和 EEOD 码
[18]
,但这 2
类编码继承了 EVENODD 码小写分布不平衡特性,
容易造成 I/O 瓶颈。
CORBETT P 等人提出了一种基于 RDP 码的双
容错数据分布策略,RDP 码的编译码效率和小写能
力平衡性都要优于 EVENODD 码的数据布局策略,
得到了双容错数据布局的最优
[7]
。因此在 RDP 码的
基础上,增加 1 校验列,提出了一种基于 X-RDP
码的数据分布策略,保留了 RDP 码具有小写性能
均衡和编码特性最优的特性,能够同时容许 3 个存
储设备出错。并理论上证明 X-RDP 是容 3 错 MDS
码。并采用不同斜率几何直线图描述法给出了编译
码算法,易于软硬件实现。并与其他 3 容错数据分
布策略相比,X-RDP 码的空间利用率、编译码效率、
更新率的综合性能达到了最优。
2 X-RDP 码的编码方法
2.1 X-RDP 码
在 RDP 码的基础上增加了 1 列校验列,RDP
码二维阵列结构扩展为(m−1)×(m+1),其中,前 m−1
列为源数据单元,后 3 列为校验数据单元。前 2 列
校验数据单元的编码规则与 RDP 码完全一样,增
加的最后 1 列校验列与第 2 列校验列编码规则类
似,3 列校验各数据单元的构造公式如式(1)~式(3)
所示。
2
, 1 ,
0
m
u m u t
t
c c
−
−
=
= ⊕
(1)
1
,
,
0
1
m
m
u m
u t t
t
t u
c c
−
−
=
≠ +
=
⊕
(2)
1
, 1
,
0
1
m
m
u m
u t t
t
t u
c c
−
+
+
=
≠ −
=
⊕
(3)
其中,
m
表示大于 2 的素数,
(mod )
m
x x m
= ,
,
i j
c
表示为第
i
行第
j
列的源数据单元或者校验单元。
根据编码的式(1)~式(3),表 1 给出了
5
m
=
时,
X-RDP 码的编码实例。
2.2 X-RDP 码编码过程的几何描述
X-RDP 码的二维阵列结构的每个源数据单元
可以看作平面坐标系上的点,则根据 X-RDP 码的
编码的式(1)~式(3),X-RDP 码的 3 列校验数据单
元构造公式可分别用几何直线斜率为 0、1、−1
的直线图描述(如图 1 所示)。为了描述更直观,
增加 1 行虚拟行(实际并不存在),该行虚拟单元
的数据都假设为 0,即
1,
0
m i
c
−
=
(
0 1
i m
+
≤ ≤
)。
图 1 给出了 m=5 时,X-RDP 码的 3 列校验列的几
何结构。
从图 1 中可以很清楚地看出,第 1 列水平校验
列的校验单元构造的几何特性就是沿着斜率为 0 的
直线所经过的前
2
m
−
列的数据单元的异或值,第 2
列斜校验列校验单元则从左下到右上 45°的斜率为
1 的直线经过前
1
m
−
列的数据单元的异或值,称为
“正斜校验列”。第 3 列斜校验列校验单元从左上
到右上 45°的斜率为−1 的直线经过前
1
m
−
列的数
据单元的异或值,称为“反斜校验列”。正斜校验
列与反斜校验列形状如“X”,因此称扩展 RDP 码
为 X-RDP 码。从图 1 可以看出最后两斜校验列需
要水平校验列的数据单元进行异或,因此在编码过
程中,需要首先构造水平校验列,才能构造后两校
验列。
2.3 XRDP 阵列码编码的代数定义
为了证明 X-RDDP 码具有 MDS 编码性质,
引入与上述几何直线描述方法等价的代数编码表
示方法,给出理论上的证明。预先给出相关矩阵
的定义。
定义 1 在 GF(2)有限域上,定义矩阵集
{
, ,
m m
I E
}
2 1
, ,
m
m m
−
E E
…
,
m
α
E
是一个
m m
×
矩阵,矩阵
m
α
=
E
(
)
,i j
m m
×
e ,
,
i j
e
定义如式(4)所示。
,
1,
0,
m
i j
i j
e
µ
= +
=
其他
(4)
其中,
1 1
, ,
m m m
m m m m m m
α α
− − − −
= = =E I E E E E
,
m
I
是
m m
×
的单位矩阵,而
m
E
是
m m
×
矩阵,如式(5)所示。
0 0 0 1
1 0 0 0
0 1 0 0
0 0 0 1 0
m
=
E
(5)
定义 2
( 1)
m m
× −
Q
分别是
( 1)
m m
× −
、( 1)
m m
− ×
矩阵,具体如式(6)、式(7)所示。
〓
T
1
1
( 1)
m
m
m m
→
−
−
− ×
=
Q I 0
(6)
剩余8页未读,继续阅读
资源评论
weixin_38612139
- 粉丝: 3
- 资源: 885
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 包含 Andrei Neagoie 的《从零到精通掌握编码面试 - 数据结构 + 算法》课程的所有代码示例,使用 Python 语言 .zip
- 数据库课程设计(图书馆管理系统)springboot+swing+mysql+mybatis
- C++ Vigenère 密码(解密代码)
- zblog日收站群,zblog泛目录
- C++ Vigenère 密码(加密代码)
- Vue Router 是 Vue 生态系统的一部分,是一个 MIT 许可的开源项目,其持续开发完全在赞助商的支持下成为可能 支持 Vue 路由器
- PM2.5 数据集 包含上海、成都、广州、北京、沈阳五地的PM2.5观测,csv文件
- 电动汽车与软件定义汽车(SDV)时代的汽车行业数字化转型
- C的两数相加求和的程序代码
- 使用特定版本的 Python 设置 GitHub Actions 工作流程.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功