存储专家:全面解析RAID6技术
RAID6数据结构分析

为了防止两块磁盘故障而引起的数据丢失,HDS TagmaStore存储系统现在支持RAID 6(6D + 2P)。
和RAID 5相似的是,RAID 6采用了校验数据,和RAID 5不同的是RAID 6有两份检验数据,可以保证同一RAID组中两块磁盘同时故障而不丢失数据。
RAID 6(6D + 2P)原理和RAID 5相似,RAID 6(6D + 2P)根据条带化的数据生成校验信息,条带化数据和校验数据一起分散存储到RAID组的各个磁盘上。
在图1中,D0,D1,D2,D3,D4和D5是条带化的数据,P代表校验数据,Q是第二份校验数据。
图1RAID 6(6D + 2P)根据条带化的数据生成校验信息,条带化数据和校验数据一起分散存储到RAID组的各个磁盘上RAID 6校验数据生成公式(P和Q):P的生成用了异或P = D0 XOR D1 XOR D2 XOR D3 XOR D4 XOR D5Q的生成用了系数和异或Q = A0*D0 XOR A0*D1 XOR A0*D2 XOR A0*D3 XOR A0*D4 XOR A0*D5D0~D5:条带化数据A0~A5:系数XOR:异或*:乘在RAID 6中,当有1块磁盘出故障的时候,利用公式1恢复数据,这个过程是和RAID 5一样的。
而当有2块磁盘同时出故障的时候,就需要同时用公式1和公式2来恢复数据了。
在图1中,各系数A0~A5是线性无关的系数,在D0,D1,D2,D3,D4,D5,P,Q 中有两个未知数的情况下,也可以联列求解两个方程得出两个未知数的值。
这样在一个RAID组中有两块磁盘同时坏的情况下,也可以恢复数据。
上面描述的是校验数据生成的算法。
其实RAID 6的核心就是有两份检验数据,以保证两块磁盘同时出故障的时候,也能保障数据的安全。
数据分布如图2所示,通过条带化,把应用数据和校验数据打散到一个RAID组的8个磁盘中,可以充分保证读写性能和数据的安全性。
使用RAID6减少重建失败的技术对比和分析

186 •电子技术与软件工程 Electronic Technology & Software Engineering数据库技术• Data Base Technique【关键词】大容量硬盘 RAID5RAID6URE 可靠性 重建全球数据存储量呈现爆炸式增长,企业及互联网数据以每年50%的容量高速增长,据Gartner 预测,到2020年,全球数据量将达到35ZB ,等于80亿块4TB 硬盘。
数据结构变化给存储系统带来新的挑战。
非结构化数据在存储系统中所占据比例接近80%。
随着海量数据增长和存储技术的快速发展,硬盘容量也变的越来越大,硬盘故障后的重建时间变的越来越长。
为减少数据重建时间,国内部分厂商开发了不同的RAID 技术,像华为的块级虚拟化、宏杉的Cell 等技术可实现数据的快速重建。
由于种种原因,国外厂商如EMC 、IBM 等存储厂商仍然沿用成熟的RAID1.0。
服务器、小型NAS 等设备也只支持传统RAID 技术。
本文基于RAID 技术现有应用和大容量硬盘广泛使用的背景下,从硬盘URE 、错误处理、重建时间、失效机率等方面论述RAID5存在的各种问题和使用RAID6的必要性。
1 为什么需要放弃RAID51.1 URE硬盘有个指标叫URE ,也就是Unrecoverable Read Error Rate ,不可恢复读取错误。
一般普通的桌面级别硬盘,这个指标的值为1×10^-14,企业级硬盘URE 通常是1×10^-15甚至是1×10^-16。
意味着每读取10^14bit 的数据,就有可能产生1bit 的错误。
问题在于这个错误是无法被检测和修复的。
10^14bit 大约相当于12.5TB 的数据,也就是说每读取12.5TB 的数据,就有可能产生一个错误的读取。
由于目前硬盘容量越来越大,这使用RAID6减少重建失败的技术对比和分析文/张鹏 魏振东种现象会越来越严重。
RAID 6

