| |
1978年,冗余独立硬盘阵列(RAID:Redundant Array of Independent Disks)的思想出现在IBM的专利中(见 http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PALL&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&r=1&f=G&l=50&s1=4,092,732.PN.&OS=PN/4,092,732&RS=PN/4,092,732),日后的RAID-5是以这项专利为基础的。而RAID的概念是1987年被提出(http://www.eecs.berkeley.edu/Pubs/TechRpts/1987/CSD-87-391.pdf),不过最初RAID是指冗余低价(inexpensive)硬盘阵列。
RAID的简介和各RAID等级的比较可见http://www.stor-age.com/zhuanti/htm2004/04033017YS4Y.asp,当前应用最广的是RAID-0,1,5。从信道编码的角度,不同等级的RAID采用了不同的编码方案:
如图所示,Ap是A1,A2,A3的校验块,即A1,A2,A3,Ap的模2和为零。如果4个硬盘中的一个出错,可由另外3个硬盘的内容来恢复出错盘。
如图所示,Ap是A1,A2,A3的校验块,即A1,A2,A3,Ap的模2和为零。B1,B2,B3,Bp的模2和为零,C1,C2,C3,Cp的模2和为零。Ap,Bp,Cp,Dp可以看作是信息阵列(A1,A2,A3; B1,B2,B3; C1,C2,C3; D1,D2,D3)的横向校验,而Aq,Bq,Cq,Dq的一种实现方案是对阵列进行纵向校验,即A1,B1,C1,D1,Aq的模2和为零,..., A3,B3,C3,D3,Dq的模2和为零。
单冗余校验码和双校验码的共同特点是编解码非常简单,通过模2和就可实现,而且它们的最小汉明距为冗余字长加1,d=n-k+1, 从而也被称为最大距离可分码(Maximum distance separable: MDS),即给定冗余字长, MDS码有最佳的纠错能力。可容许大於2个硬盘错误的方案也已被提出(扩展阵列码:Array code),不过,实现尽可能简单的编解码是这些理论研究成果走向应用的前提。