Subject: Re: Many PCI IDE cards in one box, is this possible?
To: None <tls@rek.tjls.com, port-i386@netbsd.org>
From: Brian Buhrow <buhrow@lothlorien.nfbcal.org>
List: port-i386
Date: 01/16/2001 10:33:57
	Yes, I appreciate that we're not going to get stellar performance, we're
not trying for that.  We just want lots of cheap raid disk for idle
storage.  Thanks for the heads up, though, since I'm not the most informed
when it comes to how the PCI bus works.
-Brian
On Jan 16,  4:22pm, Thor Lancelot Simon wrote:
} Subject: Re: Many PCI IDE cards in one box, is this possible?
} 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
>-- End of excerpt from Thor Lancelot Simon