Subject: Re: Many PCI IDE cards in one box, is this possible?
To: Brian Buhrow <buhrow@lothlorien.nfbcal.org>
From: Thor Lancelot Simon <tls@rek.tjls.com>
List: port-i386
Date: 01/16/2001 13:22:59
On Tue, Jan 16, 2001 at 10:10:23AM -0800, Brian Buhrow wrote:
> 	Hello folks.  We're trying to build a fairly large RAID array of IDE
> disks on a NetBSD 1.4.2 system using Promise Ultra DMA PCI IDE controllers.
>  We've got 3 Promise cards with 4 drives each, for a total of 12 drives for
> the array, plus the onboard Motherboard IDE for the boot disk.  The machine

This is a poor idea, because of the way UDMA IDE controllers work.  They
aren't really intelligent at all -- you ask them for blocks, and they
DMA them to you, then whack you with an interrupt when they're done.  They
don't have any buffering, and if a transfer can't get to you quick enough
because the PCI bus is in use by another device, everything stalls -- they
may even have to reissue commands to the disk, though I can't confirm that
this ever happens.

With disks that can go 30-40MB/sec, a maximum request size of 64K, and a 
maximum real-world PCI bus throughput in the 80-100MB/sec range due to
limited burst length, you'll see a *lot* of PCI bus contention, meaning
that those IDE controllers are all going to spend a *lot* of time idle.

In my experience, even with one disk per channel, I never do better than
about 50-60MB/sec with two disks; with four disks, throughput is *worse*
than with two, though obviously there are twice as many heads available
so random I/O does somewhat better.

Thor