# RE: Raid5 Vs Raid0+1 -- Raw Vs Solaris 9 Concurrent Direct IO UFS

• From: "Cary Millsap" <cary.millsap@xxxxxxxxxx>
• To: <J.Velikanovs@xxxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
• Date: Thu, 9 Sep 2004 21:17:43 -0500

```> 1. Is 4W figure (in formula above) constant in context of RAID 5 array =
and

> not depend on spindles count? I suspect that it can be constant in any =

> RAID5 implementation. In case of 6 spindles block will be distributed =
as:
> Disk1 =3D> Block1
> Disk2 =3D> Block2
> Disk3 =3D> Block3
> Disk4 =3D> Checksum 123
> Disk5 =3D> Block4
> Disk6 =3D> Block5
> Disk1 =3D> Block6
> Disk2 =3D> Checksum 456
> Disk..
> Is my assumption correct?

First, it's not "checksum", it's "parity", defined as the XOR sum of the
corresponding bits on all the other devices in the group (array). =
Second, if
your group size is G=3D6, then you might see a stripe that looks like =
this
(below), but not the one you show above:

d1 =3D> b1
d2 =3D> b2
d3 =3D> xor(b1,b2,b4,b5,b6)
d4 =3D> b4
d5 =3D> b5
d6 =3D> b6

> 2. If we need to change one of 3 data blocks belonging to one RAID5 =
set,=20
> then controller/array/we need to make one write to this particular =
block +

> read 2 remaining block for check sum calculation + write check sum to =
4=20
> block. Do I understand correctly? So for writing one block into RAID5 =
we=20
> need 2W+2R. Or I am wrong?

If you have a G=3D3 RAID 5 array (not many will, but I'll go with the
assumption), then the physical cost of one small write will be 3 I/Os (3
writes). If you have G=3D4, then the cost of one small write will be 4 =
I/Os
(either 4 writes, or 2 reads and 2 writes, whichever the controller
decides). If you have G=3D5, then the cost of one small write will be 2 =
and 2 writes.

To be more thorough than before, if your average I/O (read/write) cost =
is C,
and if you have a read requirement of R reads/sec and a [small] write
requirement of W writes/sec, then the cost of your G-disk RAID 5 array =
is
going to be C * (R + (min(G,4)*W).

--
To unsubscribe - mailto:oracle-l-request@xxxxxxxxxxxxx&subject=unsubscribe
To search the archives - http://www.freelists.org/archives/oracle-l/
```