RAID 6能保护更多的对象RAID 6提供了比RAID 5更高级别的数据保护、数据可用性及容错性,但也要付出更大的代价。
冗余独立磁盘阵列(RAID)技术让你可以根据某个应用的特殊需要,建立不同程度的数据保护机制。
RAID 0、RAID 1、RAID 5和RAID 10是应用最广泛的几种RAID;RAID 5(旋转奇偶校验)更是由于可以重建失效驱动器上的数据、照样能够访问存储的信息而最为流行;而RAID 6(双奇偶校验)万一遇到故障,可以保护两只驱动器上的数据,从而提供了更高级别的容错性。
更好的安全性在RAID 5阵列中,所有驱动器上的数据进行了条带化处理;奇偶校验信息分布、保存在所有磁盘上。
要是某只驱动器失效,剩余的那个阵列就会工作在降级模式下,直到失效驱动器被替换、上面的数据利用奇偶校验信息得到重建为止。
但倘若第二只驱动器在重建过程中也失效了,或者潜伏的存储介质缺陷导致重新过程中引起读错误,所有数据就会丢失。
如今更高的硬盘容量导致重建时间延长,这就增加了第二只驱动器在重建过程中失效的可能性。
RAID 6消除了这种风险。
在使用RAID 6的系统中,第二组奇偶校验在所有驱动器上进行计算、写及分布。
这第二个奇偶校验计算大大加强了容错性,因为即使两只驱动器都失效,也不会导致数据丢失。
但RAID 6所需的额外计算对写性能带来了不利影响。
性能基准测试显示,与RAID 5控制器相比,RAID 6控制器的总体写性能下降了30%以上。
RAID 5和RAID 6的读性能两者相当。
RAID提供商实现产品的方式各不相同,所以找到最大程度地减小RAID 6写开销的控制器,这很重要。
应当物色这种控制器:不仅能同时进行双奇偶校验计算,而且使用基于硅的专用条带管理器,从而大大降低写开销。
更低存储容量实现RAID 5至少需要三只驱动器,拥有N-1只驱动器的存储容量,因为相当于一只驱动器的容量专门用于保存奇偶校验数据。
譬如在四只驱动器、每只驱动器容量为200GB 的阵列中,总容量为800GB,而可用的存储容量为600GB。
解析RAID6:最新的冗余技术

解析RAID6:最新的冗余技术【简介】即使是通过三块以上硬盘建立的RAID5磁盘阵列也不能百分之百的保证数据的安全,当同时有两块硬盘出现问题时部分数据还是会损坏的。
因此为了进一步提高数据的安全级别,保证工作硬盘在同时损坏两块的情况下还可以保证数据不丢失,RAID6这种技术应运而生,而今天我们也将为各位IT168的读者介绍RAID6的一些基本情况并给大家推荐几款不错的RAID6存储产品。
第 2 页第 3 页众所周知服务器上的数据是珍贵的,而这些宝贵数据的保护工作是通过硬盘的冗余技术实现的,在以往的配置过程中我们依据数据的安全级别和当前服务器硬件配置两个条件来选择冗余技术的级别,从最简单的RAID0到RAID1,从中级冗余技术RAID3到RAID5。
然而即使是通过三块以上硬盘建立的RAID5磁盘阵列也不能百分之百的保证数据的安全,当同时有两块硬盘出现问题时部分数据还是会损坏的。
因此为了进一步提高数据的安全级别,保证工作硬盘在同时损坏两块的情况下还可以保证数据不丢失,RAID6这种技术应运而生,而今天我们也将为各位IT168的读者介绍RAID6的一些基本情况并给大家推荐几款不错的RAID6存储产品。
一、RAID6的前世今生:RAID6属于RAID磁盘冗余技术的最新标准。
在了解他之前首先要对RAID家族中的其他成员信息有所掌握。
RAID将普通硬盘组成一个磁盘阵列,在主机写入数据,RAID控制器把主机要写入的数据分解为多个数据块,然后并行写入磁盘阵列;主机读取数据时,RAID控制器并行读取分散在磁盘阵列中各个硬盘上的数据,把它们重新组合后提供给主机。
由于采用并行读写操作,从而提高了存储系统的存取系统的存取速度。
另外这种将数据平均分配在各个磁盘上的方法也避免了数据的大量损坏,再结合校验和冗余技术就可以保证一定的数据安全性。
RAID可分为级别0到级别6,通常称为RAID0,RAID1,RAID2,RAID3,RAID4,RAID5,RAID6。
raid6计算方法

