On Thu, 8 Jan 2004, Rob Hooft wrote:
ECC is slower and more expensive, but it will prevent an eventual memory error from propagating into disk files thereby potentially corrupting data. This might be advisable to a project like Wikipedia, but only on database and/or file servers.
ECC memory is just as fast as non-ECC memory. In fact, they are exactly the same. ECC modules have more bits to accommodate the error correction bits. The actual correction data is handled in hardware by the motherboard chipset and is thus "free". We aren't in the world of 3-chip fake parity memory of yesturyear.
Memory bit faults are more likely to cause the machine to fail than corrupt data on disk. Having seen numerous ECC "corrected bit faults" from various machines and other non-ECC equiped machines simply panic or just hard lock, I highly recommend the added expense.
(And depending on the quality of your server hardware, you may be REQUIRED to use registered ECC memory.)
The only thing where I have personally seen that "expensive pays" is in SCSI vs. ATA (no experience with SATA): The SCSI protocol is so much smarter that it can be not 2 but 10 times faster than ATA if addressed in parallel by concurrent processes. An ftp server working with ATA that I have used would grind to a standstill whenever a backup was running....
To be fair, SCSI and modern ATA are basically the same command set. The difference is the physical layer. A SCSI bus will beat an IDE bus EVERY SINGLE TIME. SATA is much more closely aligned to SCSI, but until there are "native" SATA drives -- vs. IDE drives with integrate SATA<->IDE bridges, I'm staying away from them. (they do exist, it's nearly impossible to tell without using it.)
(FWIW, I can get 21MB/s from my maxtor IDE drives and 61MB/s from my seagate fibre channel drives. Seagate's latest 200GB drives get about 50MB/s, but I've not actually put one to task, yet.)
--Ricky