Nicolas Williams wrote:
On Tue, Jan 30, 2007 at 06:41:25PM +0100, Roch - PAE wrote:
I think I got the point. Mine was that if the data travels a
single time toward the storage and is corrupted along the
way then there will be no hope of recovering it since the
array was given bad data. Having the data travel twice is a
benefit for MTTDL.
Well, this is certainly true, so I missed your point :)
This technique is used in many situations where the BER is non-zero
(pretty much always) and the data is very important. For example,
consider command sequences being sent to a deep space probe -- you
really, really, really want the correct commands to be received, so
you use ECC and repeat the commands many times. There are mathematical
models for this. Slow? Yes. Correct? More likely.
Mirroring would help. A mirror with RAID-Z members would only double
the I/O and still provide for combinatorial reconstruction when the
errors arise from bit rot on the rotating rust or on the path from the
RAID HW to the individual disks, as opposed to on the path from the host
to the RAID HW. Depending on the relative error rates this could be a
useful trade-off to make (plus, mirroring should halve access times
while RAID-Z, if disk heads can be synchronized and the disks have
similar geometries, can provide an N multiple increase in bandwidth,
though I'm told that disk head synchronization is no longer a common
feature).
One of the benefits of ZFS is that not only is head synchronization not
needed, but also block offsets do not have to be the same. For example,
in a traditional mirror, block 1 on device 1 is paired with block 1 on
device 2. In ZFS, this 1:1 mapping is not required. I believe this will
result in ZFS being more resilient to disks with multiple block failures.
In order for a traditional RAID to implement this, it would basically
need to [re]invent a file system.
-- richard
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss