安全检测:瑞星:安全 诺顿:安全 卡巴:安全
毕业论文-存储编码高效算法的实现,共42页,17641字
摘 要
由于信息的飞速膨胀,人们对存储的需求越来越高,常见的策略是使用RAID(Redundant Arrays of Inexpensive Disks)技术以满足这种需求。对于具有容错功能的RAID系统,每一次写操作都会进行编码计算。因此,编码的计算性能是影响系统的重要因素之一。
本文对Reed-Solomon、EVENODD、RDP这几种常见的RAID6编码方式的效率进行比较。传统Reed-Solomon码需要在伽罗瓦域上进行运算,其编码复杂度高。本文着重研究基于异或运算的新型阵列码EVENODD、RDP编码的算法和实现技巧,并且提出用EVENODD或RDP替换RAID6系统中原有的Reed-Solomon编码方式,从而有效地降低编码运算复杂度,进而提升RAID6系统写操作的速度。作者将这种思想在新型文件系统ZFS上进行了实现,最终通过测试证明了这一设想。
关键词 磁盘阵列 双容错编码 ZFS
目 录
摘 要 I
Abstract II
目 录 III
1. 绪论 1
1.1 课题背景 1
1.2 RAID介绍 2
1.2.1 RAID0:没有任何冗余信息 2
1.2.2 RAID1:镜像机制 2
1.2.3 RAID2:汉明码校验 2
1.2.4 RAID3:按位交叉存储的奇偶校验 2
1.2.5 RAID4:按块交叉存储的奇偶校验 3
1.2.6 RAID5:按块交叉、奇偶校验字散布 3
1.2.7 RAID6:P+Q阵列 3
1.3 主要工作和本文的组织结构 4
2. 常见的RAID6编码方式 5
2.1 Reed-Solomon码 5
2.1.1 编码 5
2.1.2 解码 6
2.2 EVENODD码 7
2.2.1 编码 7
2.2.2 解码 8
2.3 RDP码 9
2.3.1 编码 9
2.3.2 解码 10
2.4 几种编码方式的比较 11
2.5 编码实现 12
2.5.1 以校验字为中心还是以数据字为中心 12
2.5.2 采用行优先的方式还是采用列优先的方式 13
3. 高效RAID6编码在ZFS中的实现 15
3.1 ZFS简介 15
3.2 容错编码在ZFS中的位置 15
3.2.1 总体结构 15
3.2.2 存储设备的组织方式 16
3.2.3 raidz组件剖析 16
3.3 实现中需要注意的问题 18
3.3.1 问题由来 18
3.3.2 解决方案 20
3.4 EVENODD码在ZFS中的实现 21
3.4.1 编码 21
3.4.2 解码 22
3.5 RDP码在ZFS中的实现 23
3.5.1 编码 23
3.5.2 解码 25
3.6 使用SSE指令加速编码过程 27
4. 实验验证 29
4.1 实验环境 29
4.2 正确性验证 29
4.3 性能测试 30
5. 总结和展望 33
参考文献 34
致 谢 36