<br><br><div><span class="gmail_quote">On 6/6/07, <b class="gmail_sendername">Phil Thayer</b> &lt;<a href="mailto:phil.thayer@vitalsite.com">phil.thayer@vitalsite.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">




<div>
<div dir="ltr" align="left"><font color="#0000ff" face="Arial" size="2"><span>This is an interesting idea.&nbsp; You would still have 
the vulnerability of a stripeset with &quot;A&quot; and &quot;B&quot; where a failure of a single 
disk would cause the loss of data from two&nbsp; stripesets.&nbsp; Not sure I 
would want that.&nbsp; If your concerned about utilizing all the drive space on 
disk drives with different sizes you may be SOL on that unless you use&nbsp;a 
SAN disk virtualization methodology.</span></font></div></div></blockquote><div><br>I guess I didn&#39;t explain that well:<br><br>D1 AAAAAAA<br>D2 AAAAAAABB<br>D3 AAAAAAABB<br>...<br>DN AAAAAAABBZZZZZ<br><br>The As represent data that is MIRRORED across all N drives, not STRIPED, while the Bs are only MIRRORED across drives 2-N, because D1 isn&#39;t big enough to cover that area.&nbsp; We start with mirroring and use it until the space is used that way, at which point we start converting to RAID-5 striping.
<br>&nbsp;<br>If the same XOR is on two disks, it does NOT provide the same functionality.<br><br>Let&#39;s say we have 6 drives, and we use 4 data blocks and two parity blocks:<br><br>&nbsp;D1 D2 D3 D4 P1 P2<br>If I lose any ONE of the data blocks, I can recover it by XORing the remaining 3 data blocks with a parity block.&nbsp; But if&nbsp; I lose two data blocks, I&#39;m screwed.&nbsp; I can tell what the XOR of corresponding bits in those two blocks are, but there&#39;s no way to know if a 0 was 0^0 or 1^1, or a 1 was 1^0 or 0^1.&nbsp;&nbsp; 
<br><br>Now, if P1 were the XOR of all four, and P2 were only D1^D2, the two of them together could generate D3^D4 that would help if one lost drive were D1 or D2 and the other were D3 or D4, but not if D1 and D2, or D3 and D4, or P1 and either D3 or D4 were the two lost.
<br><br>And the case of P1=D1^D2 and P2=D3^D4 is simply two RAID 5&#39;s striped together (as &#39;RAID 50&#39;?).<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div dir="ltr" align="left"><font color="#0000ff" face="Arial" size="2"><span>As for figuring out the second parity calculation on 
RAID 6, what the manufacturers are realizing is that they don&#39;t necessarily have 
to have a different parity algorithm to calculate the second parity.&nbsp; 
Simply putting the same XOR parity data on two separate disks will provide the 
same RAID 6 functionality as having a second parity calculation with lower 
overhead on controllers.&nbsp; The old KISS methodology is coming back into 
play.&nbsp; I think you will see more and more of the manufacturers going this 
route.</span></font></div>
<div dir="ltr" align="left"><font color="#0000ff" face="Arial" size="2"><span></span></font>&nbsp;</div>
<div dir="ltr" align="left"><font color="#0000ff" face="Arial" size="2"><span>Phil</span></font></div></div></blockquote></div><br>