Could someone shed some light as to how the 2nd parity bit is calculated for both RAID-DP and RAID-6. Is it the same? I understand ,the only difference between RAID-6 and RAID-DP is that, the 2nd parity bit is distributed in raid-6 unlike Raid-Dp. But how is the 2nd parity bit calculated in both the case?
With regular RAID6, the parity information is striped over all disks in the RAID set, just like with RAID5.
With RAID-DP, the parity information is kept on dedicated drives, one for the "normal" parity information, and one for the "diagonal" parity information. Concept-wise it works just like RAID4, except there is an additional parity drive for the diagonal parity. The similarity in concept is why Ontap supports both RAID4 and RAID-DP, but not RAID5, btw.
Now, on non-Ontap systems, dedicated parity drives are a disadvantage because they tend to become the hotspot of the RAID set because they have to be written to for every single write that occurs, no matter how small those writes may be.
Ontap (or the WAFL filesystem, specifically) solves this by trying to make sure that writes occur across the whole stripe as much as possible. When you write the whole stripe at once, the parity drive only gets written to once as well and does not cause a bottleneck.
This only works when WAFL has enough free stripes to work with, though. This is the reason for the recommendation to not fill your aggregates past 80% or 90% or so.
The advantage of RAID-DP compared to regular RAID6 is that growing your RAID set is just a matter of adding drives, whereas with RAID6 you'd have to re-distribute all the data over the newly grown RAID, which takes ages, is error-prone and makes performance suffer.
Thank you very much for the reply, much appreciate it. So i went through the docs and i think i am correct in thinking that raid-6 and raid-dp the parity calculation is same,that is one horizontal and one diagonal parity. In Raid-6 the parity bit is distributed across disks wherese in RAID-DP the parity bit is dedicated. Correct me if i am wrong.