Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Aug 2004 09:16:08 +0200
From:      "Poul-Henning Kamp" <phk@phk.freebsd.dk>
To:        "Greg 'groggy' Lehey" <grog@FreeBSD.org>
Cc:        Wilko Bulte <wb@freebie.xs4all.nl>
Subject:   Re: RAID-3? 
Message-ID:  <12437.1092899768@critter.freebsd.dk>
In-Reply-To: Your message of "Thu, 19 Aug 2004 16:37:16 %2B0930." <20040819070716.GS85432@wantadilla.lemis.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <20040819070716.GS85432@wantadilla.lemis.com>, "Greg 'groggy' Lehey"
 writes:

>> Every write takes exactly the same amount of time.
>
>Which, including aggregate seek time, is longer than for RAID-5,
>because more disks are involved.

RAID3 is within epsilon of the single disk because all the disks
work in unison.  (Spindle-sync is a good idea btw).

>> There is no waiting for data to be read off of any disks.
>
>Sure there is.  There's always waiting for data to be read off disks.
>That's part of the way disks are built.  You've got to seek first,
>then you've got to get the head over the data.  That's why I said that
>RAID-3 is only useful for sequential transfers.

You're wrong.  RAID-3 is good for normal usage.  The point is that
you don't have to do the complicated "I have disk1 in my cache but
that is not the parity and not the one I'm writing so I need to
read 2,3 and the parity which is 4 and then write my data to disk
5 and calculate and update the parity on 4" dance.

RAID3 works by:

    A write-request:
	first 1/4 goes to disk1
	second 1/4 goes to disk2
	third 1/4 goes to disk3
	fourth 1/4 goes to disk4
	Calculate parity send to disk 5

    A read-request:
	read 1st 1/4 from disk1
	read 2nd 1/4 from disk2
	read 3rd 1/4 from disk3
	read 4th 1/4 from disk4
	read parity from disk5 and check

And that is _all_ there is to it.

>Note, of course, that RAID-5 is relatively good on reading.  The big
>disadvantage of RAID-5 is when you write.

RAID3 doesn't suffer and is very predictable in either mode.

>Of course it has.  Once you spread your data out over more than one
>disk, you need some kind of mapping.  What we're talking about here
>appears to be an implicit one sector stripe size, though the original
>paper talked of a stripe size of one byte.

Forget the original paper.  Original papers are full of things
people have not found out yet.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk@FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?12437.1092899768>