Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Oct 2001 16:37:30 -0700
From:      Mike Smith <msmith@freebsd.org>
To:        Scott Long <scott_long@btc.adaptec.com>
Cc:        Alexey Koptsevich <alex@astro.su.se>, scsi@freebsd.org, msmith@mass.dis.org
Subject:   Re: Adaptec 3210S: RAID5 performance and bus throughput 
Message-ID:  <200110122337.f9CNbUk05018@mass.dis.org>
In-Reply-To: Message from Scott Long <scott_long@btc.adaptec.com>  of "Fri, 12 Oct 2001 16:56:03 MDT." <20011012165603.D469@hollin.btc.adaptec.com> 

next in thread | previous in thread | raw e-mail | index | archive | help

> 
> RAID5 read performance will be almost identical to RAID0 read performance.
> Write performace will be considerably less because it involves more than
> just writing to one disk; if you are writing a piece of data that is less
> than the size of a full stripe, you will also have to read the parity
> disk, compute the parity, and then write out the data plus the parity.

This is (often but not always) correct, but misleading.

RAID5 parity is typically byte-parallel, ie. if you have N disks and
you are writing one byte, you only actually *need* to read N-1 bytes
(one from each of the disks to which you are not writing) to compute
the parity, and write 2 bytes.

The read/write stripe size issue arises from the way that internal
caching is often handled; many adapters will only *ever* do I/O in
terms of a stripe-sized block.  This is feature of the adapter, not a 
RAID5 requirement.  

Some adapters don't behave like this; eg. Mylex use a tunable cache
line size which is always an integral fraction of the stripe size and
do all their I/Os in terms of multiples of the cache line size
(typically 8k).  Again, for an write of size X on N disks, you need to do
at most N-1 reads of size X, and two writes of size X. 

This still bites, of course, and it's why stripe size is still an
important factor.

HTH
Mike


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




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