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>