raid6计算方法RAID6可是存储领域里很厉害的一种技术呢 。
RAID6是啥?简单说呀,它是一种磁盘阵列技术,主要是为了保证数据的安全性和可靠性。
那它的计算方法呢?RAID6需要至少4块磁盘哦。
它的容量计算有点小特别。
假如我们有n块磁盘,每块磁盘的容量是C,那RAID6的可用容量就是(n - 2)×C。
比如说,我们有5块1TB的磁盘,那可用容量就是(5 - 2)×1TB = 3TB啦。
这是为啥呢?因为RAID6要牺牲两块磁盘的容量来存储校验信息,这样才能在两块磁盘同时出故障的时候还能恢复数据呢,是不是很神奇 。
再说说它的校验计算。
RAID6用的是双重校验,这就像给数据上了双保险。
它通过复杂的算法来计算校验数据,这个算法有点像数学里的那种高深的组合计算。
不过咱不用太纠结具体算法啦,只要知道它能通过这些校验数据在磁盘故障的时候把数据找回来就行。
打个比方,就像我们有个魔法盒子,里面的数据要是少了或者乱了,这个魔法盒子里的校验数据就能像魔法咒语一样把数据还原到正确的样子 。
RAID6在企业级的存储应用里可太重要啦。
想象一下,如果企业的数据是宝贝,那RAID6就是保护这些宝贝的超级保镖。
它能容忍两块磁盘同时出故障,这对于那些不能容忍数据丢失的企业来说,简直就是救星。
而且它的计算方法虽然有点复杂,但是理解了基本的原理之后,就会觉得它真的很巧妙。
就像一个精心设计的机关,每个部分都有它的作用,组合起来就成了保护数据的强大力量 。
总之呢,RAID6的计算方法虽然不是那种一眼就能看透的简单计算,但是它在数据存储的世界里可是非常有用的,就像一个低调又强大的英雄,默默地守护着我们的数据财富 。
阵列双保险—RAID 6技术简介

阵列双保险—RAID 6技术简介为什么需要RAID 6?在经过多年的沉寂之后,RAID 6技术随着大容量ATA硬盘的广泛采用又重新引起了业界的重视。
相对于RAID 5来说,用户对RAID 6的了解比较少,因此本文根据HDS 的技术白皮书《Using RAID-6 With Hitachi TagmaStore Storage for Improved Data Protection》改编与大家共享。
RAID 5 是在存储系统中广泛采用的数据保护技术。
该技术是通过把应用数据分成数段,连同这些数据段的校验信息写入一组磁盘来实现的。
如果其中有个磁盘出现了故障,就会利用其余的磁盘中的数据和检验信息把故障盘中的数据恢复到热备盘中以保证数据不会丢失。
这样RAID 5就存在一种风险,如果在数据重建的过程中,RAID组中的第二块硬盘出现故障,就会出现数据丢失。
以前,两块盘同时坏的情况是小概率事件,几乎不可能发生。
但是近来随着光纤(FC)盘和SATA盘的容量和密度不断增加,使得RAID 5的重建时间也不断增加。
这样两块盘同时坏的概率也增加了,在企业级存储上,这种风险必须得到重视。
为了应对这种情况,存储厂商的RAID 6技术就是可以保证两块盘同时出故障而不会丢失数据的新技术。
日立数据系统(HDS)公司的TagmaStore 全线存储系统除了支持RAID 5,RAID 1技术以外还可以支持RAID 6保护技术,提供给用户多种保护方式的选择。
RAID 6技术背景和简介RAID技术是为了防止存储系统因为磁盘故障而丢失数据而研发出来的。
该技术把数据和校验信息分布到一组盘中(RAID组),当有盘坏的时候,丢失的那部分数据可以通过其他盘上的数据和校验信息计算恢复。
这样就增强了存储系统的可靠性。
HDS公司的TagmaStore全线存储系统可以支持RAID 0,RAID 1,RAID 5和RAID 6技术,所以HDS的存储系统不但可以提供更好的可靠性,而且也可以比以往的存储系统有更出色的性能。
raid6介绍
RAID 6 介绍一、 RAID技术RAID是由美国加州大学伯克利分校的D.A. Patterson教授在1988年提出的。
RAID是Redundent Array of Inexpensive Disks的缩写,直译为“廉价冗余磁盘阵列”,也简称为“磁盘阵列”。
后来RAID中的字母I 被改作了Independent,RAID就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。
RAID的级别包括RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6,以及在此之上的各种组合,其中具有容错功能的是RAID1、RAID5和RAID6。
本文就以介绍各种容错功能的RAID系统,来讲讲RAID6诞生的历程。
二、容错的RAID技术 2.1 RAID1图-1 RAID1RAID1就是大家常说的镜像系统,如图-1所示,它将数据分别写到源 (Source) 存储设备和镜像 (Mirror) 存储设备上,因此数据被保存了两份,从而使得即使源设备损坏,或者说源设备上的某快数据损坏,仍然还有镜像设备上的备份数据,从而提供了容错的特性,反之亦然。
只有源设备和目标设备的数据同时损坏时,整个容错系统才汇报失败。
对于RAID1,因为源设备和镜像设备保存了同样的数据,所以其存储空间利用率为50%。
如果每个存储设备的故障率为p,那么整个RAID1其可用性为:1- p * p = 1 – p22.2 RAID5图-2 RAID5RAID5采用计算异或 (XOR) 的方式来实现容错,也就是说对于发送下来的数据,采用条带 (stripe) 技术分块,并计算校验。
如图-2所示,P0 = 0⊕1⊕2, ⊕为异或运算因此,即使其中的一个存储设备出现故障,也可以通过计算异或,得到相对应的数据,比如数据块0出现故障,可以采用如下方式得到它:P0⊕1⊕2 = 0⊕1⊕2⊕1⊕2= 0⊕1⊕1⊕2⊕2 = 0对于RAID5,如果由N个存储设备组成,由于要保存额外的校验数据,那么其存储空间利用率为:(N-1)/N = 1 - 1/N如果每个存储设备的故障率为p,只要任何两个存储设备出现故障,RAID5就不可用了,因此整个RAID5其可用性为1- p * p = 1 – p22.3 RAID6图-3 RAID6RAID6采用双重校验的方法,如图-3所示。
raid6校验方式
RAID6校验方式1. 介绍RAID(冗余磁盘阵列)是一种通过将多个硬盘组合起来来提供更高性能和更高容错能力的存储技术。
RAID6是RAID级别中的一种,它在提供数据冗余和容错能力方面比其他级别更强大。
RAID6采用了两个以上的校验盘,使得系统可以同时容忍两个磁盘故障而不会导致数据丢失。
它通过在数据块中添加额外的校验信息实现这一点。
本文将详细介绍RAID6的校验方式,并探讨其优缺点以及适用场景。
2. 校验方式RAID6使用了一种称为P+Q校验的方式来提供冗余和容错能力。
具体来说,它使用了与RAID5类似的奇偶校验方法,但添加了额外的Q盘用于纠正两个磁盘故障。
首先,RAID6将输入数据分成多个块,并将这些块分别存储在不同的硬盘上。
然后,对于每个块,它计算出一个奇偶校验值P,并将其存储到一个特定的P盘上。
此外,还计算出一个额外的校验值Q,并将其存储到一个特定的Q盘上。
P和Q的计算方式如下:•P值是对所有数据块的异或运算结果。
•Q值是对所有数据块以及P值的异或运算结果。
通过这种方式,RAID6可以在两个磁盘故障的情况下恢复数据。
当发生磁盘故障时,系统可以使用其余的数据块以及P和Q值来重建丢失的数据。
3. 冗余和容错能力RAID6具有比其他RAID级别更高的冗余和容错能力。
由于采用了两个校验盘,它可以同时容忍两个磁盘故障而不会导致数据丢失。
当发生单个磁盘故障时,系统可以使用剩余的数据块和校验信息来重建丢失的数据。
当发生多个磁盘故障时,系统仍然可以通过使用其余的数据块以及P和Q值来重建丢失的数据。
因此,RAID6提供了更高级别的可靠性和容错能力,使得用户在硬件故障发生时不会丢失重要数据。
4. 性能影响尽管RAID6提供了更高级别的冗余和容错能力,但它的写入性能相对较低。
这是因为在写入数据时,系统需要计算并更新P和Q值。
特别是在进行小数据块写入时,RAID6的性能影响更加显著。
由于需要进行多次校验计算,写入操作可能会变得较慢。
全面解析RAID6技术
直线网既然是讲原理,那些“为什么需要RAID6”、“RAID6的优势”等内容就都省去了。
直接进入枯燥无趣的理论。
一、RAID5和XOR运算为了照顾初学者,还是先把相关基本概念介绍一下,老手可以跳过这部分直接看下面。
(别低头!是看本帖下面,想些什么呐~)XOR运算是数理逻辑的基本运算之一,在课本上的符号是一个圆圈里面一个加号。
实在懒得用插入符号功能,大家就凑合着看吧。
两个数字之间的XOR运算定义是:1 XOR 1 = 01 XOR 0 = 10 XOR 1 = 10 XOR 0 = 0(忽然想起试行新车牌的时候,有些深圳人用三位二进制数标记性别。
010是男的,101是女的。
Sorry,扯远了。
)多个数字XOR的时候,有两个特点:A)结果与运算顺序无关。
也就是 (a XOR b) XOR c = a XOR (b XOR c)。
B)各个参与运算的数字与结果循环对称。
如果 a XOR b XOR c = d,那么a =b XORc XOR d;b = a XOR c XOR d;c = a XOR b XOR d。
磁盘阵列中的RAID5之所以能够容错,就是利用了XOR运算的这些特点。
上面例子中的a、b、c、d就可以看作是四颗磁盘上的数据,其中三个是应用数据,剩下一个是校验。
碰到故障的时候,甭管哪个找不到了,都可以用剩下的三个数字XOR一下算出来。
在实际应用中,阵列控制器一般要先把磁盘分成很多条带(英文叫Stripe,注意不是Stripper),然后再对每组条带做XOR。
见下面第一个图。
P1 = 数据a XOR 数据b XOR 数据cP2 = 数据d XOR 数据e XOR 数据fP3 = 数据g XOR 数据h XOR 数据iP4 = 数据j XOR 数据k XOR 数据l扫盲部分就讲这么多,再不懂就google吧,满山遍野都是RAID5算法的介绍。
二、RAID6和Reed-Solomon编码本来想写成“李德-所罗门编码”,但那样就不方便大家一边看帖子一边google 了。
RAID 6 原理分析
Part1 RAID算法的数学基础作者: 190344862@A.Galois(迦里瓦域)代数算法1.接下来讨论的迦里瓦数域是GF{28},域中最小0,最大257;表示最大有257颗HDD,其中255(28 - 1)数据磁盘,2个冗余盘P 和Q2.在迦里瓦域中,域内元素用{}括起,代表一个十六进制数:{02} = 0x02;域外的数字代表一个常数3.加、减法操作代表按位XOR:A+B=A-B;由此,A+A=A-A={00}4.加法恒元:{00},乘法恒元:{01};A + {00} = A, A * {01} = AA256 = {01} * A = AA255 = {01}5.域中加法及乘法符合交换律,结合律:A +B = B + A(A + B) + C = A + (B + C)A * B=B * A(A * B) * C = A * (B * C)(A + B) * C = A * C + B * C6.单独讨论一下和{02}的乘法,拆开按位计算:X为某迦里瓦域的被乘数,与乘法因子{02}计算,X n为新乘积数的第N位(X * {02})7 = X6(X * {02})6 = X5(X * {02})5 = X4(X * {02})4 = X3 + X7(X * {02})3 = X2 + X7(X * {02})2 = X1 + X7(X * {02})1 = X0(X * {02})0 = X7这种算法用数字电路来表示,很像LFSR 线性反馈移位寄存器7.参照上面与{02}的乘法规则,推导{02}n的结果:{02}2 = {02}* {02}= {04}{02}3 = {04} *{02} = {08}{02}4 = {08} * {02}= {10}{02}5 = {10} * {02}= {20}{02}6 = {20} * {02}= {40}{02}7 = {40} * {02}= {80}( BUT: {02}8 = {1d} ){02}8 = {02}7 * {02} = {80} * {02} (推导)由此可以看出,任何一个十六进制数[7:0]和{02}相乘,最高位bit7为1时,和{02}的乘法结果为{1d}8.任何一个十六进制数X,可分解为各个位上数的XOR之和:X = (X7 000 0000) ^ (0X600 0000) ^ (00X50 0000) ^ (000X4 0000) ^ (0000 X3000) ^ (0000 0X200) ^ (0000 00X10) ^ (0000 000X0)B.在RAID6上的应用1.P = D0 + D1 + D2 +… + D n-1Q =g0 * D0 + g1 * D1 + g2 * D2 + … + g n-1 * D n-1通常情况下,乘法因子选取g={02}, n<=255,P/Q/ D x向量,表示一组字节数2.在计算中主要的消耗在于迦里瓦域的乘法和加法,主要在于计算Q,对计算Q的公式进行简化:Q2 = g2 * D2 + g1 * D1 + g0 * D0 = (( D2 * g + D1) * g) + D0….Q = ((…D n-1...) * g + D2) * g + D1) * g + D0由此可以看出,对Q的计算可以化简为D x * g + D x-1,以及一系列循环迭代。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
存储专家:全面解析RAID6技术
咳~咳~听好了。
Q是同一条带中各数据的女朋友们进行XOR运算的结果。
别翻白眼啊,书上就是这么写的啊!哦,还是英文的,我翻译给你听。
“把条带中每个数据分别GF一下,然后这些结果再XOR,就得到Q。
”
(大哥,你到底懂不懂啊!GF是Galois Field的缩写,是法国著名数学家伽罗瓦发明的一种数学变换。
)
哦,想起来了。
伽罗瓦嘛,发明群论的那个。
生于法国大革命前,二十出头就英年早逝,还是为了个姑娘跟人决斗被打死的。
最著名的成果就是给3次以上方程判了死刑。
是我人生第二偶像啊……
(唐僧!)
这个GF变换呢,就是这个淘气的伽同学当年为了逃避老师点名,而发明的一种教室换座位方法。
按照这种方法,每个人都不会坐在自己的座位上,而且每个人都肯定会有座位。
而且任意个同学的座位号进行XOR运算之后,仍然跑不出这个教室里的座位号。
(这个伽同学好像很无聊噢!没办法,人家聪明嘛!)
扯太远啦!回到正题。
在Intel80333IOP中存着两个表格,分别对应GF正向变换和反向变换。
任何一个8位二进制数,都可以直接在表格中查到对应的GF变换结果。
(我还是想把这个结果说成是源数据的女朋友~)
这两个表格分别在Intel80333IOP研发手册的第445页和446页,不过我估计大部分人会懒得去看。
也是,看了又能怎么样呢?反正Intel已经把那玩意固化到芯片里了。
哇!都半夜2点了,说完P+Q RAID6的恢复,我要先zZZ……了。
如果一颗磁盘掉线,根本不需要Q用P直接就搞定了,跟RAID5一样。
如果两颗磁盘掉线,又分做两种情况:
A)坏的地方有Q。
这种情况跟RAID5坏一颗磁盘一样,用XOR就恢复了。
B)坏的地方没有Q。
用GF变换加XOR一起搞定。
结合上面表格的例子,如果磁盘5和磁盘6掉线。
那条带1和条带2就属于情况A;而条带3、4、5和6属于情况B。
产品化。
NetApp之所以喜欢这个类似Dual-XOR的RAID-DP算法,原因也很简单。
NetApp原本用的就是RAID4,而不是RAID5,其算法的中心思想就是每次I/O只跟两颗磁盘打交道就OK,自然就不会在乎RAID-DP中很多动作都只跟两、三颗磁盘打交道。
(这个思想也许在很多RAID5的Fans看来有点奇怪,难道不是磁头越多性能就越好吗?但是人家NetApp这么多年的经验都集中在WAFL文件系统上,而WAFL文件系统又是专门针对这种思想优化的。
所以NetApp对这个略有异类的思想不仅没有放弃,而且越研究越起劲。
)
Park编码
Park是名IBM的员工,在Yorktown上班。
他的业余爱好是……(Sorry,又差点跑题)
相比俄国人训练有素的数学功底,美国人既没有兴趣,也没有耐心再从算法上去优化“双重校验”的技术。
但是美国人讲求实际的思想还是挺值得称道。
这不,人家Park就说了,“研究了这么多算法,最终目的不就是坏两颗盘数据仍可恢复吗。
到头来算法搞得那么复杂,还不如我的看家本领——穷举法——更实在。
”
Park同志是这样说的,也是这样做的(凝重的音乐声响起~)
他编了一个程序,让计算机帮他搜索给定磁盘数量的校验分布模式。
结果你猜怎么着,人家还真有收获。
从3颗磁盘到38颗磁盘,除了8颗磁盘和9颗磁盘的情况,其他情况Park都找到了满足要求的校验分布模式。
什么?你问满足的是什么要求?两颗磁盘掉线数据可恢复啊。
汗!
后来,一个名叫徐力浩(音)的中国人补上了8颗盘和9颗盘的校验分布表。
(咱们中国人到底还是比米国人聪明那么一点点,哈~)
现在Park编码已经对从3颗到38磁盘的所有情况,都能给出双重校验分布方法。
但是各种分布方法之间根本没有联系,所以只能在给定磁盘数量的时候,去查Park编码表。
Park编码的样子都是以3个条带为一个“重复单元”,其中1个条带专门用来存校验,另外2个存数据。
本文由西安白癜风医院(/)网站负责人阿牧整理分享,转载请注明!。